開源的分布式數據庫,RethinkDB 1.12發布
RethinkDB是一款開源的分布式數據庫,用于存儲JSON文檔,可以很容易地擴展到多臺機器。它有一門令人愉快的查詢語言,支持表連接和group等真正有用的查詢,并且安裝簡單、易于學習。
近日,RethinkDB 1.12發布,這是迄今為止最重大的發布之一。它帶來了超過200項功能增強,其中包括:
- 極大地簡化了map/reduce和聚合命令
- 緩存經過重大改進,消除了長期穩定性和性能方面的局限
- 支持ARM架構
- 新增四個用于對象和字符串操作的ReQL命令
- 許多Bug修復、穩定性增強和性能提升
新版本刪除了group_by和grouped_map_reduce命令,代之以一個更強大的新命令group。該命令將文檔序列分組,其后鏈接 的任何命令都是在每個分組上單獨調用,而不是在序列的所有文檔上。而且,鏈接的命令不局限于內置的聚合命令,可以是任何一個或一系列命令。此外,除了已有 的聚合命令count、sum和avg外,1.12版本還增加了min和max。讀者可以進一步閱讀,了解更多關于group命令和新的map/reduce基礎架構的信息。
1.12版本對緩存的基礎架構進行了許多改進。對于用戶而言,最大的變化是他們不需要手動為表設置緩存大小了,RethinkDB會根據不同表的使 用情況和系統可用內存空間動態地調整緩存大小。另外,為了幫助解決用戶報告的各種穩定性問題,RethinkDB還做了許多用戶看不到的修改。
四個月前,David Thomas貢獻了一個拉拽請求,其中包含了在ARM上編譯和運行RethinkDB所需要的修改。經過幾個月的測試和各種修復,該請求已經并入了RethinkDB的主干。不過,ARM支持是試驗性的,還有一些問題需要解決。
另外,新版本還增加了幾個用于字符串和對象操作的命令,如用于大小寫轉換的downcase和upcase、用于分隔字符串的split和以編程方式從鍵-值對創建JSON對象的object。讀者可以從API文檔中了解更多相關信息。
最后,RethinkDB 1.12還在性能和穩定性方面做了許多改進,如在RethinkDB的Web服務器上增加了壓縮支持,增加了自動化性能回歸測試,改進了并行數據處理代碼等。
這里需要特別提醒一下,上述功能增強中有一項破壞性修改,即用group代替group_by和grouped_map_reduce。用戶在升級時需要針對這項修改調整應用程序,詳情見1.12遷移指南。再者,升級之前務必先遷移數據。
讀者可以從這里下載試用。
來自:http://www.infoq.com/cn/news/2014/03/rethinkdb1.12-publish