什么是概念和对象建模符号(COMN)


Ted Hills 在最近的2018年数据架构峰会上主持了关于关系和NoSQL数据库数据建模的研讨会
NoSQL运动帮助数据库社区实现了两件事。首先,并非每个应用程序都需要ACID,并且放宽ACID可以扩展到Internet规模。其次,表格数据组织仍然适用于大量数据,但并不适用于所有数据集。但随着时间的推移,强大的SQL / NoSQL区别将消失,DBMS客​​户将从更多选择中受益。
实体关系(ER)建模技术已经用于SQL数据库很长一段时间,但它们对NoSQL数据库的工作方式不同。在研讨会上,Hills讨论了概念和对象建模符号(COMN,发音为“common”)。COMN用于表示不同NoSQL数据库支持的新数据结构。

COMN
概念和对象建模符号(COMN)是一种数据建模符号,能够以熟悉的图形符号表示需求,图形和本体谓词,逻辑数据,软件类结构以及NoSQL和SQL物理实现(框和这些线能够在非传统的实现中对这些层之间存在的非平凡映射进行建模。
宇宙被物体占据:相对稳定的物质配置。物体具有物理状态,其中大部分都是无意义的。计算机由大量对象组成,这些对象的状态我们可以操作。我们使用那些无意义的状态来表示数据,概念和其他对象。
这些简单的观察是概念和对象建模符号的核心,或COMN(发音为“common”),用于建模数据,软件和含义的图形符号。COMN在Ted Hills(Technics Publications,2016)的NoSQL和SQL数据建模:将数据,软件和语义结合在一起的书中有更全面的描述。
实体关系(ER)建模是用于设计结构化查询语言(SQL)数据库的经过验证的符号,但是Not-Only SQL(NOSQL)DBMS实现的新数据结构无法用ER表示法表示。此外,ER表示法甚至对SQL数据库设计也有一些限制。COMN展示了一种新的符号:概念和目标建模(COM)符号如何能够代表ER符号无法触及的NOSQL设计。
该图形符号如下:这是一个表示类的符号,基本与UML类似。

与ER建模不同
实体关系(ER)和其他符号假设数据最终将存储在表中。随着NoSQL数据库的出现,我们现在可以将数据存储在图形和文档中,以及其他表格结构中,例如宽列表,面向列的表和键/值对。我们不能再假设从逻辑数据设计到接近1:1的物理实现的映射。此外,建模物理实现(包括建模非表格结构,甚至建模查询)变得比以前更重要。COMN支持表达各种各样的物理结构,以及对它们所代表的数据的非平凡映射。

微服务对数据建模的促进作用
微服务本身不会有助于数据建模任务,但它们确实对数据架构产生了显着的积极影响。微服务必须设计为自给自足:它必须始终具有本地所需的所有数据。这涉及两种类型的数据:微服务创建和维护的数据,以及微服务必须从外部源获取的数据。数据如何存储在微服务之外的物理模型对于微服务并不重要,但是它如何到达微服务的模型确实很重要。这可能是XML或JSON文档。数据模型需要表示该文档结构以及微服务如何存储数据,并且需要显示它们之间的映射,这可能是非平凡的。COMN可以表达两种模型及其映射。

状态概念
每个DBMS,无论是NoSQL还是SQL,最终都是通过将无意义的物理状态(高压和低压,或开启和关闭)映射到有意义来表示数据。我们将该映射称为物理表示。在更高的层次上,我们使用表格,图形和文档等结构来表示关系。理解逻辑数据模型应该完全忽略这些物理映射问题是关键。逻辑数据模型应该完全集中在数据的含义以及它在逻辑上如何表示问题域中的数据。但是当从逻辑模型转移到物理模型时,物理表示设计变得至关重要,并且保留从物理模型到逻辑模型的映射。