书摘:数据建模对业务应用至关重要

日期: 2014-07-16 作者:Steve Hoberman翻译:陈洪钰 来源:TechTarget中国 英文

著名作家Steve Hoberman同时也是数据建模讲师,他的数据建模和BI技术课程在全球有一万多名受众。他在刚刚出版的新书 Data Modeling for MongoDB: Building Well-Designed and Supportable MongoDB Databases中阐明:数据建模概念对业务成败仍然很重要。他在书中介绍了在MongoDB应用中简化复杂信息的术语和建议。本文是该书的节选,论证了企业采用数据建模的重要性,列举了数据建模的一系列应用场景。


为什么需要数据建模

我们之所以要做数据建模,是想要确认并记录我们对不同观点的理解。数据模型是一个通讯工具。因为即便是构建一个简单的应用,也需要很多角色参与,包括业务专家、业务分析师、数据模型者、数据架构师、数据库开发者、数据库管理者、其他开发者、其他管理者等等,不一而足。人们的背景、经验和专业水平都各不相同。有了数据模型,我们就可以证实我们对该区域的了解,确保人们获得的信息并无二致,至少,人们能意识到现存的不同点。

数据模型能够描绘出一个新的信息图景,或者描绘一个当前存在的信息图景。下图展示了两种不同情况下数据模型的应用。

传统上,项目在分析和设计阶段需要构建数据模型,确保数据库在真正创建之前,人们能够完全理解并且正确捕获对新应用的需求(也就是提前工程设计)。不过,在构建数据库之外,建模还有很多其他应用。

  1. 风险纾解。数据模型能够捕获受开发工程或项目影响的概念和交互。那么,增加或修改已经投入生产的应用结构会产生什么影响呢?这时就会用到“影响分析”,使用数据建模就可以看出结构的修改会对软件销售产生哪些影响。
  2. 逆向工程师。我们可以通过检验应用程序的数据库,为它的结构搭建数据模型的方法从已有应用程序中获得数据模型。从已有应用程序中搭建数据模型的流程有固定的技术术语,叫“反向工程”。很多行业的发展趋势是更多地购买软件,减少内部搭建。因此,建模人员的角色也就有了相应的扩展和改变。数据建模人员不再为应用程序建模,而是在已有应用程序中获取信息。
  3. 了解业务。在做大型的开发之前,技术人员必须要理解业务是如何运作的,这样才能知晓应用是如何支持业务的。比如,在构建订单输入系统之前,你需要了解订单输入业务流程。数据模型呈现的数据和关系为了解业务流程提供了基础。
  4. 知识传递。如果新的团队成员需要快速学习,或者开发人员需要了解需求,那么数据模型会是很有效的媒介。每当有新员工加入我们部门,我都会准备一系列数据模型,教会员工需要的概念和规则。这无疑是最快的方法。

为什么数据建模不可或缺

数据模型之所以能够确认和记录我们对不同观点的理解,原因就在于一个词,精确。精确,对于数据建模概念而言,意味着在同一个模型中读每一个符号和术语的时候,都只有一个清晰的,没有歧义的理解方法。你可能会认为某个规则不够精确,但这是另一回事。换句话说,不可能出现一个人看见模型中的符号说,我看见一个A,另一个人看同样的符号却说我看见一个B的情况。在数据模型中,精确是应用一组标准符号的结果。就像路边的加油站都有统一的标识一样,数据模型中也有标准的符号,我们很快就会发现的。

理解和精确记录数据的流程并不是可有可无的。只要应用里还有数据,有两个以上的人在构建或使用应用,就需要确认并记录我们对不同观点的理解。

以“客户”一词为例。你可能首先要问“你如何定义客户?“。这个问题问起来容易,答起来难,因为理解”客户“一词的角度很多。而当你得到答案之后,你可以继续问其他的数据建模的问题,比如:

  • 你如何描述一个客户
  • 一个客户能否拥有多个账户
  • 多个客户能否拥有一个账户
  • 客户是否可以不拥有任何账户

在数据建模阶段,还有很多这样的问题。提出这样的问题并获取答案的过程叫做”萃取“,数据建模包括萃取和记录数据管理。在萃取和记录数据需求之间有一个迭代的过程。如下图。

在数据建模过程中,我们不断提出问题,增加数据建模的准确性,然后再记录数据模型的过程中,我们会提出更多的问题。这个循环会不断继续,直到模型完成。随着加入建模的人们在术语、假设、规则和概念等方面不断提出问题、解决问题,我们会获得更多的知识,模型也会越来越完善。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