2

我正在开发一个具有多个模块的系统,

  1. 社交媒体用户人口统计 - (文档) - 姓名、地点、兴趣、工作、教育
  2. 社交媒体用户连接 - (图表) - 朋友
  3. CRM - (行和列) - 电信 + 银行等

仅举几例。我很确定我已经在每一项中都跨越了数百万条记录。

当我寻找可供选择的 NoSql 数据库时,每个类别中至少有 10 个。对于 Document 数据库,我有一个从MongoDB到的数组列表DjonDB。当我寻找图形数据库时,情况也是如此,依此类推。我还在http://nosql-database.org/看到了其他键值存储数据库、列式数据库等。

所以我想知道在这些数据库中选择时是否应该遵循任何通用的拇指规则,当列式数据库被优化时,键值存储最适合哪种类型的数据等等。

对于什么类型的数据,最适合的数据库是什么?为什么?最重要的是,对于什么类型的数据最不适合的数据库是什么?为什么?

谢谢

4

1 回答 1

2

这是一个非常开放的问题,但我会试一试。

需要记住的一些事项:

  1. 选择一个围绕它有一个很棒(不是很好,很棒)社区的数据库。您可能会发现 FooDB,它声称可以做您想做的一切,但没有人为它做出贡献,那么您将围绕一项死技术构建您的应用程序。您需要积极的贡献,大量的客户进行生产部署,理想情况下,它的第一个版本中没有。

  2. 尝试找到可以很好地协同工作的技术。例如,Elastic Search、MongoDB、CouchDB、Couchbase 或多或少都使用 JSON。这应该可以帮助您缩小对技术的选择范围。

  3. 我不会试图让自己太瘦。每种类型的数据库(图形、文档、行/列、键值对)都有自己的学习曲线。学习如何以非规范化方式对数据建模需要相当长的时间。您拥有的种类越多,维护所有这些不同的数据库就越困难。

  4. 我不知道为什么我很少将此视为建议,但我会选择您真正喜欢开发的东西。查询语法是否看起来直观且有趣?如果没有,你会讨厌在其中发展。这不是最重要的因素,但我认为应该考虑。

于 2013-03-08T23:27:03.570 回答