初創(chuàng)公司Citus Data將CitusDB擴(kuò)展到Hadoop
數(shù)據(jù)庫初創(chuàng)公司Citus Data在本周二實(shí)現(xiàn)了Hadoop數(shù)據(jù)上的快速SQL查詢,這并不算什么大事,因?yàn)樗鼈冞€有更大的目標(biāo)。Citus Data已超越Postgres將其高速、分析數(shù)據(jù)庫CitusDB擴(kuò)展到Hadoop上,接著可能擴(kuò)張到MongoDB以及其它你已經(jīng)想到的數(shù)據(jù)庫產(chǎn)品。GigaOM的記者Derrick Harris認(rèn)為,它是所有人都需要的唯一分析型數(shù)據(jù)庫,它能夠數(shù)據(jù)的查詢,無論存儲(chǔ)任何環(huán)境之中——關(guān)系型數(shù)據(jù)庫、Hadoop、MongoDB、 Amazon S3或者還有其他的地方。
大數(shù)據(jù)已經(jīng)打開了企業(yè)數(shù)據(jù)分析以及選擇性數(shù)據(jù)存儲(chǔ)的視野。那么這兩項(xiàng)的結(jié)合往往意味著需要學(xué)習(xí)新的語言,使用多工具處理,而且在分析平臺(tái)上還可能需要犧牲一部分性能。
Citus Data公司的旗艦產(chǎn)品就是CitusDB,它通常建立在PostgreSQL之上,第一代的目的就是為關(guān)系型數(shù)據(jù)設(shè)計(jì)像谷歌Dremel這種規(guī)模和速度的數(shù)據(jù)庫。由于其中的一項(xiàng)功能“foreign data wrappers”,所以它能夠在多種數(shù)據(jù)類型(像CSV, log以及JSON files,而且這些數(shù)據(jù)類型在原生的Postgres上是并不匹配的)上運(yùn)行SQL。所以當(dāng)CitusDB除了Postgres之外,還官方支持Hadoop文件分布式系統(tǒng)(HDFS),這就意味著絕不僅限于這些。
Matt Ocko是數(shù)據(jù)收集的負(fù)責(zé)人,也是Citus Data早期的投資者之一,他認(rèn)為數(shù)據(jù)庫從技術(shù)來來講應(yīng)該支持任何使用ODBC驅(qū)動(dòng)的數(shù)據(jù)源,甚至能夠直接從存儲(chǔ)的數(shù)據(jù)中直接查詢?nèi)罩疚募?。事?shí)上,Citus正在致力對MongoDB的支持——這種能力現(xiàn)在已經(jīng)在測試版上了。Ocko強(qiáng)調(diào)了CitusDB像“網(wǎng)”一樣的能力,它能夠連接各種數(shù)據(jù)源,而不需要用戶進(jìn)行獨(dú)立的查詢,然后再手動(dòng)地連接數(shù)據(jù)。他舉了一個(gè)例子,使用CitusDB跨Postgres和Hadoop做join查詢。
另外一點(diǎn)就是,CitusDB不僅具有良好的靈活性而且很快。Ocko說到CitusDB已經(jīng)超越甲骨文Exadata machine上引以為豪的一個(gè)TPC-H基準(zhǔn)測試(數(shù)據(jù)直接存儲(chǔ)在硬盤上)。上文中提及的運(yùn)行在亞馬遜EC2云上的Postgres-Hadoop查詢僅僅在幾秒鐘之內(nèi)就完成了。
Citus的聯(lián)合創(chuàng)始人Umur Cubukcu告訴Derrick,CitusDB之所以如此之快是因?yàn)樗募軜?gòu):取代將數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,它將焦點(diǎn)聚集到數(shù)據(jù)位置的計(jì)算,并且在資源間具有強(qiáng)大的負(fù)載平衡能力。比如,需要一個(gè)很慢節(jié)點(diǎn)上儲(chǔ)存的資源去完成完成一個(gè)任務(wù),取代一味的等待它會(huì)去其它的節(jié)點(diǎn)上尋求相同的資源。
以Hadoop舉例,MapReduce把計(jì)算帶給了數(shù)據(jù),但是每一個(gè)Job需要對整個(gè)數(shù)據(jù)集進(jìn)行掃描。這就是早期的Hadoop上的SQL查詢工具Hive現(xiàn)在仍然很慢的原因。曾經(jīng)在Cloudera工作的Citus的軟件工程師Carl Steinbach表示,CitusDB比Hive查詢數(shù)據(jù)類型的速度快3到20倍。在一個(gè)典型的互動(dòng)環(huán)境中,短查詢的實(shí)際的速度可能還會(huì)更快。但是他同時(shí)指出,這些并不是Hive真正的設(shè)計(jì)目的所在。

然而,CitusDB真正的競爭對手是SQL-On-Hadoop的項(xiàng)目,產(chǎn)品還有很多初創(chuàng)公司。下個(gè)月“Structure: Data”有一系列的話題為圍繞于此展開,屆時(shí)Aster Data,Platfora,Cloudera(Impala),Apache Drill,Drawn to Scale以及Hadapt都會(huì)展現(xiàn)各自的風(fēng)采。
這些都是令人印象深刻的技術(shù)(至少在理論上,它們?nèi)匀惶幵诎l(fā)展階段),Citus可能會(huì)不小心的忽視他們。但是除了可以查詢多個(gè)數(shù)據(jù)源之外,Citus仍然還有自己獨(dú)特的產(chǎn)品,這是其他的公司所不具備的。“當(dāng)你在談?wù)撘粋€(gè)企業(yè)級的數(shù)據(jù)庫的時(shí)候”Steinbach表示,“那么談?wù)摰膬?nèi)容絕對不僅僅是一個(gè)查詢執(zhí)行引擎。”