新數倉系列:Hbase周邊生態梳理(1)

大數據前幾年各種概念爭論很多,NoSQL/NewSQL,CAP/BASE概念一堆堆的,現在這股熱潮被AI接過去了。大數據真正落地到車聯網,分控,各種數據分析等等具體場景。

概念很高大上,搞得久了就會發現,大部分都還是數據倉庫的衍伸,所以我們稱呼這個為“新數倉”。

數據庫存儲模型簡述

HBASE+Solr實現詳單查詢

本文簡單梳理下其中一個應用比較廣的HBASE的生態,可能不全。具體HBASE的基本原理掃描大家可以自行百度下,另外,要系統掌握HBASE,推薦看下《HBASE權威指南》。

1 Kerberos

什么是Kerberos?

Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography.

簡單地說,Kerberos是一種認證機制,通過密鑰系統為客戶端/服務器應用程序提供強大的認證服務。

Kerberos存在的意義

在Hadoop1.0.0或者CDH3 版本之前,并不存在安全認證一說。默認集群內所有的節點都是可靠的,值得信賴的。用戶與HDFS或者M/R進行交互時并不需要進行驗證。導致存在惡意用戶偽裝成真正的用戶或者服務器入侵到hadoop集群上,惡意的提交作業,修改JobTracker狀態,篡改HDFS上的數據,偽裝成NameNode 或者TaskTracker接受任務等。盡管在版本0.16以后, HDFS增加了文件和目錄的權限,但是并沒有強認證的保障,這些權限只能對偶然的數據丟失起保護作用。惡意的用戶可以輕易的偽裝成其他用戶來篡改權限,致使權限設置形同虛設,不能夠對Hadoop集群起到安全保障。

在Hadoop1.0.0或者CDH3版本后,加入了Kerberos認證機制。使得集群中的節點就是它們所宣稱的,是信賴的。Kerberos可以將認證的密鑰在集群部署時事先放到可靠的節點上。集群運行時,集群內的節點使用密鑰得到認證。只有被認證過節點才能正常使用。企圖冒充的節點由于沒有事先得到的密鑰信息,無法與集群內部的節點通信。防止了惡意的使用或篡改Hadoop集群的問題,確保了Hadoop集群的可靠安全。

Kerberos的工作原理

·Client向KDC發送自己的身份信息,完成認證,獲取TGT(ticket-granting ticket)

·Client利用之前獲得的TGT向KDC請求其他Service的Ticket,從而通過其他Service的身份鑒別

① Client將之前獲得的TGT和要請求的服務信息發送給KDC

② KDC生成用于訪問該服務的Session Ticket發給Client。 Session Ticket使用KDC與Service之間的密鑰加密

③ Client將剛才收到的Ticket轉發到Service。由于Client不知道KDC與Service之間的密鑰,所以它無法篡改Ticket中的信息

④ Service 收到Ticket后利用它與KDC之間的密鑰將Ticket中的信息解密出來,驗證Client的身份。

2 Phoenix

Phoenix最早是saleforce的一個開源項目,后來成為Apache基金的頂級項目。

Phoenix是構建在HBase上的一個SQL層,能讓我們用標準的JDBC APIs而不是HBase客戶端APIs來創建表,插入數據和對HBase數據進行查詢。

put the SQL back in NoSQL

Phoenix完全使用Java編寫,作為HBase內嵌的JDBC驅動。Phoenix查詢引擎會將SQL查詢轉換為一個或多個HBase掃描,并編排執行以生成標準的JDBC結果集。直接使用HBase API、協同處理器與自定義過濾器,對于簡單查詢來說,其性能量級是毫秒,對于百萬級別的行數來說,其性能量級是秒。

HBase的查詢工具有很多,如:Hive、Tez、Impala、Spark SQL、Phoenix等。

Phoenix通過以下方式使我們可以少寫代碼,并且性能比我們自己寫代碼更好:

·將SQL編譯成原生的HBase scans。

·確定scan關鍵字的最佳開始和結束

·讓scan并行執行

·...

3 多維查詢kylin

Apache Kylin?是一個開源的分布式分析引擎,提供Hadoop之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規模數據,最初由eBay Inc. 開發并貢獻至開源社區。它能在亞秒內查詢巨大的Hive表。

Kylin相當于給HBASE提供了一個多為查詢的SQL能力。

4 時序列數據庫OpenTSDB

OpenTSDB ,可以認為是一個時系列數據(庫),它基于HBase存儲數據,充分發揮了HBase的分布式列存儲特性,支持數百萬每秒的讀寫,它的特點就是容易擴展,靈活的tag機制。

其最主要的部件就是TSD了,這是接收數據并存儲到HBase處理的核心所在。而帶有C(collector)標志的Server,則是數據采集源,將數據發給 TSD服務。

5 地理數據處理套件GeoMesa

GeoMesa 是由locationtech開源的一套地理大數據處理工具套件。其可在分布式計算系統上進行大規模的地理空間查詢和分析。使用GeoMesa開源幫助用戶管理、使用來自于物聯網、社交媒體、手機應用的海量的時空(spatio-temporal)數據。

GeoMesa支持將海量的時空數據存儲到Accumulo,HBase,Google Bigtable和Cassandra數據庫中,并提供高效的索引來讀取、查詢這些數據。并支持通過指定空間條件(距離和范圍)來快速查詢。另外GeoMesa還基于Apache Kafka提供了時空數據的近實時流處理功能。

通過和GIS Server(GeoServer)的整合, GeoMesa 提供了通過標準OGC接口(WMS/WFS)訪問數據的能力,通過這些接口,用戶可以方便對GeoMesa處理的數據進行展示和分析,比如查詢、直方圖、時間序列分析等。

為什么選擇GeoMesa

能夠存儲和處理海量時空數據

支持實時性強、需要快速讀寫的數據

支持spark分析

支持水平擴展

通過GeoServer提供地圖服務,并支持Common Query Language (CQL)

項目地址

http://www.geomesa.org/

授權

GeoMesa使用Apache License Version 2.0協議。

http://apache.org/licenses/LICENSE-2.0.html

6 圖數據庫JanusGraph

Titan在停止更新了很長一段時間后,fork出了JanusGraph繼續開源發展。JanusGraph是一個圖形數據庫引擎。JanusGraph本身專注于緊湊的圖形序列化、豐富的圖形數據建模和高效的查詢執行。此外,JanusGraph利用Hadoop進行圖形分析和批處理圖處理。JanusGraph實現了健壯的模塊化接口,用于數據持久性、數據索引和客戶端訪問。JanusGraph的模塊化體系結構允許它與廣泛的存儲、索引和客戶端技術進行互操作;它還簡化了擴展JanusGraph以支持新用戶的過程。

在JanusGraph和磁盤之間,有一個或多個存儲和索引適配器。JanusGraph以以下適配器為標準,但是JanusGraph的模塊化體系結構支持第三方適配器

JanusGraph 體系結構

1、JanusGraph的應用分為批處理(OLAP)和流式計算(OLTP)

2、批處理(OLAP),常用在大數據平臺使用Spark、Giraph、Hadoop工具使用

3、流式計算(OLTP),使用TinkerPop中的Traversal(遍歷)工具使用

4、數據可以存儲到Cassandra、Hbase、BerkeleyDB中

5、外部查詢索引存儲到ElasticSearch、Solr、Lucene中

寫在最后:本文主要簡單總結下Hbase周邊配合生態,提供SQL接口,多維查詢能力,以及用于車聯網,時序,地理數據處理等。

轉自《大數據和云計算技術》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,505評論 2 379