●章 快速入門
1.1 時序數據簡介
1.2 時序數據庫
1.3 快速入門
1.3.1 基礎知識
1.3.2 HBase簡介
1.3.3 源碼環境搭建
1.3.4 HTTP接口
1.3.5 示例分析
1.4 本章小結
第2章 網絡層
2.1 Java NIO基礎
2.2 Netty基礎
2.2.1 ChannelEvent
2.2.2 Channel
2.2.3 NioSelector
2.2.4 ChannelBuffer
2.2.5 Netty 3示例分析
2.3 OpenTSDB網絡層
2.3.1 TSDMain入口
2.3.2 PipelineFactory工廠
2.3.3 ConnectionManager
2.3.4 DetectHttpOrRpc
2.3.5 RpcHandler分析
2.3.6 RpcManager
2.3.7 HttpRpc接口
2.3.8 拾遺
2.4 本章小結
第3章 UniqueId
3.1 tsdb-uid表設計
3.2 UniqueId
3.2.1 分配UID
3.2.2 查詢UID
3.2.3 UniqueIdAllocator
3.2.4 UniqueIdFilterPlugin
3.2.5 異步分配UID
3.2.6 查詢字符串
3.2.7 suggest方法
3.2.8 刪除UID
3.2.9 重新分配UID
3.2.10 其他方法
3.3 UIDMeta
3.4 本章小結
第4章 數據存儲
4.1 TSDB表設計
4.1.1 壓縮優化
4.1.2 追加模式
4.1.3 Annotation
4.2 TSDB
4.3 寫入數據
4.4 Compaction
4.5 CompactionQueue
4.6 UID相關方法
4.7 本章小結
第5章 數據查詢
5.1 DataPoint接口
5.2 DataPoints接口
5.3 RowSeq
5.4 Span
5.5 SpanGroup
5.5.1 AggregationIterator
5.5.2 Aggregator
5.6 DownsamplingSpecification
5.7 Downsampler
5.8 TagVFilter
5.9 TSQuery
5.10 TSSubQuery
5.11 TsdbQuery
5.11.1 初始化
5.11.2 findSpans()方法
5.11.3 創建Scanner
5.11.4 ScannerCB
5.11.5 GroupByAndAggregateCB
5.11.6 SaltScanner
5.12 TSUIDQuery
5.13 Rate相關
5.14 本章小結
第數據
6.1 tsdb-meta表
6.2 TSMeta
6.3 Annotation
6.4 本章小結
第7章 Tree
7.1 tsdb-tree表設計
7.2 Branch
7.3 Leaf
7.4 TreeRule
7.5 T數據
7.6 TreeBuilder
7.7 本章小結
第8章 插件及工具類
8.1 插件概述
8.2 常用插件分析
8.2.1 SearchPlugin插件
8.2.2 RTPublisher插件
8.2.3 StartupPlugin擴展
8.2.4 HttpSerializer插件
8.2.5 HttpRpcPlugin擴展
8.2.6 WriteableDataPointFilterPlugin&UniqueIdFilterPlugin
8.2.7 TagVFilter擴展
8.3 插件加載流程
8.4 常用工具類
8.4.1 數據導入
8.4.2 數據導出
8.4.3 Fsck工具
8.4.4 其他工具簡介
8.5 本章小結
本書主要以OpenTSDB的很新版本(2.3.1版本)為基礎進行介紹。章從OpenTSDB的入門開始,介紹市面上多種時序數據庫和雲端時序數據庫,OpenTSDB的基礎概念、源碼環境搭建及Grafana的基本使用等。第2章主要介紹OpenTSDB的網絡層,涉及Java NIO基礎、Netty基本使用,分析了OpenTSDB網絡層的架構和實現。第3章介紹OpenTSDB中UniqueId組件的原理,主要講解如何實現UID與字符串之間的映射。第4章介紹OpenTSDB如何實現時序數據的存儲及相關優化。第5章介紹OpenTSDB如何實現時序數據的查詢,其中分析了OpenTSDB查詢中每個步驟的實現。第6章和第7章主要介紹OpenTSD數據及Tree結構的實現和功能。第8章主要分析OpenTSDB中的插件及工具類實現原理。