走在架构师的大道上 Jack.Wang's home

Java, C++, linux c, C#.net 技术,软件架构,领域建模,IT 项目管理 Dict.CN 在线词典, 英语学习, 在线翻译

BlogJava 首页 新随笔 联系 聚合 管理
  195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks

       很多人都看过 DDD, 从2002 年开始在中国开发者社区已经炒的沸沸扬扬,但直到现在有多少家公司是这么做的?实话,我自己没用DDD,也是用数据库驱动开发的,即以数据设计为中心,至少从思想上是这样的。虽然我上一个公司的开发模式是用----- 用例模型-》服务对象-》业务对象-》数据对象----这样一个过程。但分析的实质还是以数据设计为中心,只能说是弱弱的DDD吧,批着DDD,实则是以数据库中心。
----------------------------------数据库以死-------------------------------------------------------------------------------
       原文地址:http://www.jdon.com/artichect/dbdead.htm
       现代软件和以往传统软件主要区别在于:现代软件基于internet互联网技术,运行于开放的网络环境,不象传统软件只是运行在封闭的局域网,运行环境的区别就决定了软件操作用户的多少,在一个开放互联网环境, 你的软件系统用户是不断增长,特别是那些对所有人群开放的社区网站系统,更是承受前所未有的访问负载。那么,这些软件系统承受的压力主要会集中在软件的哪个环节呢?如果你使用传统软件的设计思路,那么无疑压力都集中在数据库上。
  随着用户的爆发量增长,在某个凌晨醒来时,你发现:数据库已死。

  传统软件系统实则应该叫数据库软件系统,是一个数据库系统,开发这样的系统非常简单,成本 也非常低廉,只要根据需求先设计好数据表结构,然后,就找一些大学毕业生写大量SQL语句,虽然还使用 JAVA/PHP/.NET等语言,但实际上这些语言只是将SQL送往数据库执行的运输工,没有什么价值和地位。

  所以,这样的系统运行在互联网环境下以后,主要负载就集中在数据库的SQL运行上,也就是说:整个软件系统性