Trafodion: Transactional SQL on HBase
數據庫
HBase上實時分佈式事務處理編程
介紹
架構
HBase的SQL能力一直不足。Phoenix缺少Join能力,eBay提出的kylin還不夠簡潔,facebook Presto的HBase鏈接器還沒公開。併發
那麼,Trafodion來了。它在HBase上提供了標準SQL功能,並支持事務OLTP。Trafodion是HP的開源舉措。培養在惠普實驗室和HP-IT開發一個企業級的SQL上的HBase解決方式。惠普擁有超過20年的積累,針對大數據的事務或業務工做負載,已經開發事務的SQL技術進入數據庫technologyand解決方式。 Trafodion給Hadoop的生態系統帶來了這一核心技術。要了解不少其它關於起源和項目的名稱,請訪問:分佈式
目標工做負載
Hadoop的工做負載,從長期執行的批處理模式。到跨越例如如下圖所看到的的以低延時工做負載。性能
在右側被視爲很適合的Hadoop的三類分析工做,所以也獲取了最多的關注。與此相反,定義爲「運營」最左邊的工做是一類新工做負載。它包含OLTP工做負載,以及交易
大數據
這包含使用社交和移動數據的交互和意見結構化和半結構化數據的混合物。優化
隨着業務的工做負載表明的業務需求,它們一般由交易的不斷流動,需要低延遲響應時間對於讀/寫訪問。此外,這些工做負載的特色是:
•與ACID兼容保護數據的完整性
•高可用性,併發性和可擴展性
•多結構化數據
•高速變化的數據需求
特性
spa
Trafodion提供下面功能以支持Hadoop的事務性工做:
•在多個SQL語句,表和行上ACID兼容的分佈式事務保護
•豐富的。全功能的ANSI SQL語言支持使用ODBC/ JDBC鏈接接口
•經過利用編譯時和執行時優化以提升性能
•Trafodion打算使用並行感知的大型數據集查詢優化器以提供Hadoop的的全部功能生態系統:
•經過HBase的列家族提供的架構靈活性結構
•在Hadoop的版本號支持快照功能
•高可用性和災難恢復支持,複製和快照功能
長處
Trafodion提供了一個全功能的HBase解決方式。優化全事務的SQL上的數據庫管理系統的事務性的數據保護。
這些功能有助於克服了Hadoop在支持方面事務性工做的弱點。
使用Trafodion, 客戶能得到例如如下優勢:
•能夠利用SQL專長 &複雜的MapReduce編程現有的事務性應用程序
•無縫支持已經存在的應用程序
•可以開發下一代高可擴展性,實時性事務處理應用
•下降數據延遲下降分析工做負載
也能得到Hadoop生態系統內在的下面優勢:
•減小基礎設施成本
•大規模的可擴展性和彈性顆粒
•提升數據可用性和災難恢復保護
架構
第一層是客戶服務。應用程序經過標準的ODBC/JDBC訪問Trafodion數據庫。
第二層是Trafodion提供一個關於HBase的頂部模式關係SQL抽象,封裝了所有需要管理Trafodion數據庫對象服務。這些服務包含鏈接管理,事務管理,優化計劃生成和運行。Trafodion產生並聯一個成熟的查詢優化器查詢計劃,而無需複雜的MapReduce編程。
第三層是存儲引擎由標準的hadoop服務,包含HBase的,HDFS和動物園管理員。Trafodion數據庫對象存儲在本地的Hadoop(HBase的/HDFS)數據庫構。 Trafodion處理SQL語句的請求映射到本地HBase的透明表明應用程序的調用。
創新的關鍵
Trafodion的分佈式事務管理(DTM)的組成部分提供了從事務的多個SQL語句。多個表或多個行的單一表的多重保護。此外,TrafodionDTM經過多個HBase區域配置利用傳統的兩階段提交協議。 對橫跨集羣的分佈式集羣提供了保護。DTM提供了支持隱式(本身主動提交)。並明白(BEGIN,COMMIT,ROLLBACK WORK)事務控制。
Trafodion對不一樣的事務性工做供了不少編譯時和執行時的優化,從對於OLTP類交易的單個訪問到運營報告高度複雜SQL語句。
演示樣例用例:OpenCart應用
OpenCartwhich是一個免費的開源電子商務平臺,已被改動爲運行Trafodion的SQL語句,而不是默認的數據庫(MySQL的)的接口。
這是一個很是好的程序,以典型的OLTP工做負載特性。
前兩張圖顯示的是惠普的購物車OpenCart的變化。最後兩個圖說明了工做量和查詢 - 等級分析使用Trafodion查詢工做臺。