未来软件是什么样子?-数据库篇(2)

 

观点3:数据库就是对象数组(Y10

如果对《未来软件是什么样子?-数据库篇》中的观点1和观点2表示认同,那请让我们继续,否则就当我扯淡吧。

        

既然数据库都放在内存中了,那么我们索性把它作为应用程序更能理解的对象不就行了吗?因为它们有太多的相同点,例如表中的字段可以对应为对象的属性等。

比如硬盘中有一个【人类】的数据表,可以在内存中解析为一个【人类】对象数组,并为之建立一系列的关联对象组,如【公司】,【学校】,这样我们也可以很方便的查询到某个人在什么时候,在哪里上过什么学校,什么时候在哪个公司供职过。

现在的关系数据库的功能,数据对象也能一一实现:

存储过程       ――       过程

自定义函数    ――       函数

触发器           ――       事件

 

面向对象很重要的概念是抽象,是继承,是重用,那么我们可以很简单的从【人类】数据对象数组中继承,添加了“超能力”的属性,并派生出一个【超人】对象数组,它和父亲对象组【人类】可以保持某种关联,也可以完全摒弃这种衍生关系。因为好比人类和黑猩猩拥有共同的祖先,但是恐怕一般还是会把他们分为2个完全不同的种别。但无可否认,他们都是起源于单细胞生物。

这样我们就可以马上对【超人】对象数组进行我们的操作,比如纽约发现生化怪物,急切等待救援,我们马上为超人1号添加“蜘蛛侠”的属性前去拯救。

当然,【超人】这个对象数组和他们的所作所为,也会同步到硬盘上的【超人】数据库,以免他们的“伟绩”被遗漏。(有点像科幻小说了,鸡蛋伺候!呵呵)

 

观点1数据库和开发环境的统一,在这种模式下,也可以很好的得到统一,因为现在的selectinsertupdatedelete针对的就是对象数组的集合。只要内存够大,或者说容量够大,我们完全可以把常用的【人类】表放在应用程序1和应用程序2中共同使用,实现了数据库表(即对象数组)的共享和重用。应用程序1和应用程序2只要通过了【人类】对象数组的读写等合法性认证,就可以进行读或写的操作。同样对【超人】对象数组也一样。

Saas模式下的开发,或许需要更深入的研究一下数据表的继承和重用。

 

画了一个简图,以便大家理解我说的意思。

 

 

 


观点4:人类的已知领域就是一个最大的数据库(Y100A

 

如果把存储的容量比为一个【小型宇宙模型】,那么它就是有容乃大,只要够大,我们可以把【人类】【植物】【动物】等等所有已知的万物都放在【小型宇宙模型】中,我们应用程序的功能就是指挥这些模拟的世界进行运转。当然需要秩序的规范,联想公司的员工当然要到联想上班,惠普的员工应该到惠普上班,所以要加以规范,这就是应用程序对数据库的访问权限进行控制。比如现在联想的企业管理软件,当然不能够修改惠普的员工绩效。否则会乱套了。

 

国际标准化组织,应该建立一套中心数据库,存储包括人类在内所有的人类已知的领域。并开放其查询,新增,更新,删除等接口,通过认证,让有权限的机构、组织进行数据库更新和维护。

这样,我们在新浪上叫A,搜狐上叫BCSDN上叫C,博客园上又叫D的问题,就能够迎刃而解了。统一就叫AAAA,是你在【小型宇宙模型】中的唯一标识。

而联想公司的内部管理系统,就是这【小型宇宙模型】中的一个小集合而已,可以与现实世界一一对应起来。

 

这样做会有以下好处和注意事项:

1)当前各个小数据库是最大的数据库冗余,建立一个统一的虚拟世界的模型,有助于删除这种冗余。国家,省会就是这么一些,没有必要在联想和惠普的系统中各自维护一套。把这个工作交给标准化组织。

2)最常用的数据放在最快的地方,好钢要使在刀刃上。

3)或许到时的贪污腐败将无所遁形,国家幸甚,民族幸甚啊:)

 

如果有一天能够这样天下数据一统,功绩堪比秦始皇统一度量衡啊,可谓人类发展的一个里程碑。

 

说的不对的地方,请大家指正。

  

未来软件是什么样子?

未来软件是什么样子?-SIF期货

未来软件是什么样子?-数据库篇

posted on 2008-10-13 15:26  丁志明 's  阅读(1721)  评论(7编辑  收藏  举报