分布式时序数据库QTSDB的设计与实现
奇技指南 现有的开源时序数据库influxdb只支持单机运行,在面临大量数据写入时,会出现查询慢,机器负载高,单机容量的限制。 为了解决这一问题,360基础架构团队在单机influxdb的基础上,开发了集群版——QTSDB QTSDB 简述 QTSDB是一个分布式时间序列数据库,用于处理海量数据写入与查询。实现上,是基于开源单机时序数据库influxdb 1.7开发的分布式版本,除了具有influxdb本身的特性之外,还有容量扩展、副本容错等集群功能。 主要特点如下: 为时间序列数据专门编写的高性能数据存储, 兼顾写入性能和磁盘空间占用; 类sql查询语句, 支持多种统计聚合函数; 自动清理过期数据; 内置连续查询,自动完成用户预设的聚合操作; Golang编写,没有其它的依赖, 部署运维简单; 节点动态水平扩展,支持海量数据存储; 副本冗余设计,自动故障转移,支持高可用; 优化数据写入,支持高吞吐量; 系统架构 逻辑存储层次结构 influxdb架构层次最高是database,database下边根据数据保留时长不同分成了不同的retension policy,形成了databa...






