多模型:Cassandra是一個分區行存儲數據庫。它不支持任何其他數據模型。如果應用程序需要圖形或鍵/值存儲,則必須使用第二種數據庫技術(如Titan或DataStaxEnterprisegraph)來支持圖形,從而增加復雜性和成本。作為本機多模型,ArangoDB允許您使用一個數據庫來處理這兩個問題,還可以高效地對存儲在不同模型中的數據運行查詢。
統一查詢語言:ArangoDB查詢語言(AQL)支持所有三種數據模型(k/v、文檔、圖形)及其各自的數據訪問模式(投影、連接、遍歷等)。此外,AQL本身支持查詢文本或地理空間等特殊數據類型。所有數據模型和數據類型可以在單個AQL查詢中自由組合。要在Cassandra中實現同樣的效果,必須學習CQL和Gremlin的圖形。
連接:AQL也支持各種連接操作。ArangoDB甚至通過衛星采集功能支持大規模連接操作。對于Cassandra,這些操作在本機上是不可能的,必須在客戶端完成,并考慮其所有安全性和性能影響。
復雜事務:Cassandra不支持ACID事務。使用ArangoDB,開發人員可以使用復雜的事務來跨越多個文檔和集合,或者運行聚合。ArangoDB支持多文檔和多集合事務(單實例;集群設置中的單文檔事務)。
可擴展性需求和ArangoDB:ArangoDB為每個模型和多模型的使用做好了集群準備。由于C++核心與向外擴展相平衡,因此具有無限的擴展能力。ArangoDB集群架構支持獨立擴展,以滿足高讀寫量和數據存儲(如果需要)的需要。
可擴展性:使用現有的以數據為中心的微服務,或在ArangoDB內的專用JavaScript框架Foxx中運行自己的服務,例如,為復雜的圖形遍歷提供單個API調用。
降低總體擁有成本:了解多模型數據庫意味著將相同的知識應用于不同的用例,并讓開發人員更快地行動。ArangoDB可以使用本機多模型方法用于廣泛的不同用例,從而簡化所需的技術堆棧和操作足跡。
比較表:Cassandra與ArangoDB
*在單服務器設置中,ArangoDB支持多文檔和多集合事務的完整ACID事務。在集群設置中,ArangoDB僅支持非分片集合的多文檔和多集合事務。共享集合支持單文檔事務。
**包括對任意字符串的全文搜索、前綴搜索以及更高級的功能,如相關性、排名、單詞規范化、刪除停止詞、識別跨多個集合工作的單詞邊界。
***輕松為以數據為中心的用例創建RESTAPI,并添加任何缺失的功能。
****ArangoDB支持所有基本安全要求。這包括在數據庫和集合級別基于LDAP的授權和用戶管理。通過使用ArangoDB的Foxx微服務框架,用戶甚至可以創建基于字段的訪問控制。
審核編輯:劉清
-
數據庫
+關注
關注
7文章
3845瀏覽量
64594 -
AQL
+關注
關注
0文章
3瀏覽量
8790 -
Cassandra
+關注
關注
0文章
6瀏覽量
2390
原文標題:ArangoDB vs. Cassandra
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論