DynamoDB和Cassandra、MongoDB的比較
前面說過Cassandra受2007年Amazon發(fā)表的Dynamo論文影響非常深,在DynamoDB發(fā)布的第一天,提供Cassandra商業(yè)化支持的DataStax公司的Jonathan Ellis就寫了一篇文章,分析了Cassandra和DynamoDB的差異。
雖然Jonathan Ellis認為DynamoDB不支持Secondary Key Indexes是在開歷史的倒車,但如果DynamoDB支持了Secondary Key Indexes,那么它是無法保證每個請求性能的高效性的。這和DynamoDB的設計理念相沖突,于是舍棄了這部分的功能。
其實從開發(fā)的易用角度來講,DynamoDB沒有Cassandra和MongoDB強大,Cassandra有CQL可以做非常豐富的查詢,MongoDB的查詢功能也非常強大,而且后兩者都提供Shell客戶端,并有不少第三方開發(fā)的工具可以進行管理與使用。在條件更新上,DynamoDB也沒有MongoDB使用起來那么方便,并且MongoDB提供了更多的原子性操作。在對value類型的支持上,另兩者都不如MongoDB,畢竟MongoDB是文檔型的數據庫,可以理解為底層存儲的是JSON。畢竟,JSON支持的類型以及在JSON上可以做的操作是很豐富的。我一直覺得DynamoDB沒有支持類JSON格式是個遺憾。也許可能是DynamoDB團隊覺得如果支持類JSON格式的話,在API的設計上會顯得更加臃腫和讓用戶更難理解API如何使用。但個人認為,DynamoDB如果提供相應的SDK其實是可以解決這個問題的,就算MongoDB的開放接口相對DynamoDB更加復雜,開發(fā)者都是直接使用驅動(相當于SDK)進行開發(fā),于是在開發(fā)應用上MongoDB遠勝于DynamoDB。
但從運維的角度來講,DynamoDB省去開發(fā)者部署/監(jiān)控/維護數據庫環(huán)節(jié),給開發(fā)者節(jié)約了大量時間,強大的擴展能力又減輕了后續(xù)運維的壓力,這正是DynamoDB最大的價值所在。
參考:文章來源:http://www.zghlxwxcb.cn/news/detail-792657.html
https://baike.baidu.com/item/dynamodb/8109040?fr=ge_ala文章來源地址http://www.zghlxwxcb.cn/news/detail-792657.html
到了這里,關于DynamoDB和Cassandra、MongoDB的比較的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!