[英]Can object oriented databases be a better option than a relational database with an ORM?
Just thinking that a relational db with an ORM is in many ways very similar to an object oriented database. 只是认为带有ORM的关系数据库在很多方面与面向对象的数据库非常相似。 My experience lies solely with RDMS with a hint of ORM, so it seems to me that object oriented databases are very similar but without the experience I can't say for sure. 我的经验完全在于RDMS带有一些ORM,所以在我看来,面向对象的数据库非常相似,但没有经验我无法肯定。
If you have used object oriented databases and ORMs can you compare them? 如果您使用面向对象的数据库和ORM,您可以比较它们吗? What are the weak points associcated with object oriented databases compared to RBMS+ORM? 与RBMS + ORM相比,与面向对象数据库相关的弱点是什么?
What are the weak points associated with object oriented databases compared to RBMS+ORM? 与RBMS + ORM相比,面向对象数据库有哪些弱点?
The biggest weakness is the lack of standardization : no standard API, no standard query language (the OQL attempt has been a big failure) and thus the lack of portability and interoperable tools (for backup, archiving, migration, etc). 最大的缺点是缺乏标准化 :没有标准API,没有标准查询语言(OQL尝试是一个很大的失败),因此缺乏可移植性和可互操作的工具(用于备份,存档,迁移等)。 You don't want that when it comes to data. 在数据方面你不希望这样。
This explains IMO why OODBMS are a failure from an adoption point of view and why RDBMS will stay around for a while, regardless of the NoSQL movement (I have the feeling that OODBMS vendors see the NoSQL movement as an opportunity for a come back after some rebranding of their products). 这解释了IMO为什么OODBMS从采用的角度来看是失败的,以及为什么RDBMS会保持一段时间,无论NoSQL运动如何(我觉得OODBMS供应商认为NoSQL运动是一个机会让一些人回来之后品牌重塑产品)。
My experience: 我的经验:
For really large systems in the enterprise world, consisting of say 250 million rows in a table, things like sharding and options such as clustered indexing vs. non-clustered indexing become important for performance. 对于企业界中真正大型的系统,包括表中的2.5亿行, 分片和选项(如聚簇索引与非聚簇索引)之类的内容对性能非常重要。 In this case, db4o wouldn't work, it may require something more enterprisey. 在这种情况下,db4o不起作用,它可能需要更具企业性的东西。 However, if you a trivially easy method of persisting objects, then an object database will fit the bill. 但是,如果您是一个简单易用的持久化对象方法,那么对象数据库将适合该法案。 All the work of learning SQL, setting up the mapping in the ORM, dealing with installation of MSSQL, implementing your own bulk loading procedures, etc just disappears, leaving you with clean, elegant 100% managed code. 学习SQL的所有工作,在ORM中设置映射,处理MSSQL的安装,实现自己的批量加载程序等都会消失,为您留下干净,优雅的100%托管代码。
I suspect that one of the reasons that vendors have not embraced object databases as that the database market is worth $3 billion per year, and there is no reason to kill the cash cow just yet. 我怀疑供应商没有接受对象数据库的原因之一是数据库市场每年价值30亿美元,而且没有理由杀死现金牛。
Disclaimer: I have no affiliation with either Microsoft or db4o . 免责声明:我与Microsoft或db4o没有任何关系。
Chris Date agrees: Chris Date同意:
... 'object/relational' system would be nothing more nor less than a true relational system ... A proper object/relational system is just a relational system with proper type support ... which just means it's a proper relational system, no more and no less. ......'对象/关系'系统只不过是一个真正的关系系统...一个正确的对象/关系系统只是一个具有适当类型支持的关系系统......这只是意味着它是一个合适的关系系统,不多也不少。
SQL and Relational Theory: How to Write Accurate SQL Code, p 36 SQL和关系理论:如何编写准确的SQL代码,第36页
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.