-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

OpenTSDB技術內幕

( 簡體 字)
作者:百里燊類別:1. -> 資料庫 -> 綜合
譯者:
出版社:電子工業出版社OpenTSDB技術內幕 3dWoo書號: 50761
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:3/1/2019
頁數:360
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121360237
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

OpenTSDB是一個分布式、可伸縮的時間序列數據庫,其底層存儲以HBase為主(這也是筆者使用的存儲),當前版本也支持Cassandra等存儲。正因為其底層存儲依賴于HBase,其寫入性能和可擴展性都得到了保證。OpenTSDB支持多tag維度查詢,支持毫秒級的時序數據。OpenTSDB主要實現了時序數據的存儲和查詢功能,其自帶的前端界面比較簡單,筆者推薦使用強大的前端展示工具Grafana。另外,OpenTSDB也提供了豐富的插件接口,可以幫助開發人員對其進行擴展,在本書中也會進行詳細介紹。
如何閱讀本書
由于篇幅限制,本書并沒有詳細介紹Java語言的基礎知識,但為便于讀者理解OpenTSDB的設計思想和實現細節,筆者希望讀者對Java語言的基本語法有一定的了解。
本書共8章,主要從源碼角度深入剖析OpenTSDB的原理和實現。各章之間的內容相對獨立,對OpenTSDB有一定了解的讀者可以有目標地選擇合適的章節開始閱讀,當然也可以從第1章開始向后逐章閱讀。本書主要以OpenTSDB的最新版本(2.3.1版本)為基礎進行介紹。
第1章介紹時序數據庫的基本特征,并列舉了比較熱門的開源時序數據庫產品及一些云廠商的時序數據庫產品。接下來介紹了OpenTSDB的基礎知識,以及OpenTSDB中最常用的API,其中重點分析了put和query這兩個核心接口。最后分析了OpenTSDB源碼中提供的AddDataExample和QueryExample兩個示例。
第2章深入分析OpenTSDB的網絡層實現,其中介紹了Netty 3的基礎知識,以及OpenTSDB網絡層如何使用Netty。另外,本章介紹了OpenTSDB網絡層中所有的HttpRpc實現,重點介紹了PutDataPointRpc和QueryRpc兩個HttpRpc實現。
第3章簡略說明了OpenTSDB使用HBase存儲時序數據的大體設計,尤其介紹了RowKey的設計中UID的原理和作用。本章具體分析了HBase中tsdb-uid表的設計,以及UniqueId組件管理UID的功能。
第4章主要介紹了OpenTSDB存儲時序數據的相關組件及其具體實現。首先分析了OpenTSDB中存儲時序數據的TSDB表的設計,其中涉及RowKey的設計、列名的格式及不同格式的列名對應的數據類型。之后又簡單介紹了OpenTSDB中的壓縮優化、追加模式及Annotation存儲相關的內容。接下來,深入分析了TSDB這一核心類的關鍵字段、初始化過程,以及寫入時序數據的具體實現。最后深入分析了OpenTSDB中壓縮優化方面的具體實現,其中涉及Compaction和CompactionQueue兩個組件的具體實現。
第5章主要介紹了OpenTSDB查詢時序數據的相關組件。首先,介紹了OpenTSDB查詢時涉及的一些基本接口類和實現類。然后,深入分析了OpenTSDB在查詢過程中對時序數據的抽象,其中涉及RowSeq、Span及SpanGroup等組件。接下來,繼續分析了OpenTSDB在查詢時序數據的過程中涉及的其他組件。最后,分析了TSQuery、TSSubQuery等核心查詢組件的具體實現。
第6章主要介紹了OpenTSDB中元數據的相關內容。首先,介紹了存儲TSMeta元數據的tsdb-meta表的RowKey設計及整張tsdb-meta表的結構。然后,分析了TSMeta類的核心字段、增刪改查TSMeta元數據的具體實現。
第7章主要介紹了OpenTSDB中Tree(樹形結構)相關的實現。首先,簡單介紹了Tree中關鍵組成部分的概念及tsdb-tree表的結構。然后,深入剖析了OpenTSDB樹形結構中核心組件的實現。最后,深入分析了構建一個完整Tree的過程。
第8章主要介紹了OpenTSDB提供的插件體系和常用工具類的實現原理。首先,介紹了OpenTSDB插件的公共配置及一些共性特征。然后,針對OpenTSDB常用的插件接口進行了介紹。接著,分析了OpenTSDB加載插件的大致流程。最后,詳細分析了OpenTSDB中常用的三個工具類的實現,分別是TextImporter、DumpSeries及Fsck。此外,還簡單介紹了其他幾個工具類的功能。
如果讀者在閱讀本書的過程中,發現任何不妥之處,請將您寶貴的意見和建議發送到郵箱,也歡迎讀者朋友通過此郵箱與筆者進行交流。
致謝
感謝電子工業出版社博文視點的陳曉猛老師,是您的辛勤工作讓本書的出版成為可能。同時,還要感謝許多我不知道名字的幕后工作人員為本書付出的努力!
感謝三十在技術上提供的幫助。
感謝小魚同學,是你讓我看到了星辰大海。
感謝我的母親,謝謝您的付出和犧牲!
內容簡介:

本書主要以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 本章小結
序: