2014-10-02 115 views
0

我想比較MongoDB和Cassandra。我們的項目是基於Java的。 我發現的一些差異是Java堆棧上的Cassandra與JavaScript堆棧上的Mongo Db

Cassandra是高度可用的,支持分區和MongoDb是一致的和高可用性(對分區不太好)。

MongoDB是文檔based.Cassandra在建模數據,並且還狀結構存儲JSON直接進入它的方面提供了更多的靈活性。

但有人告訴我的另一個區別是Cassandra是基於Java堆棧,而MongoDB是基於Javascript的。

從第三方用戶(開發人員)的角度來看,堆棧如何工作?考慮到我在Java項目上工作,構建在Java堆棧上的產品是否會爲我提供額外的好處?如果是的話那是什麼?

+1

可以給你的那蒙戈的鏈接JS根據要求? – fvu 2014-10-02 00:33:57

+0

我的一位隊友告訴我。 – user892871 2014-10-02 00:52:59

回答

3

這是不是真正的卡桑德拉或MongoDB的,而是關於系統都寫在語言的成熟和各種支持的API的語言。

卡桑德拉本身是用Java編寫的,而mongo在cpp中時,考慮到它們的生態系統(或者你稱之爲它們的堆棧)以及各種需要回憶什麼是特定編程的langs語言有利。以下是我關於此事的非常簡約的看法,因爲有許多書籍和博客涉及這個確切的主題。

  • 受歡迎程度和社區支持。時髦的語言真的很酷,直到你不明白髮生了什麼事,並且沒有人可以幫忙。 C++和java都是非常成熟的語言,擁有龐大的用戶羣。這兩個系統都有以流行語言實現的各種API。
  • 效率 - 我不打算進入朗更快或更多功能豐富的論點,但我們可以放心地說,這兩個dbs再次使用非常有效的語言,不斷變得更好。加法結束時如果開發人員沒有做好他們的工作,lang的表現可能是他們最後關注的優化問題。

在一天卡桑德拉還以其大規模[1]和蒙戈已經指出有scaling out issues知結束,但這並不是因爲C++有問題(查找稱Facebook不會與魔術C++和php),或者因爲Java是一些驚人的大規模語言的王者。這只是關於系統如何實施。

[1]從https://cassandra.apache.org/(也有在2014年C *峯會演講由蘋果公司)

最大的一個生產部署的是蘋果公司,擁有超過75,000 節點存儲超過10 PB的數據。其他大型Cassandra安裝 包括Netflix(2500個節點,420TB,每 日超過1萬億次請求),中國搜索引擎Easou(270個節點,300TB,超過8億個 每天請求)和eBay(超過100個節點, 250 TB)。