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

然而,CitusDB真正的競爭對手是SQL-On-Hadoop的項目,產品還有很多初創公司。下個月“Structure: Data”有一系列的話題為圍繞于此展開,屆時Aster Data,Platfora,Cloudera(Impala),Apache Drill,Drawn to Scale以及Hadapt都會展現各自的風采。
這些都是令人印象深刻的技術(至少在理論上,它們仍然處在發展階段),Citus可能會不小心的忽視他們。但是除了可以查詢多個數據源之外,Citus仍然還有自己獨特的產品,這是其他的公司所不具備的。“當你在談論一個企業級的數據庫的時候”Steinbach表示,“那么談論的內容絕對不僅僅是一個查詢執行引擎。”