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工作負載,以及交易
這包括使用社交和移動資料的互動和意見結構化和半結構化資料的混合物。
這些限制。市場有越來越多的興趣和壓力結合Hadoop的好處以顯著降低成本,以擁抱這些工作負載在Hadoop的生態系統。
隨著業務的工作負載代表的業務需求,它們通常由交易的不斷流動,需要低延遲響應時間對於讀/寫訪問。此外,這些工作負載的特點是:
•與ACID相容保護資料的完整性
•高可用性,併發性和可擴充套件性
•多結構化資料
•快速變化的資料需求
特性
•在多個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查詢工作臺。
產品說明
惠普已經作為一個開源專案推出了Trafodion,並釋出在Apache許可證2.0版下。Trafodion現在可以幫助您評估Trafodion的能力,並開始證明
概念和原型效果。Trafodion檔案和下載包中包含了安裝程式和可執行程式碼,可在www.trafodion.org。
相關文章
- @Transactional
- Phoenix:在HBase上執行SQL查詢SQL
- 【Spring】@Transactional 閒聊Spring
- Hbase(二)Hbase常用操作
- 3.3.4 Shutting Down with the Transactional Mode
- Java開啟事務(@Transactional)Java
- 【IT老齊070】@Transactional注意
- 用 Phoenix 通過 SQL 語句更新操作 HBase 資料SQL
- HBase 教程:什麼是 HBase?
- HBase篇--HBase常用優化優化
- hbase - [04] java訪問hbaseJava
- HBase
- HBase篇--HBase操作Api和Java操作Hbase相關ApiAPIJava
- HBase 系列(五)——HBase常用 Shell 命令
- Spring @Transactional註解淺談Spring
- 四、事務拓撲(Transactional Topolgoy)Go
- Hbase單機部署 java連線HbaseJava
- Hbase篇--Hbase和MapReduce結合ApiAPI
- hbase之 Hbase shell 常用命令
- HBase框架框架
- Hbase原理
- HBase初探
- Spring 踩坑之@Transactional 神奇失效Spring
- Spring宣告式事務@Transactional使用Spring
- 11.日誌和事務@Transactional
- @Transactional 四種不生效的 case 分析
- transactional replication 的immediate_sync屬性
- 內部呼叫@Transactional 註解的方法
- Spring中@Transactional事務使用陷阱Spring
- Spring中@Transactional與@Async共同使用Spring
- HBase篇--搭建HBase完全分散式叢集分散式
- hbase與phoenix整合(使用phoenix操作hbase資料)
- HBase實操:HBase-Spark-Read-Demo 分享Spark
- HBase學習之二: hbase分頁查詢
- Spring @Transactional 宣告式事務揭祕Spring
- @Transactional spring 配置事務 注意事項Spring
- 【Spring註解】事務註解@TransactionalSpring
- 關於事務回滾註解@Transactional