描述键/值数据存储的 UML 方式?

Posted

技术标签:

【中文标题】描述键/值数据存储的 UML 方式?【英文标题】:A UML way to describe a key/value datastore? 【发布时间】:2009-09-21 08:00:27 【问题描述】:

我目前正在使用 berkeleyDB 编写数据库文档。我想绘制描述数据存储区的键和值的 UML 图。是否有使用 UML 描述这种数据库的“标准”方式?

谢谢

【问题讨论】:

【参考方案1】:

不。只是一个class diagram 有两个属性。一个用于键,一个用于值。请记住,UML 设计仅用于文档目的,尽管一些 UML 编辑器能够根据您的模型生成代码。

当然,您也可以使用Activity model 来显示此表如何与其他表交互。或者Use Case diagram,它显示了参与者如何处理数据。

不过,图表的种类更多。您需要哪一种取决于您想对您的项目说些什么。

【讨论】:

【参考方案2】:

执行此操作的正确 MDA 方法是使用类或对象图,为每个表使用类或对象,为每个数据库字段添加一个属性。为 PK、FK、Unique、Index 定义 Stereotypes,并酌情将它们附加到每个字段。将每个 Table 对象与关联连接起来。根据您使用的工具,您可能可以将关联的每一端附加到特定字段。

【讨论】:

【参考方案3】:

我更赞成更严格地遵守 NoSQL 数据库的结构和行为。因此,Base 的键值模型将与 MongoDB 或 DynamoDB 略有不同,但它会减少对必须实施该模型的人的偏见。例如。在 DynamoDB 中,我将有一个主表,其中包含分区和排序键以及不太相关的属性,并将符合二级索引的属性放在单独的表中。

【讨论】:

以上是关于描述键/值数据存储的 UML 方式?的主要内容,如果未能解决你的问题,请参考以下文章

数据存储方式——KVELL:快速持续键值存储的设计与实现

数据存储方式——KVELL:快速持续键值存储的设计与实现

是否有最佳实践/连贯的方法来更新包含哈希键值存储的数据库字段?

使用键/值存储数据

Citadel 如何仅使用 BerkeleyDB 键/值存储来构建数据?

Amazon.com 如何使用键值数据存储?