nosql和数据组织

时间:2012-02-05 17:17:11

标签: mongodb nosql

所以我正在编写一个允许用户创建一种测验的应用程序。每个测验都可以不同,IE会有独特的问题和答案。我从来没有玩任何nosql数据库,我试图围绕如何nosql数据库(沙发,mongo等...)实际组织数据。看起来这种类型的数据存储可能很适合这种类型的应用程序(IE没有表定义可以提出多少问题的表)但我仍然不确定nosql数据库是如何实际工作的。

我倾向于更像是一个视觉学习者,有人能指出一些好的视觉效果或描述nosql数据库如何实际组织他们持有的数据吗?

1 个答案:

答案 0 :(得分:3)

我将谈论monogdb。 Mongodb以bson格式(二进制json)存储她的数据。您可以继续认为它以json格式存储数据。

Mongodb包含一个可以使用的大好处 - 能够使用embedd文档。您可以在应用程序中使用此功能:

所以你可以在你的问题集中嵌入答案:

questions {
   _id: 1,
    text: "What is your name",
   answers: [
    {
      order: 1,
      text: "Andrew"
    },
   {
      order: 1,
      text: "Greg"
    }
   ]
}

嵌入通常可以使您的数据库模式更简单,并且允许避免连接和数据通常看起来更自然。例如,在sql世界中,您没有任何其他解决方案,因为创建问题和答案的单独表格。

您可以使用的另一个好处是 - 可扩展性。 Mongodb旨在完全可扩展,它支持分片和副本集。

您可以开始阅读更多here架构设计。你也可以查看little monogdb book,只有30页,但它应该有助于更深入地了解mongodb的工作原理。

只需选择一些nosql数据库并尝试使用,你就可以开始使用相当简单的项目了。我相信你一旦尝试就会喜欢它。