基于PostgreSQL的时序数据库TimescaleDB(上)
Posted PostgreSQLChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于PostgreSQL的时序数据库TimescaleDB(上)相关的知识,希望对你有一定的参考价值。
什么是时序数据库?顾名思义,用于处理按照时间变化顺序的数据的数据库即为时序数据库(time-series database)。
时序数据库专门优化处理带时间标签的数据,为什么会衍生时序数据库这一种新趋势呢?我们知道像PostgreSQL和mysql这种关系型数据库对于短期需求不大的情况下下还是可以满足的,但是一旦数据量增长,其性能不足以支持频繁的添加和读取需求。
运用时间模型来构造的应用非常需要时序数据库的加持,包括未来大数据的趋势,时序数据库必然会成为一个新潮流。
今天的主角TimescaleDB在DB-Engines中排名的处于第5位,并且在增长状况上一直处于上升的趋势,其中不乏PostgreSQL的占有率提高而导致其增长的一部分原因,因为本质上它是PostgreSQL的一个插件,除了其本身丰富强大的功能外,TimescaleDB 完全支持 SQL 且拥有 PostgreSQL 的丰富生态。
TimescaleDB 是目前市面上唯一一款开源的时间序列数据库,且完全支持SQL。官方称之为“Full SQL”,它像传统的关系数据库一样易于使用,并且可以按以前为 NoSQL 数据库保留的方式进行扩展。
它依赖于PostgreSQL,拥有坚如磐石的可靠性以及最大量级的开发人员、管理工具和生态系统。包含以下特性和优点:
-
完整的SQL以及强大的分析功能,没有限制
-
以PostgreSQL扩展的方式安装,支持已有的PostgreSQL特性
-
拥有高基数的工作负载
-
基于时序优化
-
自动分片(自动按时间、空间分片(chunk))
-
写入能力强大,每秒写入百万级的数据点
-
支持多个 SERVER,多个 CHUNK 的并行查询
-
简化堆栈并将关系数据与时间序列数据一起存储
-
支持自动的按时间保留策略
对于TimescaleDB来说,在功能的丰富程度上战胜了排名更靠前的几位选手,但是对于性能上可能处于下风,因此TimescaleDB如何持续地发展下去、如何发展的更好,除了探寻在性能等综合素质方面的提升外,在PostgreSQL的肩膀上怎么样更好地适应现代化需求才是重中之重。
以上是关于基于PostgreSQL的时序数据库TimescaleDB(上)的主要内容,如果未能解决你的问题,请参考以下文章
基于PostgreSQL的时序数据库TimescaleDB(下)