精彩的讨论《数据库时代的终结 》

刚刚在Jdon上看到了这个贴子《数据库时代的终结 》,其中看到了Raimundo大侠的一些精彩思想,特别是对对象模型和关系模型进行了深层次的比较:

那么OO不具有思维简洁性不具有计算简洁性,他为什么能如此成功?因为它符合冯诺依曼原理,控制流主导,也就是通由对象的行为,指引数据的传递。也就是为什么职责,协作在OO中格外重要的原意。因为他们是刻画控制流的。”

“因此我的论点是,在[b]数据模型上[/b],OO并不占有优势。



“冯诺依曼原理给我的指导是什么呢?我想大家都有这样一个共识,就是软件结构一定要符合硬件结构。就算把jvm想象成抽象硬件可能这个命题依然成立。既然计算机的硬件结构依从冯诺依曼原理,软件也应该参照。就是软件应该立意于计算,但是计算之前要规划好存储。”

“至于说OO和数据中心那个好,我遗憾的告诉你,以我的经验,系统scale越大,oo在系统结构中的地位就越不重要,oo就越倾向于实现层次,而非架构。你看soa,根本不用考虑你的实现方式。虽然soa本身是oo的延续,但他也是oo主导体系结构的终结。实际上明白这一点,这可以很容易的明白为什么很多oo大师都不推荐分布的实体对象,比如ejb 1.x中的entity bean。就是因为large scale结构中的oo实效。”


....

建议对O/R Mapping、OO、系统架构比较感兴趣的朋友看看。

另外寒自己一个,一直做应用,忽略了软件的理论,看来该补上了。



posted on   wljcan  阅读(2408)  评论(6编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

导航

< 2005年5月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11
点击右上角即可分享
微信分享提示