面向对象和关系数据库各有各的定位,仙女和凡人都有各自的界。面向对象数据库类似仙女下凡。
面向对象主要是使用类型来区别标识业务,对于复杂的业务面向对象+类型语言比较直观,但是在干脏活累活方面关系数据库还是比较擅长,NoSQL则擅长处理非结构数据。
结构化数据和非结构化数据都可以用面向对象方式组织起来。
另外面向对象实际是面向人类,而数据库是面向计算机CPU,所以,各自服务对象不同,因为人是有灵活性的,所以,适合计算机CPU的数据库人类也可以学会其规律,用数据库思路来思考问题,只是需要翻译,很多人习惯了没有感觉这其中有翻译,有翻译就有失真,这其实是一种不正常畸形,当然生活在畸形中的人如果不尝试正常状况(面向对象是一种适合人思考的正常状况),那就无法意识到自己是畸形,朝鲜人不出国旅游可能无法意识到自己的状况。
但是又不能将适合人思考的正常状况--面向对象强加到计算机上,事物没有人那么灵活,能够忍受不适合自己的畸形,因此就表现出性能等问题。
目前中间状态是,将用面向对象分析设计出来的类型代码放在内存中,数据库(SQL和非SQL)作为备份持久化使用,就如同我们用文本文件输入文本,经常要按Ctrl-s手动保存或激活自动保存一样。磁盘文件只是一个备份手段。当然现在很多NOSQL数据库也是这个原理,数据首先更新到内存中,然后记录下数据更新的事件,使用追加方式加入到磁盘文件上,然后,根据这个事件文件重放,用来同步内存和数据库。
[该贴被banq于2014-09-05 11:16修改过]