TimescaleDB 开源时序数据库开源项目

我要开发同款
匿名用户2017年09月07日
132阅读
开发技术C/C++
所属分类数据库相关、时序数据库
授权协议Apache-2.0

作品详情

TimescaleDB是基于PostgreSQL数据库开发的一款时序数据库,以插件化的形式打包提供,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。

TimescaleDB架构

数据自动按时间和空间分片(chunk)

TimescaleDB具有以下特点

1.基于时序优化

2.自动分片(自动按时间、空间分片(chunk))

3.全SQL接口

4.支持垂直于横向扩展

5.支持时间维度、空间维度自动分区。空间维度指属性字段(例如传感器ID,用户ID等)

6.支持多个SERVER,多个CHUNK的并行查询。分区在TimescaleDB中被称为chunk。

7.自动调整CHUNK的大小

8.内部写优化(批量提交、内存索引、事务支持、数据倒灌)。

内存索引,因为chunksize比较适中,所以索引基本上都不会被交换出去,写性能比较好。

数据倒灌,因为有些传感器的数据可能写入延迟,导致需要写以前的chunk,timescaleDB允许这样的事情发生(可配置)。

9.复杂查询优化(根据查询条件自动选择chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit子句pushdown到不同的server,chunks,并行的聚合操作)

10.利用已有的PostgreSQL特性(支持GIS,JOIN等),方便的管理(流复制、PITR)

11.支持自动的按时间保留策略(自动删除过旧数据)

示例代码

Creatingahypertable

-- We start by creating a regular SQL tableCREATE 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 timeSELECT create_hypertable('conditions', 'time');
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论