為了幫助各行各業(yè)的客戶應(yīng)對(duì)大數(shù)據(jù)時(shí)代帶來(lái)的挑戰(zhàn),H3C打造了一套高性能的大數(shù)據(jù)處理平臺(tái),采用Hadoop和MPP分布式數(shù)據(jù)庫(kù)融合的計(jì)算框架,為用戶提供完整的大數(shù)據(jù)平臺(tái)解決方案,包括數(shù)據(jù)采集轉(zhuǎn)換、存儲(chǔ)計(jì)算、分析挖掘、共享交換、BI展示以及運(yùn)維管理等全系列功能,幫助用戶構(gòu)建海量數(shù)據(jù)處理系統(tǒng),發(fā)現(xiàn)數(shù)據(jù)的內(nèi)在價(jià)值,獲取新的市場(chǎng)機(jī)會(huì)。
SeaSQL MPP支持本地物理機(jī)部署,也支持部署在私有云上,數(shù)據(jù)源可以是本地存儲(chǔ)、HDFS、云存儲(chǔ)或者其他關(guān)系型數(shù)據(jù)庫(kù)比如Oracle、MySQL等等,這些數(shù)據(jù)通過(guò)ETL工具或者Kafka等集成到SeaSQL MPP數(shù)據(jù)庫(kù)。SeaSQL MPP分布式數(shù)據(jù)庫(kù)基于無(wú)共享大規(guī)模并行架構(gòu),具備PB級(jí)數(shù)據(jù)處理能力,內(nèi)核基于PostgreSQL內(nèi)核,進(jìn)行了大量?jī)?yōu)化,提供強(qiáng)大的查詢優(yōu)化器,對(duì)SQL進(jìn)行了完善的兼容。在接口層,SeaSQL MPP除了提供標(biāo)準(zhǔn)的JDBC/ODBC接口之外,還提供常用編程語(yǔ)言Python/R/Java/Perl/C的接口,也提供機(jī)器學(xué)習(xí)庫(kù)MADLib、全文檢索和PostGIS的接口,供應(yīng)用層調(diào)用。
SeaSQL MPP為分布式架構(gòu),橫向擴(kuò)展能力很強(qiáng),可實(shí)現(xiàn)上千個(gè)節(jié)點(diǎn)互聯(lián),支持?jǐn)?shù)千個(gè)CPU。其強(qiáng)大的數(shù)據(jù)處理和運(yùn)算能力適用于以下場(chǎng)景:
? 適用于面向分析的應(yīng)用,比如構(gòu)建企業(yè)級(jí)的ODS/EDW、數(shù)據(jù)集市等。
? 適用于需要處理海量數(shù)據(jù)的應(yīng)用,比如數(shù)據(jù)倉(cāng)庫(kù)、商業(yè)智能等。
? 適用于離線數(shù)據(jù)的分析和數(shù)據(jù)挖掘,如客戶行為分析、人物畫(huà)像、行為預(yù)測(cè)建模等。
H3C SeaSQL MPP是一種基于PostgreSQL的分布式數(shù)據(jù)庫(kù),其采用Shared-Nothing架構(gòu)、主機(jī)、操作系統(tǒng)、內(nèi)存、存儲(chǔ)都是自我控制,不存在共享。H3C SeaSQL MPP數(shù)據(jù)庫(kù)的主要特性如下:
· 大規(guī)模并行處理架構(gòu)。
· 既支持行存,也支持列存。每張表或表分區(qū)可以由管理員根據(jù)應(yīng)用需要,分別存儲(chǔ)和壓縮方式。
· 支持多種壓縮方法,包括Zlib,RLE等。
· 支持多級(jí)分區(qū)表,分區(qū)支持多種模式,包括范圍,列表等。
· 支持B樹(shù)、位圖和GiST等索引。
· 認(rèn)證機(jī)制支持多種方式,包括LDAP和Kerberos等。
· 擴(kuò)展語(yǔ)言支持:SeaSQL MPP支持使用多種流行語(yǔ)言實(shí)現(xiàn)用戶自定義函數(shù),包括Python,R,Java,Perl,C/C++等。
· 地理信息處理:通過(guò)集成PostGIS,SeaSQL MPP支持對(duì)地理信息進(jìn)行存儲(chǔ)和分析。
· 內(nèi)建數(shù)據(jù)挖掘算法庫(kù):通過(guò)MADlib(現(xiàn)在是Apache孵化項(xiàng)目)算法庫(kù),可以內(nèi)建幾十種常見(jiàn)的數(shù)據(jù)分析和挖掘算法到SeaSQL MPP數(shù)據(jù)庫(kù)中,包括邏輯回歸,決策樹(shù),隨機(jī)森林等。不需要寫(xiě)任何算法代碼,通過(guò)SQL就可以使用其中的所有算法。
· 文本檢索:SeaSQL MPP可以支持高效靈活豐富的全文檢索功能。與 MADlib合用,可以進(jìn)行并行文本分析和挖掘。
· 高性能加載,使用MPP技術(shù),提供Petabyte級(jí)別數(shù)據(jù)量的加載性能。
· 大數(shù)據(jù)工作流查詢優(yōu)化。
· 多態(tài)數(shù)據(jù)存儲(chǔ)和執(zhí)行。
· 基于Apache MADlib的高級(jí)機(jī)器學(xué)習(xí)能力。
· 支持SQL 92 ANSI/ISO、SQL 99 ANSI/ISO、SQL 2003 ANSI/ISO、SQL 2006 ANSI/ISO 標(biāo)準(zhǔn),支持C API、ODBC、JDBC等國(guó)際接口規(guī)范,支持DDL,DML,DCL語(yǔ)法,支持基本數(shù)據(jù)類型、基本完整性約束、基本表管理、搜索條件、表連接、子查詢、插入、修改、刪除、事務(wù)控制。
云化部署
SeaSQL MPP支持CloudOS5.0云平臺(tái)的部署安裝,能夠支持云化部署。用戶可以通過(guò)CloudOS界面統(tǒng)一管控所有資源并統(tǒng)一調(diào)度管理,可以靈活管理分配資源,提升整體的資源利用率。
擴(kuò)容不中斷
SeaSQL MPP數(shù)據(jù)庫(kù)可以按照客戶需求進(jìn)行兩種擴(kuò)容方式:主機(jī)擴(kuò)容和實(shí)例擴(kuò)容。擴(kuò)容過(guò)程中只需要對(duì)系統(tǒng)表元數(shù)據(jù)進(jìn)行更新即完成擴(kuò)容,不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行停止操作,數(shù)據(jù)庫(kù)擴(kuò)容后采用了Jump Consistent Hash算法大大減少了數(shù)據(jù)重分布過(guò)程中數(shù)據(jù)的移動(dòng)。
行列混合存儲(chǔ)
SeaSQL MPP數(shù)據(jù)庫(kù)提供了多種類型的存儲(chǔ)模型:行存、列存、行列混合存儲(chǔ),可以根據(jù)業(yè)務(wù)的需要制定數(shù)據(jù)的存儲(chǔ)模式。
OLAP函數(shù)
SeaSQL MPP 提供豐富OLAP 函數(shù)包括:Rollup、cube、窗口函數(shù)、遞歸操作等,用于支持復(fù)雜的分析操作,側(cè)重于對(duì)決策人員和高層管理人員的決策支持。可根據(jù)分析人員的要求,快速靈活地進(jìn)行大數(shù)據(jù)量的復(fù)雜查詢處理,以便他們準(zhǔn)確掌握企業(yè)的經(jīng)營(yíng)狀況,了解被服務(wù)對(duì)象的需求,制定正確的方案。
多租戶
SeaSQL MPP數(shù)據(jù)庫(kù)的多租戶特性可以將一個(gè)數(shù)據(jù)庫(kù)劃分給多個(gè)租戶來(lái)使用,不同的租戶的物理資源互相隔離,多租戶特性主要體現(xiàn)下面幾個(gè)方面優(yōu)勢(shì):
不同租戶對(duì)物理資源的要求不一樣,各個(gè)資源相互隔離互不干擾,防止某些租戶在業(yè)務(wù)波峰的時(shí)候搶占其它用戶的資源。
租戶之間的數(shù)據(jù)互相隔離,提高數(shù)據(jù)的安全性。
系統(tǒng)資源空閑的時(shí)候CPU、內(nèi)存資源可以彈性使用,當(dāng)資源比較繁忙的時(shí)候租戶之間的資源按照設(shè)置時(shí)候的參數(shù)來(lái)限制,提高整個(gè)系統(tǒng)的資源利用率。
強(qiáng)大的并行裝載能力
數(shù)據(jù)的導(dǎo)入性能指標(biāo)對(duì)于數(shù)據(jù)倉(cāng)庫(kù)的使用體驗(yàn)有很重要的作用,SeaSQL MPP數(shù)據(jù)庫(kù)在進(jìn)行數(shù)據(jù)加載的時(shí)候可以使用整個(gè)集群所有的節(jié)點(diǎn)的資源,加載性能隨著節(jié)點(diǎn)數(shù)的增加而線性增加,在大規(guī)模的集群中數(shù)據(jù)加載速率可以達(dá)到20TB/小時(shí)。
集成MADLib機(jī)器學(xué)習(xí)庫(kù)
MADlib不是面向程序員的,而是面向數(shù)據(jù)庫(kù)開(kāi)發(fā)或DBA的,能將SQL的簡(jiǎn)單易用與數(shù)據(jù)挖掘的復(fù)雜算法結(jié)合起來(lái),充分利用兩者的優(yōu)勢(shì)和特點(diǎn),大大提高開(kāi)發(fā)人員的開(kāi)發(fā)效率。
對(duì)用戶而言,MADlib提供了可在SQL查詢語(yǔ)句中調(diào)用的函數(shù),其中不但包括基本的線性代數(shù)運(yùn)算和統(tǒng)計(jì)函數(shù),還提供了常用的、現(xiàn)成的機(jī)器學(xué)習(xí)或數(shù)據(jù)挖掘模型函數(shù)。用戶不需要深入了解算法的程序?qū)崿F(xiàn)細(xì)節(jié),只需要清楚函數(shù)的使用方法即可,大大的提高了開(kāi)發(fā)效率,節(jié)約開(kāi)發(fā)成本。
集成PostGIS地理空間數(shù)據(jù)處理
PostGIS是對(duì)象關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)PostgreSQL的一個(gè)擴(kuò)展,PostGIS通過(guò)向PostgreSQL添加對(duì)空間數(shù)據(jù)類型、空間索引和空間函數(shù)的支持,將PostgreSQL數(shù)據(jù)庫(kù)管理系統(tǒng)轉(zhuǎn)換為空間數(shù)據(jù)庫(kù)。
SeaSQL MPP集成了PostGIS空間數(shù)據(jù)庫(kù)將空間數(shù)據(jù)和對(duì)象關(guān)系數(shù)據(jù)庫(kù)集成在一起,實(shí)現(xiàn)以GIS為中心向以數(shù)據(jù)庫(kù)為中心的轉(zhuǎn)變。這樣,用戶就不需要專門(mén)的GIS數(shù)據(jù)引擎去處理和操縱空間數(shù)據(jù)了,應(yīng)用程序只需要通過(guò)SQL語(yǔ)言就能輕松的操縱空間數(shù)據(jù)。
透明加密
SeaSQL MPP透明加密模塊實(shí)現(xiàn)了對(duì)整個(gè)數(shù)據(jù)庫(kù)的加密,該加密對(duì)于客戶端是無(wú)感知的。當(dāng)把數(shù)據(jù)塊寫(xiě)入磁盤(pán)時(shí),對(duì)數(shù)據(jù)進(jìn)行加密;當(dāng)從磁盤(pán)讀取數(shù)據(jù)時(shí),進(jìn)行解密。能夠保證存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)一直處于加密狀態(tài),即使獲取磁盤(pán)內(nèi)容也無(wú)法讀取里面的明文數(shù)據(jù)。同時(shí)業(yè)務(wù)層面對(duì)于加密動(dòng)作無(wú)感知,不需要針對(duì)加密進(jìn)行任何適配修改。加密方式采用AES的XTS加密模式,保證了數(shù)據(jù)加密的安全性。
數(shù)據(jù)脫敏
數(shù)據(jù)脫敏(Data Masking),又稱數(shù)據(jù)漂白、數(shù)據(jù)去隱私化或數(shù)據(jù)變形。指對(duì)某些敏感信息通過(guò)脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。在涉及客戶安全數(shù)據(jù)或者一些商業(yè)性敏感數(shù)據(jù)的情況下,在不違反系統(tǒng)規(guī)則條件下,對(duì)真實(shí)數(shù)據(jù)進(jìn)行改造并提供測(cè)試使用,如號(hào)、手機(jī)號(hào)、卡號(hào)、客戶號(hào)等個(gè)人信息都需要進(jìn)行數(shù)據(jù)脫敏。
SeaSQL MPP數(shù)據(jù)庫(kù)提供多樣化的脫敏方式,定義脫敏規(guī)則以后,用戶可以通過(guò)以下兩種方式訪問(wèn)脫敏數(shù)據(jù):
? 靜態(tài)脫敏:去除庫(kù)內(nèi)敏感信息,數(shù)據(jù)庫(kù)內(nèi)敏感數(shù)據(jù)被覆蓋不可恢復(fù)。
? 動(dòng)態(tài)脫敏:對(duì)用戶屏蔽敏感信息,其他未被脫敏的用戶仍將訪問(wèn)原始數(shù)據(jù)。
FDW數(shù)據(jù)邦聯(lián)
FDW 是 SQL 標(biāo)準(zhǔn) SQL/MED(SQL Management of External Data)的實(shí)現(xiàn)。FDW 提供了一系列統(tǒng)一的公共接口,使得擴(kuò)展程序可以輕松地在優(yōu)化、執(zhí)行、掃描、更新和統(tǒng)計(jì)等核心部分和 SeaSQL 深度集成,從而可以用 SQL 語(yǔ)句直接查詢和操作外部數(shù)據(jù)源。例如 FDW for MySQL,用戶可以像操作本地表一樣地直接查詢、排序、分組、過(guò)濾、Join 甚至插入和更新 MySQL 數(shù)據(jù)庫(kù)的數(shù)據(jù)。
根據(jù)數(shù)據(jù)源的不同,SeaSQL實(shí)現(xiàn)的FDW模塊包括:postgres_fdw、file_fdw、oracle_fdw、mysql_fdw、json_fdw、redis_fdw、hdfs_dfw,如下圖所示:
Roaringbitmap壓縮位圖
RoaringBitMap是一種高效的位圖壓縮算法,可以有效提升位圖內(nèi)存的使用效率,解決稀疏位圖不適應(yīng)稀疏存儲(chǔ)的問(wèn)題。Bitmap位計(jì)算非常適合大數(shù)據(jù)基數(shù)計(jì)算,常用于去重、標(biāo)簽篩選、時(shí)間序列等計(jì)算中。gpdb_roaringbitmap插件將Roaringbitmap功能集成到SeaSQL MPP數(shù)據(jù)庫(kù)中,將Roaringbitmap作為一種數(shù)據(jù)類型提供原生的數(shù)據(jù)庫(kù)函數(shù)、操作符、聚合等功能支持。