OpenTSDB技術內幕

OpenTSDB技術內幕

《OpenTSDB技術內幕》書中詳細介紹了OpenTSDB的使用和深層次原理,包括OpenTSDB的網路層、OpenTSDB中UniqueId組件的原理、OpenTSDB如何實現時序數據的存儲及相關最佳化、OpenTSDB如何實現時序數據的查詢、OpenTSDB中的元數據及Tree結構的實現和功能、OpenTSDB中的外掛程式及工具類實現原理內容。

基本介紹

  • 書名:OpenTSDB技術內幕
  • 作者:百里燊
  • ISBN:978-7-121-36023-7
  • 頁數:360
  • 定價:79
  • 出版社:電子工業出版社
  • 出版時間:2019-03
  • 裝幀:平裝
  • 開本:16
內容提要,目錄,如何閱讀本書,

內容提要

OpenTSDB是一個分散式、可伸縮的時間序列資料庫,其底層存儲以HBase為主(這也是筆者使用的存儲),當前版本也支持Cassandra等存儲。正因為其底層存儲依賴於HBase,其寫入性能和可擴展性都得到了保證。OpenTSDB支持多tag維度查詢,支持毫秒級的時序數據。
《OpenTSDB技術內幕》主要以OpenTSDB的最新版本(2.3.1版本)為基礎進行介紹。第1章從OpenTSDB的入門開始,介紹市面上多種時序資料庫和雲端時序資料庫,OpenTSDB的基礎概念、源碼環境搭建及Grafana的基本使用等。第2章主要介紹OpenTSDB的網路層,涉及Java NIO基礎、Netty基本使用,分析了OpenTSDB網路層的架構和實現。第3章介紹OpenTSDB中UniqueId組件的原理,主要講解如何實現UID與字元串之間的映射。第4章介紹OpenTSDB如何實現時序數據的存儲及相關最佳化。第5章介紹OpenTSDB如何實現時序數據的查詢,其中分析了OpenTSDB查詢中每個步驟的實現。第6章和第7章主要介紹OpenTSDB中的元數據及Tree結構的實現和功能。第8章主要分析OpenTSDB中的外掛程式及工具類實現原理。

目錄

第1章 快速入門
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章 元數據
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 Tree元數據
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 本章小結

如何閱讀本書

由於篇幅限制,本書並沒有詳細介紹Java語言的基礎知識,但為便於讀者理解OpenTSDB的設計思想和實現細節,筆者希望讀者對Java語言的基本語法有一定的了解。
本書共8章,主要從源碼角度深入剖析OpenTSDB的原理和實現。各章之間的內容相對獨立,對OpenTSDB有一定了解的讀者可以有目標地選擇合適的章節開始閱讀,當然也可以從第1章開始向後逐章閱讀。本書主要以OpenTSDB的最新版本(2.3.1版本)為基礎進行介紹。

相關詞條

熱門詞條

聯絡我們