随着信息技术的日新月异,IT行业的版图时刻都在改变。数据库技术也从传统的关系型数据库(如mysql)发展到了现在的NoSQL数据库。本文我们就来看看NoSQL数据库中的两个佼佼者MongoDB与Cassandra。MongoDB存储的是JSON文件,它在与很多其他应用进行集成时很容易
Cassandra则被设计为可以一次处理大量数据。
接下来就让我们一起来看看他们两者之间的异同。
一、相同点
1.开源与操作系统兼容程度
MongoDB与Cassandra都是开源数据库,社区也比较活跃,这意味着不幸碰到问题时能得到较多的支持。他们也都支持Linux,Mac OS X与Windows系统,因此我们不用担心老旧的硬件派不上用场。
2.API与编程语言
MongoDB与Cassandra使用的都是私有协议,也都支持C#与Java等常见的编程语言。这使得开发人员就不用担心需要学习新的编程语言,也降低了使用的门槛。
3.分区方法
主要的分区方法是sharding来避免出现单点故障。这就能保证性能优化的同时保证了数据的一致性。
二、不同点
尽管有这么多相同点,但是说到底还是两款不同的产品。他们之间一个关键的不同的是对用户访问权限的处理。Cassandra可为每个对象设置单独的用户权限,但MongoDB则只能控制用户的读写权限,因此在多人协作时Cassandra的用户访问控制会显得比较灵活。还有一个重要区别是Cassandra不支持在服务器端编写脚本。但除了支持服务器端脚本外,MongoDB它所支持的编程语言也较Cassandra为多,比如LISP、Lua、MatLab、Groovy、PowerShell、CodeFusion等。
之所以服务器端脚本有用是由于它可以在服务器响应用户请求之前执行,这使得用户可获得个性化的使用体验,同时避免了用户对数据库内部的访问。
三、总结
MongoDB与Cassandra都为优秀的NoSQL数据库,我们只能为大家介绍它们的相似与不同。具体的使用就要根据自己的项目与人员的实际情况来选择。
原文链接:http://www.amzur.com/mongodb-vs-cassandra-the-next-generation-nosql-enterprise-database-environments/