Transwarp Inceptor提供完整的SQL支持,支持主流的SQL模塊化擴展,兼容通用開發框架和工具,支持事務特性保證數據的準確性,允許多租戶的隔離與管理,能夠利用內存或者SSD來加速數據的讀取,支持與關係型資料庫實時對接並做統計分析,輔以高性能的SQL執行引擎,從而能夠給企業提供高性價比和高度可擴展的解決方案。
SQL編譯器 SQL 2003 Compiler
企業級數據倉庫、數據集市等應用大多基於SQL來開發,而Hadoop業界的產品大部分對SQL的兼容程序比較差,或者不支持SQL的模塊化擴展,因而應用遷移的成本非常高,甚至是不具備可行性。
為了降低應用遷移成本,Transwarp Inceptor開發了完整的SQL編譯器,支持ANSI SQL 92和SQL 99標準, 並且支持ANSI SQL 2003 OLAP核心擴展,可以滿足絕大部分現有的數據倉庫業務對SQL的要求,方便應用平滑遷移。
除了更好的SQL語義分析層以外,Inceptor包含強大的優化器保證SQL在引擎上有最佳的性能。Inceptor包含3級優化器:首先是基於規則的優化器,應用靜態優化規則並生成一個邏輯執行計劃,其次是基於成本的優化器,通過衡量多個不同執行計劃的CPU,IO和網絡成本,來選擇一個更合理的計劃並生成物理執行計劃;最後是代碼生成器,對一些比較核心的執行邏輯生成更高效的執行代碼或者Java Byte Code,從而保證SQL業務在分布式平臺上有最佳性能。、
存儲過程編譯器 PL/SQL Compiler
國內現有的數據倉庫應用大都基於SQL 2003,而且大量使用存儲過程來構建複雜應用。因此除了SQL編譯器以外,Transwarp Inceptor還包含存儲過程編譯器用於對存儲過程的編譯和執行。
Inceptor支持Oracle PL/SQL 和 DB2 SQL PL兩大主流SQL標準,包括完整的數據類型、流程控制、Package、遊標、異常處理以及動態SQL執行,並且支持在存儲過程中做高速統計,增刪改查與分布式事務操作。因此,有了存儲過程編譯器的補充,Inceptor可以滿足絕大部分數據應用的從關係型資料庫到Inceptor平臺的遷移。
除了SQL語法層面的支持,存儲過程編譯器包含一個完整的優化器,包含CFG Optimizer,Parallel Optimizer,和DAG Optimizer。CFG Optimizer對存儲過程中的代碼進行優化,完成循環展開,冗餘代碼消除,函數內聯等主要優化。Parallel Optimizer將一些原本串行的邏輯做並行化處理,利用集群的計算能力來提高整體執行速度,對一些關鍵的功能如遊標的性能提升非常明顯。DAG Optimizer會根據生成的DAG圖二次優化,生成更合理的物理執行計劃,重點降低了shuffle等任務開銷。
為了有效的和其他資料庫兼容,Inceptor支持通過不同的方言設置來隔離不同的SQL標準之間的差異,從而避免數據計算和處理標準的二義性,因此保證數據處理的正確性。
事務管理單元 Transaction Manager
為了更好的滿足數據倉庫業務場景的需求,Inceptor提供完整的增刪改SQL支持,允許從多數據源中加工數據。同時為了有效的保證數據處理的準確性,Inceptor提供了分布式事務的支持,保證了處理過程中數據的ACID,即原子性、一致性、隔離性和持久性。
Inceptor支持以Begin Transaction啟動事務,以commit或者rollback來結束事務。事務管理單元通過兩階段封鎖協議和MVCC來實現一致性和隔離性的控制,支持Serializable Snapshot Isolation隔離級別,因而可以保證並發情況下的事務一致性。
Inceptor支持SQL 2003中關於增刪改查部分的語義規範,支持Insert,Update,Delete,Truncate以及Merge Into原語,支持單條或者從其他數據表以及嵌套查詢中更新數據表,並且內置一致性檢查功能以防止非法改動。
通過SQL編譯器的優化,增刪改SQL執行計劃通過分布式引擎在集群中並發執行,系統整體的吞吐率能夠達到關係資料庫的數倍,能夠滿足批處理業務的高吞吐率要求。另外,通過合理的資源規劃,Inceptor在做數據的增刪改的同時,允許租戶對數據做高速的統計分析。
分布式內存列式存儲 Holodesk
了加速交互式分析的速度,Inceptor推出了基於內存或者SSD的列式存儲引擎Holodesk。Holodesk將數據在內存或者SSD中做列式存儲,輔以基於內存的執行引擎,可以完全避免IO帶來的延時,極大的提高數據掃描速度。
除了列式存儲加快統計分析速度,Holodesk支持為數據欄位構建分布式索引。通過智能索引技術為查詢構建最佳查詢方案,Inceptor可以將SQL查詢延時降低到毫秒級。
Holodesk允許用戶對多欄位組合構建OLAP-Cube,並將cube直接存儲於內存或者SSD上,無需額外的BI工具來構建Cube,因此對於一些複雜的統計分析和報表交互查詢,Holodesk能夠實現秒級的反應。
除了性能優勢,Holodesk在可用性方面也表現出色。Holodesk的元數據和存儲都原生支持高可用性,通過一致性協議和多版本來支持異常處理和災難恢復。在異常情況下,Holodesk能夠自動恢復重建所有的表信息和數據,無需手工恢復,從而減少開發與運維的成本,保證系統的穩定性。
Inceptor重點優化了基於SSD的Holodesk性能,使得基於PCIE SSD的性能達到全內存的方案的80%以上。因此結合使用低成本的內存/快閃記憶體混合存儲方案,可接近全內存存儲的分析性能,保證解決方案的高性價比。
分布式執行引擎 Distributed Execution Engine
Inceptor基於Apache Spark深度開發了專用分布式計算引擎,不僅大幅提高了計算性能,而且有效的解決了Spark在穩定性方面的很多問題,確保計算引擎能夠7x24小時無間斷運行。此外,Inceptor引擎獨立構建了分布式數據層,將計算數據從計算引擎JVM內存空間中獨立出來,因此可以有效減少JVM GC對系統性能和穩定性的影響。
在SQL執行計劃優化方面,Inceptor實現了基於代價的優化器和基於規則的優化器,輔以100多種優化規則,可以保證SQL應用在無需手工改動的情況下能夠發揮最大的性能。對於數據傾斜等常見的數據處理難題,執行引擎也能夠自動識別並加以優化,能夠解決絕大部分存在數據傾斜的計算場景,杜絕數據傾斜對系統穩定性的影響。
為了更好的適應各種數據場景,Inceptor的執行引擎包含兩種執行模式:低延時模式和高吞吐模式。低延時模式主要應用在數據量比較小的場景,執行引擎會生成執行延時低的物理執行計劃,通過減少或避免一些高延時的任務(如IO,網絡等)來保證SQL的執行時間很短,達到或者逼近關係型資料庫在這些場景下的性能。高吞吐模式主要應用在大數據的場景,通過合理的分布式執行來提高超大數據量上的複雜統計分析的性能。因此,Inceptor的執行引擎可以滿足從GB到PB的各種數據量上的數據業務需求。
數據源連接器 Stargate
企業數據可能會分散在多個系統中,彼此不能共享數據或者進行相關的分析,從而造成數據孤島的現象。通過構建統一的大數據平臺可以有效的解決大部分場景下的數據孤島問題,然後仍然存在一些數據因為各種關係無法遷移統一平臺上的現象。為了解決此類問題,Inceptor推出了數據源連接器Stargate。
Stargate是連接執行引擎和各種數據源的連接器,可以將多種不同數據源的數據接入引擎做實時的統計分析,而無需事先將數據導入HDFS,從而更加方便用戶的業務構建多樣化需求。
在語法層面,Inceptor兼容Oracle DB-Link規範,通過創建database link來預先建立和其他數據源的連接池,然後就可以在SQL中通過 table_name@database link的方式在Inceptor中實時訪問該數據源的數據,無需其他操作。在執行計劃開始後,Stargate通過預先建立的連接從其他數據源中抽取需要的數據,輸入進入執行引擎層參與SQL計算。在計算完成後,釋放相關的資料庫連接以及對應的資源。
目前Stargate支持關係資料庫包括Oracle,DB2,Mysql,Teradata以及PostgreSQL。此外,Stargate目前可以接入Holodesk,HDFS,Hyperbase等平臺內數據源,未來將支持Elastic Search和Redis作為數據源。
多租戶管理組件 Guardian
Guardian提供完整的多租戶管理功能,包括租戶資源管理,租戶權限管理以及安全控制等模塊,可以方便企業在統一的大數據平臺上的多租戶的管理和分配。
Guardian允許對多租戶進行CPU和內存資源的配置和管理,不同的租戶使用不同的CPU和內存資源池,因而不會互相干擾。此外可以給不同的用戶設定不同的優先級來實現服務質量控制(QoS)。
Guardian支持通過SQL對用戶磁碟空間的配置和管理,包括對數據空間和臨時空間的配額,更改和管理,以方便平臺對存儲資源的合理分配,管控和計費。
Guardian支持使用LDAP協議做用戶訪問控制,支持Kerberos協議用作底層訪問控制,從而保證數據的安全性和隔離性。Guardian支持一整套基於SQL的資料庫/表的權限控制,管理員可以設置用戶對表的查詢,修改,刪除等權限,並包含一整套的角色設定,可以通過角色組的設置來便捷的實現用戶權限控制。
此外,Guardian支持 Row Level Security,對表的數據進行精確的行級權限控制。在多租戶的場景下,可以保證不同租戶只能看到表中自身有權限的數據,而不會看到屬於其他租戶的數據,從而有精確的數據隔離。
中間件管理單元 Connector
Inceptor完整的支持JDBC4.0和ODBC3.5標準,因此能夠支持Hibernate/Spring等中間件,完全兼容Tableau/QlikView/Cognos等報表工具,可以和企業當前的數據應用層完整對接。
此外,Inceptor也支持與其他數據同步工具的對接,已經完成了和IBM CDC的相互認證與整合,並且能夠支持Oracle Golden Date,SAP Data Service等工具。因此,企業用戶可以實時的將交易數據同步到Inceptor內做交互式統計分析業務。
基於Inceptor的大數據平臺建設方案
數據倉庫建設方案
在當前移動互聯的浪潮下,數據呈現爆炸式增長,企業內部和外部的數據產生的速度超過以往任何時刻。以往基於傳統關係資料庫或者MPP構建的數據倉庫往往處理能力不夠,並且可擴展性不強,無法滿足企業對大規模數據的處理要求。
基於Transwarp Inceptor構建的大數據平臺,處理能力更強,並發性更高,更易於擴展,能夠極大的提速數據倉庫的批量處理能力。前端通過Sqoop,flume等ETL工具整合現有企業內部數據,並可以通過Kafka等工具實時接入外部數據,存Inceptor並且完成對海量的數據進行存儲、清洗、加工、建模等,把先前無法利用的數據充分利用,提升對數據的認識。
此外,通過在大數據平臺中部署實時決策平臺(Stream)和數據探索平臺(Discover),輔以Inceptor的強大處理能力,企業可以構建更多開創型應用,如準實時系統日誌分析應用、客戶實時風險監測、實時的用戶體驗優化與客戶行為分析、客戶標籤化畫像應用,加快業務數據分析團隊自主的數據探索和業務建模過程。
數據集市建設方案
交互式分析和探索是數據集市市場的重點業務,但是傳統關係型資料庫或者基於Map Reduce的計算框架對臨時的實時性要求高的交互式分析無法快速響應,查詢效率低,無法進行有效數據探索。
Inceptor提供基於內存或者SSD的列式存儲Holodesk,並且提供基於內存的超強統計分析能力,數據通過ETL工具導入Inceptor Holodesk中,在內存或者SSD上建立分布式索引和OLAP-Cube。
報表工具通過JDBC/ODBC接口來訪問Cube,無需在BI工具中額外構建Cube,極大的降低了交互式分析的延時。此外,通過集成R語言以及並行化大量的數據挖掘算法,用戶可以實時的從Holodesk中數據抽取數據進行數據挖掘和探索。
準實時數據分析平臺方案
一些企業將交易型業務和分析型業務分開部署,但是需要分析系統能夠對交易數據做實時統計分析。傳統的MPP或者Hadoop無法滿足類似場景的需求,而Inceptor可以幫助用戶打造相關的解決方案。在上層平臺通過IBM CDC或者Oracle Golden Gate等實時同步工具連接關係資料庫,這些實時同步工具通過分析數據更改日誌來生成輸入數據,並標記原始事務的邊界。Inceptor JDBC/ODBC驅動能夠識別相關的事務和數據,並生成Inceptor的事務和增刪改操作,然後將數據寫入Inceptor。最後報表工具就可以實時的對相關的數據做統計分析。
基準測試TPC-DS認證
TPC-DS是TPC組織制定的用於評測決策支持系統(或數據倉庫)的標準SQL測試集。這個測試集包含對大數據集的統計/報表生成/聯機查詢/數據挖掘等複雜應用,測試用的數據也是充分設計,儘量模擬真實數據的特點。由於和企業數據倉庫類應用非常類似,TPC-DS成為客觀衡量多個不同數據倉庫技術的最佳測試集。
TPC-DS在Transwarp Inceptor 上能夠完整運行,並通過第三方專業機構上海軟體測評中心的專業認證,表明Inceptor能夠非常有效的滿足數據倉庫業務的需求。
結語
Transwarp Inceptor是星環科技推出的大數據分析平臺軟體,支持99%的SQL2003標準,是Hadoop業界唯一一個同時支持Oracle PL/SQL和DB2 SQL PL擴展的平臺,也是唯一一個支持ACID分布式事務的大數據平臺。同時,Inceptor也是Hadoop業界首個支持SSD和內存存儲的計算引擎,可比基於硬碟的方案快一個數量級。Transwarp Inceptor定位於數據倉庫,數據集市和準實時數據分析市場,可以替代基於關係資料庫或者MPP的解決方案,增強企業用戶的數據分析能力,幫助企業挖掘數據價值,構建數據時代的關鍵應用。
第三十屆CIO班招生 法國布雷斯特商學院碩士班招生 北達軟EXIN網絡空間與IT安全基礎認證培訓 北達軟EXIN DevOps Professional認證培訓責編:pingxiaoli