时序数据库连载系列:Berkeley 的黑科技 BTrDB
本文是对面向 IoT 领域的开源时序数据库 BTrDB 内部实现细节的研究和介绍。
1. 场景介绍
BTrDB 论文中介绍了一个实际的项目,能很好解释清楚 BTrDB 的设计初衷和适用场景:
在一个电网中大量部署了某类传感器,每个传感器会产生 12 条时间线,每条时间线频率为 120Hz(即每秒 120 个点),时间精度为 100ns;由于各种原因,传感器数据传输经常性出现延迟、(时间)乱序等。BTrDB 在该场景下单机能支撑 1000 个类似的传感器,写入速率约 1.44M points/s。
该项目有这样几个特点:
1. 时间线在很长时间内有一定的不变性,其生命周期跟(IoT)设备周期一致
2. 数据频率很高(120 Hz)且固定
3. 数据的时间分辨率很高(100ns级别),一般如Druid,TimescaleDB 时间精度最多做到