电子说
多模型: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微服务框架,用户甚至可以创建基于字段的访问控制。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !