TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
OpenTSDB技術內幕(簡體書)
滿額折
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)
OpenTSDB技術內幕(簡體書)

OpenTSDB技術內幕(簡體書)

人民幣定價:79 元
定  價:NT$ 474 元
優惠價:87412
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書主要以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中的插件及工具類實現原理。

作者簡介

百里燊,碩士研究生畢業,小時候想成為闖蕩江湖的俠客,結果著迷於各種代碼,最終淪為辛勤工作的程序員。期待與大家進行交流。郵箱:shen_baili@163.com

前 言


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。此外,還簡單介紹了其他幾個工具類的功能。
如果讀者在閱讀本書的過程中,發現任何不妥之處,請將您寶貴的意見和建議發送到郵箱shen_baili @163.com,也歡迎讀者朋友通過此郵箱與筆者進行交流。
致謝
感謝電子工業出版社博文視點的陳曉猛老師,是您的辛勤工作讓本書的出版成為可能。同時,還要感謝許多我不知道名字的幕後工作人員為本書付出的努力!
感謝三十在技術上提供的幫助。
感謝小魚同學,是你讓我看到了星辰大海。
感謝我的母親,謝謝您的付出和犧牲!

目次

目 錄


第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 本章小結

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區