TimescaleDB开源时序数据库
TimescaleDB 是基于 PostgreSQL 数据库开发的一款时序数据库,以插件化的形式打包提供,随着 PostgreSQL 的版本升级而升级,不会因为另立分支带来麻烦。
TimescaleDB 架构
数据自动按时间和空间分片(chunk)
TimescaleDB 具有以下特点
1. 基于时序优化
2. 自动分片(自动按时间、空间分片(chunk))
3. 全 SQL 接口
4. 支持垂直于横向扩展
5. 支持时间维度、空间维度自动分区。空间维度指属性字段(例如传感器 ID,用户 ID 等)
6. 支持多个 SERVER,多个 CHUNK 的并行查询。分区在 TimescaleDB 中被称为 chunk。
7. 自动调整 CHUNK 的大小
8. 内部写优化(批量提交、内存索引、事务支持、数据倒灌)。
内存索引,因为 chunk size 比较适中,所以索引基本上都不会被交换出去,写性能比较好。
数据倒灌,因为有些传感器的数据可能写入延迟,导致需要写以前的 chunk,timescaleDB 允许这样的事情发生(可配置)。
9. 复杂查询优化(根据查询条件自动选择 chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit 子句 pushdown 到不同的 server,chunks,并行的聚合操作)
10. 利用已有的 PostgreSQL 特性(支持 GIS,JOIN 等),方便的管理(流复制、PITR)
11. 支持自动的按时间保留策略(自动删除过旧数据)
示例代码
Creating a hypertable
-- We start by creating a regular SQL table CREATE TABLE conditions ( time TIMESTAMPTZ NOT NULL, location TEXT NOT NULL, temperature DOUBLE PRECISION NULL, humidity DOUBLE PRECISION NULL ); -- Then we convert it into a hypertable that is partitioned by time SELECT create_hypertable('conditions', 'time');
评论
Riak TS开源时序数据库
RiakTS是专门面向时序数据处理的产品。它支持时序数据的快速写入和查询。此外,RiakTS的特性还包括:支持数据聚集和算术运算操作,通过Spark连接器与ApacheSpark的集成,对Java、E
Riak TS开源时序数据库
0
TDengine时序数据库
TDengine是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达TB甚至PB级的数据得到高效实时的处理,对业务的运行
TDengine时序数据库
0
KDB+时序数据库
kdb+是一个面向列的时序列数据库,以及专门为其设计的查询语言q(和他们的域名一样简短)。Kdb+混合使用了流、内存和实时分析,速度很快,支持分析10亿级别的记录以及快速访问TB级别的历史数据。
KDB+时序数据库
0