擁有MongoDB的大數據創業公司10gen日前宣布升級Hadoop連接器的版本,新增了很多重要的功能。其中包括對Hive(Hadoop的類SQL查詢語言)的支持和Hadoop對本地MongoDB文件的存儲能力,以及在同一MongoDB數據集運行增量MapReduce作業的能力。
據10gen產品營銷總監Kelly Stirman介紹,MongoDB的Hadoop連接器已經發布一段時間了,應用也十分廣泛。上周二(8月20日)的升級是自2012年4月Hadoop連接器正式發布以來最重要的一次更新。
也許很多人沒有發現,MongoDB和Hadoop在過去幾年里已經變得非常流行。MongoDB之所以成為很多網絡和移動應用的業務數據庫,是因為它支持JSON文件類型;Hadoop也成為很多公司大數據處理和分析的平臺,尤其是大型網絡公司和財富500強企業。Kelly Stirman稱這兩種技術往往同時部署在企業中。
▲上圖的右側部分目前已加入Hive
Kelly Stirman 補充道,MongoDB連接器目前已經很受歡迎,因為它實際上是讓用戶在MongoDB數據庫中處理數據,而不是把數據傳送到Hadoop中進行處理。在現有的對MapReduce和Pig的支持的基礎之上新增了對Hive的支持,能夠讓MongoDB更受歡迎。因為Hive擁有類SQL查詢語言的本質,通過這種連接器的方式可以使公司更好的利用Hadoop中的數據。數據庫創新公司Drawn to Scale也曾增加過一個類似的功能——基于MongoDB數據的SQL查詢(SQL queries on MongoDB data)——但在今年初夏時,該公司已經倒閉。
在Hadoop分布式文件系統(HDFS)中新增對MongoDB本地BSON文件的支持,意味著用戶可以將數據庫文件備份到Hadoop中,同時可以在Hadoop里處理這些數據,避免在MongoDB集群中增加回撤的負載。
Kelly Stirman將MongoDB集合上運行增量MapReduce更新的能力稱為“濃縮處理”。在這之前,用戶只能運行存儲在數據庫全新集合中的MapReduce作業。這一名為“MongoUpdateWriteable”的新功能,能夠讓用戶在現有集合中運行MapReduce作業。這種快捷的方式能夠捕捉MongoDB集合每天的變化,而不是在每次運行MapReduce作業時都對比輸出的變化或者查詢新的集合。
數據庫行業專家可能會質疑這些特性僅僅是改善現有MongoDB-Hadoop生態環境的功能性,或者它們是否將以某種方式影響MongoDB的市場份額。Kelly Stirman認為可能是后者,至少對于已經使用Hadoop的公司來說,MongoDB更有吸引力。10gen公司在銷售周期中常常陷入與Cassandra和HBase的競爭中,但是現在“從本質上說,這三種數據庫對于Hadoop而言地位相當。”
地位相當?或許是這樣的,至少人們愿意用Hadoop的規模性彌補數據庫較低的可擴展性。當然根據不同應用的特點,企業用戶仍有充足的理由選擇MongoDB以外其他的NoSQL數據庫。