NoSql DB和OO Db有什么区别?NoSql DB和OO Db有什么区别?
回答
一个面向对象的数据库,如db4o,将被认为是NoSQL提供的替代方案之一,这意味着不仅仅是SQL。这是一组关系数据库的替代品:Voldemort,Hadoop,MongoDB,CouchDB,BigTable,Neo4J,db4o等。
NoSQL是一种运动,OODB是一种技术。换句话说:NoSQL是一群人,OODB是一段代码。
“NoSQL”没有严格的定义,所以差异主要是语义。通常,面向对象的数据库被认为是NoSQL数据库的一个子集(一种)。但是,一般来说,OO DB仍然具有类似ACID的锁定以保持一致性,而NoSQL通常会具有某种“最终一致”或部分锁定语义。 NoSQL的模式可能是基于对象的,也可能是基于键值的(或其他),这使得它成为一个更通用的术语。
NoSQL DB通常是非规范化的(保存对象数据的副本代替对象),其中OODB是具有对象关系的规范化数据库。在OODB中,数据存储在一个地方的对象中,并与其他对象相关联(关系)。
由于上述的非归一化和归一化的差异,两者都有各自的优缺点。像Mongo这样的NoSQL数据库读取速度快,但写入/更新数据时效率较低。由于NoSQL数据库的规格化非常规化,因此很难保持数据的完整性,因为像Wakanda这样的OODB易于管理并具有数据完整性。您删除一个对象并自动删除其所有关系。
我试了很多想找出一些好的JavaScript面向对象的数据库,但截至目前找不到任何比www.wakanda.org。如果您知道,请分享详情。
对不起,很晚才更新。我发现Wakanda(OODB)和OrientDB以及ArangoDB的一些不错的选择。两者都适用于OLTP应用程序,因为我们可以以规范化的方式管理数据库。 – 2015-04-20 09:52:12
- 1. .sqlite和.db文件有什么区别?
- 2. NASM中equ和db有什么区别?
- 3. Model Factory和Laravel的DB播种机有什么区别?
- 4. 在Mongo DB中保存和插入有什么区别?
- 5. 使用Java DB和Derby有什么区别吗?
- 6. .db和sqlite3扩展之间有什么区别?
- 7. 在perl中,$ DB :: single = 1和2有什么区别?
- 8. PHP OO DB连接
- 9. 什么是cert8.db和key3.db文件?
- 10. Navision DB和SQL Server DB之间的区别
- 11. 程序和OO开发之间有什么区别?
- 12. 本质上RDBMS和NoSQL有什么区别?
- 13. NoSQL和Column-Oriented数据库有什么区别?
- 14. 使用数据库类,db抽象层和orm有什么区别?
- 15. 有什么区别`和$(Bash中有什么区别?
- 16. ==和===有什么区别?
- 17. ==和===有什么区别?
- 18. 有什么区别? :和||
- 19. ==和===有什么区别?
- 20. '=='和'==='有什么区别?
- 21. `&`和`ref`有什么区别?
- 22. 有什么区别:。!和:r!?
- 23. | 0和~~有什么区别?
- 24. Appender和〜有什么区别?
- 25. JavaScript中的两个OO方法有什么区别?
- 26. Raven DB到SQL服务器(NoSQL DB到关系数据库)
- 27. Dynamo Db表或等效Nosql Db的架构设计论坛
- 28. 使用DB和DB连接池的正确方式是什么?
- 29. codeigniter中的$ this-> db-> query()和$ this-> db-> select()之间的区别
- 30. 有什么区别
我将Neo4J描述为图形数据库,而不是面向对象的数据库。另外,我不同意你的看法,即NoSQL是关于关系数据库的替代品。像Rel或Tutorial D这样的东西,它们都是关系型的,都在NoSQL的范围内。另外:图形数据库如果不存在关系,它会存储什么? – 2010-09-11 17:31:46
+1指出NoSQL的意思是“不仅是SQL”,而不是“没有SQL” – davehauser 2010-09-11 17:48:28
你是对的,Jorg。我的错。我正在考虑db4o。我会纠正它。 – duffymo 2010-09-11 17:51:51