TimescaleDB 0.9.0 发布,基于 PgSQL 的时序数据库

局长
 局长
发布于 2018年03月06日
收藏 7

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

TimescaleDB 架构

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

该版本值得关注的变更

  • Streamlined update process for smaller binary/package sizes

  • Significant refactoring to simplify and improve codebase, including
    improvements to error handling, security/permissions, and more

  • Corrections to edge-case scenarios involving dropping schemas,
    hypertables, dimensions, and more

  • Correctness improvements through propagating reloptions from main
    table to chunk tables and blocking ONLY commands that try to alter
    hypertables (i.e., changes should be applied to chunks as well)

  • Addition of a migrate_data option to create_hypertable to allow
    non-empty tables to be turned into hypertables without separate
    creation & insertion steps. Note, this option may take a while if the
    original table has lots of data

  • Support for ALTER TABLE RENAME CONSTRAINT

  • Support for adjusting the number of partitions for a space dimension

  • Improvements to tablespace handling

下载地址:https://github.com/timescale/timescaledb/releases/tag/0.9.0

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:TimescaleDB 0.9.0 发布,基于 PgSQL 的时序数据库
加载中

精彩评论

Feng_Yu
Feng_Yu

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入

引用来自“蓝水晶飞机”的评论

时序数据库主要是做什么呢?主要是基于窗口的实时计算?
时间序列数据库(Time Series DataBase——TSDB)啊,这一类数据现在非常普遍,典型的时序数据就是日志。这一类数据通常都有几个共性,数据量大,通常不要求实时分析,带有一个重要的时间戳字段,统计通常都是基于时间分段统计,等等等等。

时序数据库解决的就是时序数据处理的痛点,比如底层数据会自动分表,提供丰富的时间聚合函数,提供常见的分析统计报表功能。目前市面几个常见的时序数据库: influxdb(集群功能企业版支持), openTSDB(基于HBase), Graphite等等,另外某些优化过的数据库也可以做时序数据库使用,比如mongodb,ElasticSearch等等,你自己针对时戳进行优化,底层自己分表,也可以用作时序数据库。timescaledb是postgresql的扩展,针对timestamp字段会自动进行优化,标记为时序数据的表会自动在底层进行分表,目前集群还不支持,但是官方说未来会支持。

