Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 什么';NoSql数据库和OO数据库之间的区别是什么?_Database_Oop_Nosql - Fatal编程技术网

Database 什么';NoSql数据库和OO数据库之间的区别是什么?

Database 什么';NoSql数据库和OO数据库之间的区别是什么?,database,oop,nosql,Database,Oop,Nosql,NoSql DB和OO DB之间有什么区别?像db4o这样的面向对象数据库将被视为NoSql提供的备选方案之一,这意味着不仅仅是SQL。它是关系数据库的一组替代品:伏地魔、Hadoop、MongoDB、CouchDB、BigTable、Neo4J、db4o和其他。NoSQL是一种运动,OODB是一种技术。或者换句话说:NoSQL是一群人,OODB是一段代码。对“NoSQL”没有严格的定义,所以差异主要是语义上的。通常,面向对象数据库被视为NoSQL数据库的子集(一种)。然而,一般来说,OODB仍

NoSql DB和OO DB之间有什么区别?

像db4o这样的面向对象数据库将被视为NoSql提供的备选方案之一,这意味着不仅仅是SQL。它是关系数据库的一组替代品:伏地魔、Hadoop、MongoDB、CouchDB、BigTable、Neo4J、db4o和其他。NoSQL是一种运动,OODB是一种技术。或者换句话说:NoSQL是一群人,OODB是一段代码。

对“NoSQL”没有严格的定义,所以差异主要是语义上的。通常,面向对象数据库被视为NoSQL数据库的子集(一种)。然而,一般来说,OODB仍然会有类似ACID的锁定来保持一致性,而NoSQL通常会有某种“最终一致”或部分锁定语义。NoSQL的模式可以是基于对象的,也可以是基于键值的(或其他),使其成为更一般的术语。

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

由于上述非标准化和标准化的差异,两者都有各自的优缺点。像Mongo这样的NoSQL数据库读取速度快,但在写入/更新数据方面较差。由于NoSQL数据库的非规范化性质,很难用它来维护数据的完整性,而像Wakanda这样的OODB很容易管理,并且具有数据完整性。删除一个对象,其所有关系将自动删除


我试图找出一些好的javascript面向对象数据库,但到目前为止,除了www.wakanda.org外,我找不到其他数据库。如果您知道,请分享详细信息。

我将Neo4J描述为图形数据库,而不是面向对象的数据库。另外,我不同意您关于NoSQL是关系数据库的替代品的说法。像Rel或Tutorial D之类的东西是关系型的,它们在NoSQL的范围内非常多。另外:如果不是关系,图形数据库存储什么?+1指出NoSQL的意思是“不仅仅是SQL”,而不是“没有SQL”。你是对的,Jorg。我的错误。我想到的是db4o。我会纠正它。关系在表、列和连接的意义上,就像Oracle、MySQL等RDBMS系统传统上所做的那样。那么OODB被认为是NoSQL db吗?很抱歉更新太晚了。我找到了一些替代Wakanda(OODB)和OrientDB和ArangoDB的好方法。两者都适用于OLTP应用程序,因为我们可以以规范化的方式管理数据库。