1

我需要编写一个媒体应用程序来存储每个用户的电影/电视节目偏好/收藏。我需要帮助来决定何时使用 NoSql。

该应用程序将拥有一个巨大的电影/电视节目元数据数据库,类似于 imdb.com、rottentomattoes 等。这些数据对用户来说是只读的,只有管理员才能编辑电影内容。我还计划通过 odata 公开这些数据。

我的直觉告诉我,我至少应该使用 NoSql 来存储媒体数据,但我担心我会失去很多开发生产力工具(实体框架、设计器等)。

我也担心 NoSql 和数据重复(例如,每部电影都有一个类型列表,将在每个 k/v 或文档中重复(取决于我选择的 nosql db))

我的下一个功能是提供电影标题的自动完成功能,所以我也需要记住这一点。

有没有人做过类似的事情?我的担心正确吗?

4

2 回答 2

2

在开发需要丰富的个性化体验(如上所述)的 Web 应用程序时,您需要考虑您将为客户提供什么样的数据,以及如何为他们提供他们期望从您的应用程序中获得的体验(例如基于他们的品味、观看历史、行为等的电影推荐)。

您将要处理的大部分数据(用户资料、观看的电影、时间、星期几、暂停前多长时间)将是非常简单(半结构化)的数据,并且您需要从数据库中进行非常快速的索引查找和捕获能力,该能力是可靠的、高度可扩展的、易于使用的(从开发/管理的角度来看)。

NoSQL 数据库非常适合上述要求列表,因为它们旨在以非常低的延迟(低于 10 毫秒)为您提供非常高的吞吐量,可以横向扩展,从而为您提供最佳的“每秒操作数”/$。

事实上,我们已经为完全相同的用例(电影应用程序)构建了一个工作原型,并在 2012 年甲骨文开放世界大会期间展示了一个动手实验室。我们用于解决方案的一些技术是:

  • Oracle NoSQL 数据库 (http://www.oracle.com/technetwork/products/nosqldb/overview/index.html)

  • Oracle 高级分析(供推荐)

  • Hadoop

如果您想了解更多关于我们的解决方案的信息,请告诉我,我很乐意与您分享。

谢谢阿努杰

于 2012-12-01T07:34:08.880 回答
0

我们有一个将 mongodb 导出到 odata 的解决方案 http://jaydata.org/blog/install-your-own-odata-server-with-nodejs-and-mongodb (我在这家公司工作,它是免费和开源的)

于 2012-11-27T18:35:05.733 回答