0

我想创建一个网站,用户可以在其中创建自己的教学资源,例如嵌入图像的文本块等。

我应该如何将它存储在 Rails 的数据库中?我听说 mongoDB 非常适合存储文档,但我计划将 postgresql 用于用户数据库等,并且读过通常你不应该混合不同类型的数据库

我确定这是一个显而易见的问题,但我无法在任何地方找到答案......

谢谢,

格雷厄姆

4

1 回答 1

1

你可以做几件事。

1.对 Users 表和 TeachingResources 表都使用PostgreSQL。您可以简单地使用content类型的列text来保存所有数据。


2.使用PostgreSQL,但使用该HStore功能基本上存储您选择的对象的散列,这为您提供了更大的灵活性。默认情况下, Rails 4 将支持此功能,但您也可以使用gem


3.在您的应用程序中结合使用PostgreSQL 和 MongoDB(或任何其他 NoSQL 解决方案)。我不认为这是一个糟糕的解决方案,但它确实使您超出了 Rails 中的“新用户约束”,因此这可能不是开始的最佳途径


4.一路走NoSQL 。您没有理由不能将 MongoDB 用于您的用户模型。但是,您是对的,这种类型的数据存储不能提供完整的ACID保证,因此请小心产品规划并了解它的漏洞(以及它的优势)。

于 2012-06-22T14:26:52.513 回答