对象数据库很少使用,尽管它们提供了一种无需 SQL 的方式,我认为这是它自己的好处。
然而,我在生产系统中从未见过它们。对象数据库有什么根本错误吗?我可以在生产系统中使用对象数据库吗?
编辑:所以,也许我应该承认我喜欢对象数据库。我无法真正理解为什么它们没有更频繁地使用。
对象数据库很少使用,尽管它们提供了一种无需 SQL 的方式,我认为这是它自己的好处。
然而,我在生产系统中从未见过它们。对象数据库有什么根本错误吗?我可以在生产系统中使用对象数据库吗?
编辑:所以,也许我应该承认我喜欢对象数据库。我无法真正理解为什么它们没有更频繁地使用。
当然可以,只要稳定。问题是相对缺乏高质量的面向对象数据库系统,以及大多数人甚至不知道它是什么的事实。
有使用 GemStone OODB 编写的生产系统。它是一个分布式的、持久的 Smalltalk 系统。
这里真正的问题是您是否需要工具来支持您的数据库。我所说的工具是指报告、数据迁移、数据挖掘等。您需要提供自助报告吗?哎呀,即使是不需要部署新代码的快速周转时间的报告?(在应用程序中提供报告功能确实很麻烦。)
有无数工具可用于针对传统 RDBM 执行这些操作。反对OODB?我对任何主要产品都不熟悉。不过,不可否认,我不是那种 OODB 的人。
如果你不需要这些工具,他们会去的。否则,请坚持使用传统的 RDBM。使用当前的 ORM 技术,将对象映射到记录的痛苦比以前要少得多。
我相信的问题是,SQL 本质上并不是一件坏事。它非常擅长执行基于集合的操作。据我所见,对象数据库在处理单个对象时运行良好,但在尝试执行基于集合的操作时却失败了。此外,人们非常擅长使用 SQL 数据库。很容易找到与他们合作的人。对象数据库是另一回事。