摘要:Marklogic与MongoDB同为NoSQL数据库阵营,Mongo可以免费试用,而Marklogic却需要高昂的授权费,那Marklogic到底有哪些不同于MongoDB,或者说有哪些优势呢?参见:http://developer.marklogic.com
事务ACID
也许你常听人说使用NoSQL就不能使用事务的特性,那是因为他们没接触过Marklogic,如今的Marklogic完全支持ACID。
ACID指的是Atmoicity、Consistency、isolation、durability,用来确保数据库的可靠性:
- Atomicity原子性 : 事务不可分割,要么全部执行,要么全不执行;
- Consistency一致性 : 事务的执行使数据库从一种正确的状态转换到另一种正确的状态;
- Isolation隔离性 : 事务的执行不受其他事务的影响;
- Durability持久性 : 事务完成后,所做的修改持续有效,不会回滚。
Marklogic使用’multiversion concurrency control’(MVCC) 多版本并发控制来实现的ACID,因此你可以无锁访问数据。例如:当文档正在写的时候,你可以直接读文档,不会因为读操作而使写操作暂停。
MongoDB采用’eventual consistency’最终一致性,如果多个MongoDB servers 在一个Cluster中运行时,MongoDB的默认设置无法保证数据更新的稳定性,也无法保证更新数据时读操作得到的数