我稍微搜索了一下对象数据库管理系统(OODBMS)和关系型数据库管理系统(RDBMS)之间的区别,我大致知道它们都是什么。然而,我应该如何决定哪一个更适合哪些应用程序呢?请问有谁能帮助我吗?
我的意思是指工厂管理:有制造瓶装、冷冻和其他食品的生产线。该应用程序从为生产线分配员工到在系统中保留生产记录等方面进行管理。哪种数据库管理系统更适合这样的系统呢?
提前致谢。
我稍微搜索了一下对象数据库管理系统(OODBMS)和关系型数据库管理系统(RDBMS)之间的区别,我大致知道它们都是什么。然而,我应该如何决定哪一个更适合哪些应用程序呢?请问有谁能帮助我吗?
我的意思是指工厂管理:有制造瓶装、冷冻和其他食品的生产线。该应用程序从为生产线分配员工到在系统中保留生产记录等方面进行管理。哪种数据库管理系统更适合这样的系统呢?
提前致谢。
这里有一篇Rick Grehan的好文章,描述了ODBMS在哪些情况下是有用的: http://www.odbms.org/wp-content/uploads/2013/11/006.04-Grehan-When-to-Use-an-ODBMS-2005.pdf
选择面向对象数据库管理系统(OODBMS)或关系型数据库管理系统(RDBMS)并不取决于特定的应用程序,比如工厂管理/自动化。
它取决于许多标准,例如:
1)编程范式 - 如果您[程序员]选择在面向对象编程语言中进行可视化/实现,则OODBMS适合将对象直接存储到数据库中,但最广泛使用的类型是关系型数据库管理系统,因为它在商业上已经得到了很好的建立,并且具有良好的数学背景。
2)应用程序特定 - 对于工厂自动化/管理,响应能力和快速访问非常重要。 OODBMS比RDBMS更快。如果您考虑进行Web开发,则像MySQL这样的轻量级工具非常适合。
3)趋势 - 现在从传统/结构化转向面向对象/组件化编程。因此,在这种趋势下,OODBMS最适合企业应用程序,例如工厂管理等。
这取决于应用层的使用。如果是一种更简单的过程化方法[也可以有类],关系型数据库管理系统更合适。否则,如果您更倾向于严格的面向对象系统,则可以使用面向对象数据库管理系统。
我通常将有用性的界限划定在需要集成到企业系统的点上。如果您的项目不一定需要集成,ODBMS通常更容易或技术上更优越。如果您可以通过Web服务或“推/拉”方式集成到企业系统数据库中,则仍然可以使用ODBMS,但可能会受到政治压力的影响。(像dRS for db4o这样的新型ODBMS/RDBMS复制可能非常适合)但是,如果您需要与遗留或企业数据存储紧密集成,则通常必须出于某种原因使用RDBMS。
话虽如此,您个人的生产线可能会从ODBMS中获得巨大的好处,因为它们非常擅长存储经常变化的复杂对象模型和架构,而编排系统可以遵循我之前的思路。
我已经使用ODBMS多年了,并一直担心需要返回到纯关系数据管理的项目。尽管ORM工具的最近改进使关系处理更加愉快,但ORM+RDBMS解决方案仍无法在一些关键领域与ODBMS系统相提并论(请参见odbms.org上的先前提到的文章)。