TimescaleDB 开源时序数据库

程序名称:TimescaleDB

授权协议: Apache-2.0

操作系统: 跨平台

开发语言: C/C++

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');

TimescaleDB 官网

http://www.timescale.com/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


SchemaCrawler提供一组用于增强标准JDBC Metadata的API.SchemaCrawler还包含一个命令行工具能够将数据库结构和数据以一种易读的形式输出.
ER Master 是一个用于设计ER模型图的Eclipse插件。提供的功能包括:从数据库导入关系生成ER图,导出设计图,导出DDL数据定义语句等。目前完整支持的数据库包括
Eclipse下用于画数据库ER图的插件,主要特性如下: 图形化编辑ER图 从数据库结构中导入ER图
PowerDesigner 是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner
Mogwai ERDesigner NG是一个实体关系建模工具类似于ERWin。它设计成让数据库建模变得尽可能简易并为整个开发过程提供支持,从数据库设计到模式
Power*Architect 是一个数据建模工具,主要用在数据仓库和数据集市的模型设计。
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL
DbWrench 是一个数据库设计和同步软件,为数据库开发人员提升生产率,可轻松的创建和修改数据库。
是一个采用Python开发的使用ER图的数据库建模工具
CA公司的数据库建模工具 (非开源) ,为你提供一个易于使用的用户界面(UI)环境,简化数据库设计过程,并将许多令人疲惫的任务自动化,如创建高性能事务和数据仓库数据库。这是一款可以和PowerDesigner并驾齐驱的
Altova MapForce® 2008是您首选的数据综合和网络服务器实现工具。它可以通过映射数据源到WSDLO操作的方法,实现多种文件之间的转化,包括XML文件, 数据库文件,
一个用Java开发的可视化数据库设计工具,支持JDBC 2.0的数据库
一个图形化的数据库模型浏览工具,SchemaSpy analyzes database metadata to reverse engineer
从事软件开发多年,感觉数据库在整个软件开发过程中扮演一个不可或缺的角色。一旦一个业务项目进入立项阶段,需要支持哪些数据库平台,如何使用该种数据库平台都将成为架构师需要考虑的内容,对于一般的开发人员,
Middlegen一个免费数据库驱动(database-driven)的代码生成引擎。它基于JDBC,Velocity,Ant和XDoclet.
Ermodeller是一个用于数据建模的CASE工具。该工具支持概念建模和逻辑建模,并在最后生成特定数据库的物理模型。支持的数据库包括:MySQL、PotgreSQL、Oracle、Pointbase,对其它数据库的支持需要通过XML文件自定义
GMOD is the G eneric M odel O rganism D atabase project, a collection of open source software tools for creating and managing genome-
pgDesigner 是一个为PostgreSQL数据库设计的建模工具
Enterprise Architect是一款计算机辅助软件工程(CASE)工具,用于设计和构建软件系统、业务流程建模及更多通用的建模。
mybatis 通用 basedao,含自动生成通用 XMLMapper。 可通过此工具自动生成 Mybatis XML 文件和 dao 的 class 类