Rails + Ember - 不可变数据是否应该作为JSON存储在DB中?

时间:2014-10-30 22:20:35

标签: ruby-on-rails ruby json ember.js

我们即将开始开发一个带有Ember前端的Web应用程序,并将使用ruby作为API在rails上保留我们的数据。对于我们的用户将执行CRUD操作的常规模型,我们正在创建常规的rails模型,并在与Ember交互时将它们序列化/反序列化为JSON。

但是,我们也有一些不会随时间变化的数据。该团队倾向于将此数据作为JSON blob存储在DB的单个列中。或者,我们可以为这些数据创建等效的rails模型,然后为它们创建序列化器,但是流行的观点是,这不会为我们提供任何所需的功能。

是否有任何编程原则可以帮助指导最佳实践方法?

更新:已实现我没有完全描述数据。我们将存储多条来自第三方的记录。如果我们使用JSON blob策略,第三方会将其数据作为JSON提交给我们,并且只要他们更新数据,我们就会覆盖数据库中以前的JSON blob。因此,数据可以从第三方变更,但不在我们的前端。

1 个答案:

答案 0 :(得分:0)

何时存储

我会问这个问题:'我会有另一个前端访问这些数据吗?'。

  • 将来会有应用吗?
  • 内部系统以后可能需要这些数据是否有意义?

如果答案是肯定的,或者可能是这些问题中的任何一个,我会将其存储在数据库中。如果答案为否,它们只是env变量或结构,则没有理由将另一个数据库调用添加到应用程序的前端。

如何存储

当存储不随时间变化的数据时,例如城市或邮政编码列表。我会将它存储在Rails模型中,而不是存储在数据库中。

  1. 使用不同的环境时,您不必担心数据库迁移。
  2. 您可以轻松更改值并使用Gi​​t查看其历史记录。
  3. 它减少了比应用服务器难以扩展的数据库服务器上的调用。