伴随制造,交通,能源,智慧城市等物联网的兴起,时序数据库作为重要的服务也迎来的新的发展。

概念

1辆车1天会产生将近8T的数据,且大量的数据不仅要来存储,还需要进行对维度的复合查询。这就要求时序数据库快速写入,持久化和多维度聚合操作。

  • metric:度量,相当于关系数据库中的table。
  • data point:数据点,相当于关系型数据库中的row。
  • timestamp:时间戳
  • field:如位置这个度量包括京都和纬度两个field,一般情况下存放随时间变化的属性。
  • tag:标签/附加信息,存放不随时间变化的属性。一般timestamp+tag可以作为table的primary key。

时序数据库基本概念和特点

存储方式

传统数据库使用B tree方式存储,会浪费大量的时间在磁盘寻道上,使用LSM tree有很大的优势。
分布式存储的分片方法

  • 哈希分片:这种方法实现简单,均衡性较好,但是集群不易扩展。
  • 一致性哈希:这种方案均衡性好,集群扩展容易,只是实现复杂。代表有Amazon的DynamoDB和开源的Cassandra。
  • 范围划分:通常配合全局有序,复杂度在于合并和分裂。代表有Hbase。

时序数据库基本概念和特点

时序数据库根据metric+tags分片是比较好的一种方式,因为往往会按照一个时间范围查询,这样相同metric和tags的数据会分配到一台机器上连续存放,顺序的磁盘读取是很快的。考虑时序数据时间范围很长的情况,需要根据时间范围再将分成几段,分别存储到不同的机器上,这样对于大范围时序数据就可以支持并发查询,优化查询速度。

时序数据库基本概念和特点

 

相关文章: