创建NoSQL数据建模符号 企业架构师亲自上阵

日期:2016-12-15作者:Jack Vaughan

【TechTarget中国原创】

新兴的NoSQL数据风格促使创新的应用程序快速发展,但NoSQL同时也带来了挑战。NoSQL系统能够快速投入生产,有时甚至根本不用创建任何的前期模式。然而,如果避开了基本的建模,对NoSQL系统输出的分析就会变得困难重重。Ted Hill认为,着手创建一个跨越SQL和NoSQL风格的建模符号时,可以更好地进行NoSQL数据建模。

作为一名在LexisNexis负责企业数据模型开发和治理的企业架构师,Hills已经努力将SQL和NoSQL的结构化和非结构化数据资产紧密结合在一起。在他名为《NoSQL和SQL数据建模》的新书中,Hills对Concept和Object Modeling Notation,以及COMN(与“common”发音相同)进行了描述,展示了如何将NoSQL与更大的建模技术相融合。

对于数据建模新符号的需求你是如何看待的?

Ted Hills:我在工作中主要使用实体关系(ER)建模,和统一建模语言(UML)来进行软件设计。我在试图建立一个元数据模型的时候发现的确很难用ER完成,因为ER的一个基本假设就是所有数据最终会置于表中。但是如果目标是一个NoSQL数据库的话,这将不再是目标所必须要具备的因素。

我发现有些东西是我无法仅仅通过对ER符号进行调整就能表现的。在物理层面上,ER无法表现的两样东西是数组和嵌套类型。在逻辑层面上,它则更为微妙。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Jack Vaughan
Jack Vaughan

TechTarget新闻记者和网站编辑,主要关注数据管理领域的技术趋势和动态。

其他NoSQL数据库>更多

相关推荐

技术手册>更多

  • Oracle错误

    Oracle文档是一件神奇的东西。许多人不喜欢阅读它,但是它的确包含了每个INIT.ORA参数和每个ORA错误。你找不到包含所有错误的书籍。本技术专题主要结合专家经验向读者介绍了Oracle错误的基础知识、各种错误出现的原因、连接数据库时可能出现的错误信息以及识别和解决错误的方法多方面的内容。

  • 安装SQL Server 2005报告服务

    使用一门新技术有时候是属于被迫的。没有正确地安装这个技术只会导致更多的困难。这篇指南列出了正确安装SQL Server 2005报告服务的步骤,以及让你走上正确方向的当前服务包。无故障顺利安装SQLServer2005报告服务包括六个步骤:1、判断先决条件;2、系统配置和注册;3、选择组件、特性和实例类型;4、安装完成之前的最后一点;5、开始服务包装以及查看安装和日志文件。这篇文章中的详细步骤和屏幕截图是直接从SQL Server2005标准版本的媒体中安装报告服务时得来的。

  • 09年必会的十大SQL Server开发技巧

    本专题为SQL Server开发十大技巧总结。如果你在工作过程中不了解这些开发技巧,可能会大大影响你的工作兴趣。无论你是现在是不是正将日期/时间数据类型转换成为字符数据类型,还是在SQL Server2005中操作DATETIME和SMALLDATETIME,或者用存储程序查找SQL Server表大小或用XQuery检索XML数值等等,本技术专题中的十大技巧都是今年你必须了解、知道的话题。

  • 2013数据库工程师薪酬调查报告

    TechTarget数据库网站每两年就会进行一次“数据库工程师薪酬调查”,对不同行业、不同层次的数据库技术从业者的薪酬待遇情况进行一次摸底。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • SOA
  • 云计算
  • 商务智能
【TechTarget中国原创】

新兴的NoSQL数据风格促使创新的应用程序快速发展,但NoSQL同时也带来了挑战。NoSQL系统能够快速投入生产,有时甚至根本不用创建任何的前期模式。然而,如果避开了基本的建模,对NoSQL系统输出的分析就会变得困难重重。Ted Hill认为,着手创建一个跨越SQL和NoSQL风格的建模符号时,可以更好地进行NoSQL数据建模。

作为一名在LexisNexis负责企业数据模型开发和治理的企业架构师,Hills已经努力将SQL和NoSQL的结构化和非结构化数据资产紧密结合在一起。在他名为《NoSQL和SQL数据建模》的新书中,Hills对Concept和Object Modeling Notation,以及COMN(与“common”发音相同)进行了描述,展示了如何将NoSQL与更大的建模技术相融合。

对于数据建模新符号的需求你是如何看待的?

Ted Hills:我在工作中主要使用实体关系(ER)建模,和统一建模语言(UML)来进行软件设计。我在试图建立一个元数据模型的时候发现的确很难用ER完成,因为ER的一个基本假设就是所有数据最终会置于表中。但是如果目标是一个NoSQL数据库的话,这将不再是目标所必须要具备的因素。

我发现有些东西是我无法仅仅通过对ER符号进行调整就能表现的。在物理层面上,ER无法表现的两样东西是数组和嵌套类型。在逻辑层面上,它则更为微妙。

接着我尝试了统一建模语言,然而它并不奏效。我尝试了基于事实的建模同样没有成功。这三种建模符号在基本层面上都存在问题。所以我决定通过开发自己的符号COMN来解决这些问题。如今,COMN是向其他方法开放的,因为你能够在COMN中使用ER,UML和基于事实的模型并表达它们。这是因为它涵盖了所有相同的概念,但它的涵盖性更为普遍。

有时候,是否有发觉急于追求NoSQL掩盖了对NoSQL数据建模的需求?

Hills:我们已经看到整个NoSQL世界正处于“疯狂状态”,而基于的事实是他们不必在数据开始存储之前告诉DBMS(数据库管理系统)数据模式是什么,这是很棒的。在你能够存储数据之前,你并不必花费数周或数月的时间来开发数据模型。你可以只存储数据,之后再进行建模。

但我们也看到很多人,尤其是那些只在软件开发环境中工作的人,由于过去从未从事过数据项目工作而犯下典型的错误。他们仅仅将数据扔进去,而不对其模式进行任何思考。找到之后他们的查询并未执行,导致数据丢失。

以数据模型开始的数据项目通常要比那些没有数据模型的项目要好。这在NoSQL世界依然成立。而NoSQL最大的不同在于,由于数据库并不会强迫你去做一个模型,因此开发人员很有可能就会只是将数据丢进去然后保持工作正常进行。

不过,你有说过NoSQL在某种程度上为应用程序的构建者扩展了工具箱,而且关系型DBMS有某些限制。

Hills:当然,如果你唯一的物理实现平台是一个RDBMS,那么就会有局限性。一是你会被迫在其自身的表中存储重复数据,而且无论是否具有逻辑意义你都必须给它一个关键值。但相对来说,数据的关系型模型是难以理解的,它关乎如何对数据进行思考,而不是如何存储数据。

当我们在阅读《NoSQL和SQL数据建模》这本书时,应该抱有哪些期待呢?我们为什么需要一个新的符号?

Hills:每个现有的符号都有内置假设,这使其很难考虑基本的数据问题,我认为我们必须从头开始。新模型可以让这些事情变得清晰,对关键值的决策有时是出于逻辑考虑,而有时是出于物理考量。当你必须对一个关键值做出决策的时候,要看该决策需要以逻辑模型还是物理模型来表达。在ER符号中,这通常是需要的,因为该模型不允许使用嵌套类型和数组。但有时你会因为逻辑原因而需要关键值,但其实属于逻辑模型。但没有其他的符号允许你在一个或是其他层面上使用关键值。这在COMN出现之前是不可能的。