HBase應用大神:OpenTSDB時序式資料庫詳解

  • 館長推薦
? 快來將您對閱讀的熱情和對書籍的想法分享給所有讀友,每完成一篇讀者書評並審核通過者,即可獲得讀者書評點數,點數還可換電子禮券唷!
分享:

商品訊息

  • 追蹤分類 ? 追蹤分類後,您會在第一時間收到分類新品通知。
  • 作者: 百里燊 追蹤作者 ? 追蹤作者後,您會在第一時間收到作者新書通知。
  • 出版社: 深智數位 追蹤出版社 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
  • 出版日:2019/9/18
  • ISBN:9789869807265
  • 適讀年齡:
  • 定價: 680
  • 特價: 79 537
  • 紅利可抵: 16 ? 除單一商品售價低於50元或特價折扣低於3折(含)以下者,其餘商品均可使用紅利點數。
  • 到店取貨: ? 『金石堂』門市取貨免運費。
    『全家、OK、萊爾富、掌櫃』滿350元,免運費;350元以下,運費20元。
    宅配: ? 滿1,000元,免運費
    490元-999元,運費50元
    490元以下,運費65元
  • 配送地區: 全球、 香港OK、 台澎金馬
  • 付款方式: ATM、 信用卡、 LINE Pay、 街口帳戶支付、 貨到付款、 PayPal、 FamiPort、 取貨付款
  • 預計 2019/10/14 出貨 參考庫存量:2 查詢門市庫存 ? 若您欲在金石堂門市購買商品,請選擇欲查看庫存之門市。網頁之「庫存狀態」僅供參考,實際貨況以門市為準。

強力推薦

內容簡介

OpenTSDB 是一個分散式、可伸縮的時間序列資料庫,其底層儲存以HBase 為主,目前版本也支援Cassandra等儲存。正因為其底層儲存依賴於HBase,其寫入效能和可擴充性都獲得了保障。OpenTSDB 支援多tag 維度查詢,支援毫秒級的時序資料。

本書共 8 章,主要從原始程式角度深入剖析OpenTSDB 的原理和實現。

包括OpenTSDB的網路層、OpenTSDB中UniqueId元件的原理、OpenTSDB如何實現時序資料的存儲及相關優化、OpenTSDB如何實現時序資料的查詢、OpenTSDB中的中繼資料及Tree結構的實現和功能、OpenTSDB中的外掛程式及工具類實現原理內容。

各章之間的內容相對獨立,對OpenTSDB 有一定了解的讀者可以有目標地選擇合適的章節開始閱讀。

本書主要以OpenTSDB 的最新版本(2.3.1 版本)為基礎介紹。       
                              
本書主要內容:
■ 快速入門
■ 網路層   
■ UniqueId
■ 資料儲存
■ 資料查詢
■ 中繼資料
■ Tree
■ 外掛程式及工具類別
適合讀者群:對時序資料庫感興趣的讀者。

本書特色

OpenTSDB 是一個分散式、可伸縮的時間序列資料庫,本書從原始程式角度深入剖析OpenTSDB 的原理和實現。

作者

百里燊

資訊碩士,小時候想成為闖蕩江湖的俠客,結果沉迷於程式碼,最終成為辛苦工作的程式設計師。
目前關注各種開放原始碼時序資料庫,期待與大家一起進步。

目錄

01快速入門
1.1 時序資料簡介
1.2 時序資料庫
1.3 快速入門
1.4 本章小結
1.4 統計與科學

02網路層
2.1 Java NIO 基礎
2.2 Netty 基礎
2.3 OpenTSDB 網路層
2.4 本章小結

03 UniqueId
3.1 tsdb-uid 表設計
3.2 UniqueId
3.3 UIDMeta
3.4 本章小結

04資料儲存
4.1 TSDB 表設計
4.2 TSDB
4.3 寫入資料
4.4 Compaction
4.5 CompactionQueue
4.6 UID 相關方法
4.7 本章小結

05資料查詢
5.1 DataPoint 介面
5.2 DataPoints 介面
5.3 RowSeq
5.4 Span
5.5 SpanGroup
5.6 DownsamplingSpecification
5.7 Downsampler
5.8 TagVFilter
5.9 TSQuery
5.10 TSSubQuery
5.11 TsdbQuery
5.12 TSUIDQuery
5.13 Rate 相關
5.14 本章小結

06中繼資料
6.1 tsdb-meta 表
6.2 TSMeta
6.3 Annotation
6.4 本章小結

07 Tree
7.1 tsdb-tree 表設計
7.2 Branch
7.3 Leaf
7.4 TreeRule
7.5 Tree 中繼資料
7.6 TreeBuilder
7.7 本章小結

08 外掛程式及工具類別
8.1 外掛程式概述
8.2 常用外掛程式分析
8.3 外掛程式載入流程
8.4 常用工具類別
8.5 本章小結

序/導讀

前言

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 表的結構。然後,深入剖析了OpenTSD 二元樹狀結構中核心元件的實現。最後,深入分析了建置一個完整Tree 的過程。

第8 章主要介紹了OpenTSDB 提供的外掛程式系統和常用工具類別的實現原理。首先,介紹了OpenTSDB 外掛程式的公共設定及一些共通性特徵。然後,針對OpenTSDB 常用的外掛程式介面進行了介紹。接著,分析了OpenTSDB 載入外掛程式的大致流程。最後,詳細分析了OpenTSDB 中常用的三個工具類別的實現,分別是TextImporter、DumpSeries 及Fsck。此外,還簡單介紹了其他幾個工具類別的功能。

如果讀者在閱讀本書的過程中,發現任何不妥之處,請將您寶貴的意見和建議發送到電子郵件shen_baili @163.com,也歡迎讀者朋友透過此電子郵件與筆者進行交流。

致謝

感謝電子工業出版社博文視點的陳曉猛老師,還有許多我不知道名字的工作人員為本書付出的努力!

感謝三十在技術上提供的幫助。

感謝小魚同學,是你讓我看到了星辰大海。

感謝我的母親,謝謝您的付出和犧牲!

詳細資料

詳細資料

    • 編/譯者
    • 語言
    • 中文繁體
    • 規格
    • 平裝
    • ISBN
    • 9789869807265
    • 分級
    • 普通級
    • 開數
    • 頁數
    • 464
    • 出版地
    • 台灣
    • 適讀年齡

訂購須知

下載『金石堂APP』並開啟推播設定,隨時掌握出貨動態:

Google play
App Store

    商品運送說明:

  • 本公司所提供的產品配送區域範圍目前僅限台灣本島。注意!收件地址請勿為郵政信箱。
  • 商品將由廠商透過貨運或是郵局寄送。消費者訂購之商品若無法送達,經電話或 E-mail無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
  • 當廠商出貨後,您會收到E-mail及APP出貨通知,您也可透過【訂單查詢】確認出貨情況。
  • 建議您可下載『金石堂APP』並開啟推播設定,即可收到出貨通知。
  • 產品顏色可能會因網頁呈現與拍攝關係產生色差,圖片僅供參考,商品依實際供貨樣式為準。
  • 如果是大型商品(如:傢俱、床墊、家電、運動器材等)及需安裝商品,請依商品頁面說明為主。訂單完成收款確認後,出貨廠商將會和您聯繫確認相關配送等細節。
  • 偏遠地區、樓層費及其它加價費用,皆由廠商於約定配送時一併告知,廠商將保留出貨與否的權利。

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

預計 2019/10/14 出貨 參考庫存量:2 查詢門市庫存?

34