以数据库为中心与面向数据库

摘要:本文回顾了数据库与SQL最初的目的与其中包含的架构思想,分析了数据库平台在应用架构发展中的退化问题以及数据库为中心或面向数据库的架构。面向数据库与面向服务架构 (SOA),似乎是矛盾的:一个向前,一个向后。但在更深入的层次上,是可以实质地结合或统一的。

数据库的初衷是直接面对最终用户

关系数据库和SQL最初提出时,都含有直接针对最终的用户,而不是软件开发者或作为软件间的接口的意思。将数据集中、专门管理,然后让最终用户如同到银行存钱、取钱一样使用,这是数据库之父 E. F. Codd 最初的想法,所以他初次发表时使用的名字,正是“数据银行”(data bank)。这里包含着这样一些意思:

  1. 用户既取(查询、输出)、也存(创建、修改、删除);
  2. 数据是独立的(存在银行或仓库这一事实不代表其所有权的转移);
  3. 数据库及其操作是内容无关的(无论存取何种货币或者货品,银行、货仓的设施、基本手续是一样的);
  4. 操作简易、通用(例如屏蔽了存放、处置、保护钱的各种麻烦)。

透过早期的dBase产品,也能体验到这种想法,及渐渐演变的过程。现在的DBMS产品概念,基本已经是纯粹的“后台”,而SQL也几乎完全成为嵌入在高级程序代码中,供程序员使用的一种中间语言,甚至就连定位为终端用户桌面产品的MS-Access这样的特殊产品,也很少为最终用户直接使用。

数据库平台在应用架构发展中的退化

以前,我留意到许多程序员在设计数据库应用时,不使用数据库平台的基本特性,例如存储过程、触发器,CHECK、DEFAULT、NOT NULL、UNIQUE,甚至连FOREIGN KEY,PRIMARY KEY都不用。那时感觉有一部分人这样做是出于对数据库的理解不够。但除去这一部分,也有很多实在的理由,比如跨平台的需要等等。按照现在的主流技术,中间层不仅已经成为常态,而且成为另一个可由通用商业平台支撑下的层次(应用服务器),这个层次看来似乎大有夺走数据库的“逻辑层”基本功能的趋势。按照这种趋势,数据库平台基本就只发挥其“物理层”的功能:存储、快速检索数据。这种趋势,与商业数据库产品发展过程中拼命加厚后台功能(例如后台过程编程的能力)的趋势,是有矛盾的。数据库平台、应用平台之间,面临着一次功能的重分配或定位。

以数据库为中心的应用与面向数据库

无论技术架构的层次分工上怎样变化,有一个基本点是不会变化的,即涉及到企业基本业务的综合企业应用系统,是建立在“信息”(大量有意义的数据)基础上的,在这个背景下,“企业应用”与“企业信息系统”几乎同义。这是由企业本身的特质决定的,应用系统架构只能顺应它。

从这个角度再去观察,各种企业应用(不论管理信息系统MIS、企业资源规划系统ERP,还是事务处理系统TPS或决策支持DSS,甚至业务智能BI、知识管理km),都是“基于数据库”的。假设一个企业从不同的公司购买了若干不同的应用,按照现在的状况,几乎可以肯定,它们各自的数据库都是独立的。涉及这个问题的流行说法是信息孤岛,其实每个信息孤岛覆盖面的重叠隐藏着更大的问题。把这样的东西集成起来,哪怕用上最新的SOA架构,也只是掩盖而不是解决问题的根本。站在用户的立场上,这些数据本来就是一个关联的整体。现在没有一种方案或技术能帮助现实中的企业达成这种理想的状态,但这个道理是很重要的,不应忽视。

退一步说,企业应用开发者至少应该理解,数据本来不应该是属于特定的应用软件,而是属于用户。应该假设先有用户的数据——客观存在的、整体的、自我演化中的——应用开发者是做一些工具去操作这些数据。这样一种观念,称为“以数据库为中心”(Database-Centered),从系统分析与实现的逻辑或系统架构上说,即“面向数据库”(Database-Oriented)。不管以往的应用开发者主观意识是否这样认为,客观地看,这是大部分企业应用(或许可以笼统地归纳为企业信息系统应用)都具有或隐含着的一个特征。

面向数据库,与当前兴起的面向服务架构 (SOA),似乎是矛盾的:一个向前,一个向后。但我看它们在更深入的层次上,是可以实质地结合或统一的。与面向数据库相对照,现在绝大多数的企业应用设计者的思维是“面向功能”的,或者说是前台功能导向的。将这些思路对比思考一下,可能会是很有启发的。

原始发表:flyingrobot, 2007-09-28,
https://blog.csdn.net/flyingrobot/article/details/1804688

作者印记:c8cc97


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容