0

构建一个使用两种不同方法在应用程序中存储数据的应用程序是否有意义?用一个例子来澄清我的意思可能最容易:

假设我在经营一家在线书店,需要跟踪书籍、客户、订单等。我的本能是使用关系数据库来保存此类信息。现在,假设当我的客户有我的帐户时,他们可以通过各种方式配置他们的主页。例如,假设有一个时钟小部件,它可以有不同的类型(模拟/数字)、颜色,并且可以放置在页面上的任何位置(或根本不显示)。我们希望存储此信息,以便在客户登录时,小部件的类型、颜色和位置都正确。也许客户可能使用或不使用多个小部件,每个小部件都有自己的属性。换句话说,客户特定的属性需要灵活。我对这种事情的直觉是将这些信息以另一种格式存储,例如 XML,尽管到目前为止我还不需要在任何项目中使用 XML。在我看来,像 MongoDB 这样的东西可能对保存这类信息有意义,但我对它的了解还不够多,无法做出明智的判断。

分离出此类信息是否有意义,或者是否应该抽象关系数据库以保存此类信息?我敢肯定这里没有正确的答案,但您的见解将不胜感激。

4

1 回答 1

1

最确定的是,例如,我开发了一个 Ruby on Rails 社交应用程序,它结合使用了Couchbase(NoSQL 文档数据库)和Neo4J(NoSQL 图形数据库),将 Couchbase 用于大量数据,包括实时聊天和评论(类似推特的流),Neo4J 有一些重复的数据,但主要用于通过社交网络(图表)进行内容发现。

在性能、一致性和可扩展性方面,Couchbase 处于领先地位,并且有许多依赖于它的大容量和可扩展应用程序示例。Couchbase 和 MongoDB 将数据存储为 JSON,但您也可以存储序列化的对象。如果您使用的是 XML,则转换为 JSON 并返回非常简单。

于 2012-08-14T20:20:06.150 回答