LinDB  - 分布式时序数据库
小码哥 2019-08-17 14:45:38

LinDB 是一个开源时间序列数据库,提供高性能,高可用性和水平可扩展性。

LinDB 存储饿了吗公司的所有监控数据,每天有 88TB 增量写入和 2.7PB 总原始数据。

高性能

LinDB 采用了很多 TSDB 的最佳实践,并根据时间序列数据的特征实现了一些优化。与为 InfluxDB 编写大量 Continuous-Query 不同,LinDB 在创建数据库后会自动支持特定时间间隔的汇总。此外,LinDB 对于分布式时间序列数据的并行查询和计算来说非常快。

多活动 IDC

LinDB 旨在在多活动 IDC 云架构下运行。 LinDB 的计算层(称为代理)支持高效的 Multi-IDC 聚合查询。

高可用性

LinDB 使用 ETCD 集群来确保元数据高度可用且安全存储。如果发生故障,WAL 的多通道复制协议将避免数据不一致的问题:

1)。每个复制通道中只有一个人负责数据的权限,因此不会发生冲突;

2)。数据可靠性得到保证:只要未在旧的领导者中复制的数据没有丢失,它就会被复制到其他复制,而旧的领导者再次在线;

水平可扩展性

LinDB 中基于标签的分片策略解决了热点问题,只需添加新的代理和存储节点即可实现水平扩展。

指标的治理能力

为了确保系统的健壮性,LinDB 不假设用户已经理解使用度量的最佳实践,因此,LinDB 提供了基于度量标准粒度和标记粒度来限制不友好用户的能力。

LinDB 架构

界面截图: