Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

闲扯数据主导型产品

  最近觉得,对于数据主导型产品,其好坏不是从程序结构上看的,而是数据库设计上。程序可以边写边重构,就算是一套很烂的程序也可以逐步调整到最佳状态。但是数据库结构可能就动不了了,不仅因为和程序关联密切,而且还因为数据量大而不容易操作。
  这个话题的核心应该牵扯到一个哲学问题,「本质是什么」?程序可以边写边重构,最终调整到最佳,最适合业务的状态。那么数据库就不可以这么逐步调整么?其实也可以,只是动作有点大而已。而且数据的结构变化后项目还能算是原来的项目么?
  然后突然想到了忒修斯之船问题,感觉就是程序的版本管理在作祟。一个程序可能因为第一个版本的功能而叫做某个名字,然后之后由于业务的逐步变更已经完全没有最粗的任何一行的代码了。这是程序的名字可能依然是最初的那个名字,只有版本号在变化。或者有些程序确实逐步进化之后连名字都改了,比如 IE 升着升着,最后整个人都斯巴达了。
  好像突然就扯远了?其实我想表达的是数据主导型产品其数据库设计的重要性。因为我每次看到项目寿终都是因为数据库设计再也无法满足需求。如果一个数据主导的产品其数据库结构要做个很大调整,那么一般的程序重构就可能无法实现。也许这时用一个新的名字,新开一个项目,然后对旧的数据做一次清洗和大规模迁移,这样才能把项目延续下去。
  总结起来就是,功能主导的产品它自己就是本质,只要把程序代码维护好就总是没问题;而数据主导的产品数据库才是它的本质,把数据库结构维护好才能让项目活得足够久。
网名:
3.80.55.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^