最新评论(7

乌龟壳
乌龟壳

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入

引用来自“蓝水晶飞机”的评论

时序数据库主要是做什么呢?主要是基于窗口的实时计算?

引用来自“Feng_Yu”的评论

时间序列数据库(Time Series DataBase——TSDB)啊,这一类数据现在非常普遍,典型的时序数据就是日志。这一类数据通常都有几个共性,数据量大,通常不要求实时分析,带有一个重要的时间戳字段,统计通常都是基于时间分段统计,等等等等。

时序数据库解决的就是时序数据处理的痛点,比如底层数据会自动分表,提供丰富的时间聚合函数,提供常见的分析统计报表功能。目前市面几个常见的时序数据库: influxdb(集群功能企业版支持), openTSDB(基于HBase), Graphite等等,另外某些优化过的数据库也可以做时序数据库使用,比如mongodb,ElasticSearch等等,你自己针对时戳进行优化,底层自己分表,也可以用作时序数据库。timescaledb是postgresql的扩展,针对timestamp字段会自动进行优化,标记为时序数据的表会自动在底层进行分表,目前集群还不支持,但是官方说未来会支持。

引用来自“乌龟壳”的评论

pg_pathman + fdw就是支持多数据库集群按时间key进行自动分片(hash)的解决方案
等到pg 10成熟一点了pathman应该能被pg官方功能代替掉,更省心了
再加上一些自定义函数,应该就能实现TimescaleDB的功能了吧
感觉专门为时序数据库做一个专用插件意义不大,徒增复杂度

引用来自“Feng_Yu”的评论

理论上来说你完全可以基于任意一个DB做针对于时序数据的优化。比如我们一直用HBase做时序数据库,看中了它的大数据的吞吐量。

TimescaleDB的插件在于不挑PG版本(某个版本以上的PG都支持),内置了timestamp优化,内置分表等等,几乎开箱即用,常用的时间聚合函数都提供好了,减少了很多自己维护的工作量。如果你有能力自己设计时序数据的存储,以及自己写各种时序数据聚合函数的话,完全不依赖插件也没有任何问题。工具这玩意还是要为生产力服务的。
https://blog.timescale.com/time-series-data-postgresql-10-vs-timescaledb-816ee808bac5
这个文章做了比较深入的比较,然而这只是反映了pg10的分区功能不够完善而已,比pg_pathman还不如。我还是坚持分区这种事情就不应该是某个领域专用的插件去做,分区还有很多需要考虑的,事务一致性,分布式集群等最好通用化去处理。TimescaleDB像PostGIS一样提供很多实庸函数和索引类型那些就够了。
Feng_Yu
Feng_Yu

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入

引用来自“蓝水晶飞机”的评论

时序数据库主要是做什么呢?主要是基于窗口的实时计算?

引用来自“Feng_Yu”的评论

时间序列数据库(Time Series DataBase——TSDB)啊,这一类数据现在非常普遍,典型的时序数据就是日志。这一类数据通常都有几个共性,数据量大,通常不要求实时分析,带有一个重要的时间戳字段,统计通常都是基于时间分段统计,等等等等。

时序数据库解决的就是时序数据处理的痛点,比如底层数据会自动分表,提供丰富的时间聚合函数,提供常见的分析统计报表功能。目前市面几个常见的时序数据库: influxdb(集群功能企业版支持), openTSDB(基于HBase), Graphite等等,另外某些优化过的数据库也可以做时序数据库使用,比如mongodb,ElasticSearch等等,你自己针对时戳进行优化,底层自己分表,也可以用作时序数据库。timescaledb是postgresql的扩展,针对timestamp字段会自动进行优化,标记为时序数据的表会自动在底层进行分表,目前集群还不支持,但是官方说未来会支持。

引用来自“乌龟壳”的评论

pg_pathman + fdw就是支持多数据库集群按时间key进行自动分片(hash)的解决方案
等到pg 10成熟一点了pathman应该能被pg官方功能代替掉,更省心了
再加上一些自定义函数,应该就能实现TimescaleDB的功能了吧
感觉专门为时序数据库做一个专用插件意义不大,徒增复杂度
理论上来说你完全可以基于任意一个DB做针对于时序数据的优化。比如我们一直用HBase做时序数据库,看中了它的大数据的吞吐量。

TimescaleDB的插件在于不挑PG版本(某个版本以上的PG都支持),内置了timestamp优化,内置分表等等,几乎开箱即用,常用的时间聚合函数都提供好了,减少了很多自己维护的工作量。如果你有能力自己设计时序数据的存储,以及自己写各种时序数据聚合函数的话,完全不依赖插件也没有任何问题。工具这玩意还是要为生产力服务的。
乌龟壳
乌龟壳

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入

引用来自“蓝水晶飞机”的评论

时序数据库主要是做什么呢?主要是基于窗口的实时计算?

引用来自“Feng_Yu”的评论

时间序列数据库(Time Series DataBase——TSDB)啊,这一类数据现在非常普遍,典型的时序数据就是日志。这一类数据通常都有几个共性,数据量大,通常不要求实时分析,带有一个重要的时间戳字段,统计通常都是基于时间分段统计,等等等等。

时序数据库解决的就是时序数据处理的痛点,比如底层数据会自动分表,提供丰富的时间聚合函数,提供常见的分析统计报表功能。目前市面几个常见的时序数据库: influxdb(集群功能企业版支持), openTSDB(基于HBase), Graphite等等,另外某些优化过的数据库也可以做时序数据库使用,比如mongodb,ElasticSearch等等,你自己针对时戳进行优化,底层自己分表,也可以用作时序数据库。timescaledb是postgresql的扩展,针对timestamp字段会自动进行优化,标记为时序数据的表会自动在底层进行分表,目前集群还不支持,但是官方说未来会支持。
pg_pathman + fdw就是支持多数据库集群按时间key进行自动分片(hash)的解决方案
等到pg 10成熟一点了pathman应该能被pg官方功能代替掉,更省心了
再加上一些自定义函数,应该就能实现TimescaleDB的功能了吧
感觉专门为时序数据库做一个专用插件意义不大,徒增复杂度
Feng_Yu
Feng_Yu

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入

引用来自“蓝水晶飞机”的评论

时序数据库主要是做什么呢?主要是基于窗口的实时计算?
时间序列数据库(Time Series DataBase——TSDB)啊,这一类数据现在非常普遍,典型的时序数据就是日志。这一类数据通常都有几个共性,数据量大,通常不要求实时分析,带有一个重要的时间戳字段,统计通常都是基于时间分段统计,等等等等。

时序数据库解决的就是时序数据处理的痛点,比如底层数据会自动分表,提供丰富的时间聚合函数,提供常见的分析统计报表功能。目前市面几个常见的时序数据库: influxdb(集群功能企业版支持), openTSDB(基于HBase), Graphite等等,另外某些优化过的数据库也可以做时序数据库使用,比如mongodb,ElasticSearch等等,你自己针对时戳进行优化,底层自己分表,也可以用作时序数据库。timescaledb是postgresql的扩展,针对timestamp字段会自动进行优化,标记为时序数据的表会自动在底层进行分表,目前集群还不支持,但是官方说未来会支持。
蓝水晶飞机
蓝水晶飞机

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗

引用来自“Feng_Yu”的评论

这个是时序数据库。目前还不支持集群,未来版本会引入
时序数据库主要是做什么呢?主要是基于窗口的实时计算?
Feng_Yu
Feng_Yu

引用来自“蓝水晶飞机”的评论

基于 PG 的实时、流计算那不是还有个 PipelineDB 吗
这个是时序数据库。目前还不支持集群,未来版本会引入
蓝水晶飞机
蓝水晶飞机
基于 PG 的实时、流计算那不是还有个 PipelineDB 吗
返回顶部
顶部