NoSql DB和OO Db有什么区别?

时间:2010-09-11 17:20:53

标签: database oop nosql

NoSql DB和OO Db有什么区别?

4 个答案:

答案 0 :(得分:10)

NoSQL DB通常是非规范化的(保存对象数据的副本来代替对象),其中OODB是具有对象关系的规范化数据库。在OODB中,数据存储在一个地方的对象中,并与其他对象链接(关系)。

由于上述归一化和归一化的差异,两者都各有利弊。像Mongo这样的NoSQL DB读取速度快,但写入/更新数据却很差。由于NoSQL DB的非规范化特性,很难保持数据的完整性,因为OODB和Wakanda一样易于管理并具有数据完整性。删除一个对象,并自动删除所有关系。

我尝试了一些很好的javascript对象导向数据库,但截至目前为止除了www.wakanda.org之外找不到任何其他内容。如果你知道,请分享详细信息。

答案 1 :(得分:4)

面向对象的数据库(如db4o)将被视为NoSQL提供的替代方案之一,这意味着不仅仅是SQL。它是关系数据库的一组替代品:Voldemort,Hadoop,MongoDB,CouchDB,BigTable,Neo4J,db4o等。

答案 2 :(得分:2)

NoSQL是一种运动,OODB是一种技术。或者换句话说:NoSQL是一群人,OODB是一段代码。

答案 3 :(得分:2)

“NoSQL”没有严格的定义,因此差异在很大程度上是语义上的。通常,面向对象的数据库被认为是NoSQL数据库的一个子集(一种)。但是,一般来说,OO DB仍然具有类似ACID的锁定以保持一致性,而NoSQL通常会具有某种“最终一致”或部分锁定语义。 NoSQL的架构可能是基于对象的,也可能是基于键值的(或其他东西),使其成为更通用的术语。