设计MongoDB解决方案?

时间:2010-05-25 15:26:51

标签: database-design mongodb

我是一个RDBMS人,我认为该项目在MongoDB系统中运行得非常好。出于不同的原因,我认为与手头的问题无关。

无论如何,我的系统将如下所示:

Properties Available
  Houses
    House A
      123 Pine Street
    House B
      456 Main Street


Realtors
  Sale
    Leads
      Properties
        House A
          123 Pine Street
      People Involved
        Moe Howard
        Larry Fine
        Shemp Howard
    Budgets
      Operating Budget Items
        $200 rentals
        $400 supplies

如你所见,我有两个收藏品。一个(“可用属性”)将在不同时间从不同来源生成,并将在任意数量的用户之间共享。大部分内容都是静态的,不会经常更改。

另一个系列是“房地产经纪人”。

现在,在我的旧RDBMS世界中,我将为潜在客户,人员,预算等创建表格。 但是,我认为将所有信息保存在一个巨大的“记录”中会更好。 “销售”记录将持续一段时间(可能是几周),然后关闭。对我来说,保持一条记录内的所有内容都很棒。特别是因为存在诸如网站,笔记,照片等内部存储的通用和动态信息。

我是否以正确的心态来接近这个?我很难放弃关系模型。

感谢您提出任何建议和提示。

1 个答案:

答案 0 :(得分:1)

无法回答是或否,这是您数据的最佳设计。您已经描述了要存储的项目,但没有描述您打算如何查询它。

关系模型非常适合设计冗余最小的存储,并支持最广泛的查询。

面向文档的模型非常适合优化特定的查询。但您需要事先知道哪些类型的查询需要最有效率。

请参阅TANSTAAFL