【问题标题】:How to design the tables/entities in NoSQL DB?如何设计 NoSQL DB 中的表/实体?
【发布时间】:2016-02-28 03:35:36
【问题描述】:

我在 NoSQL 数据库中迈出了第一步,因此我想听听有关实现以下要求的最佳实践。

假设我有一个消息数据库,它由 MongoDB 引擎提供支持。该数据库包含一个文档集合,其中每个文档具有以下字段:

  • 时间戳;
  • 消息作者/来源;
  • 消息内容。

现在,我想建立一个作者/来源列表,以便为每个来源添加一些元数据。在经典 RDBMS 的情况下,我将定义一个表 tblSources,我将在其中存储每个作者的消息源的名称和所有其他元数据(或到相关表的链接)。我的问题是在 NoSQL/MongoDB 世界中处理此类任务的正确方法是什么?

【问题讨论】:

  • 您选择使用 NOSQL 而非传统 RDBMS 有什么特别的原因吗?因为这听起来很像适合后者的任务
  • 其实我想体验一下NoSQL,所以我决定用MongoDB而不是RDBMS

标签: mongodb nosql


【解决方案1】:

这实际上取决于您希望如何使用数据。 NoSQL 数据库在设计时通常不会考虑快速连接,但它们仍然能够进行连接和存储外键。

你的选择真的很丰富

  1. 重复数据也就是将作者元数据存储在每个文档中。在您真正尝试优化查找并将 Mongo 用作键值存储的情况下,这可能会更好
  2. 加入外键 - 这与使用 RDBMS 的方式非常相似

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2012-07-31
    • 1970-01-01
    相关资源
    最近更新 更多