我正在开发一个有多个模块的系统,
仅举几例。我很确定我已经在每个记录中越过了数百万条记录。
当我寻找可供选择的NoSql数据库时,我在每个类别中至少有10个。对于文档数据库,我有一个从MongoDB
到DjonDB
的arraylist。当我寻找图形数据库时,情况也是如此,依此类推。此外,我还看到了其他关键值存储数据库,列式数据库等,仅举几例http://nosql-database.org/。
所以我想知道是否有任何通用的拇指规则,我应该在这些数据库中进行选择,优化柱状数据库时,键值存储最适合的数据类型等等。
哪种类型的数据适合哪些数据库?为什么?最重要的是 对于什么类型的数据以及为什么最适合的数据库是什么?
由于
答案 0 :(得分:2)
这是一个非常开放的问题,但我会试一试。
要记住的一些事情:
选择一个围绕它的社区有一个很好的(不是很好的)社区的数据库。您可能会发现FooDB并声称可以执行您想要的所有操作,但没有人为此做出贡献,那么您将围绕一项死技术构建应用程序。您需要积极的贡献,许多客户都有生产部署,理想情况下不是第一个版本。
尝试找到能够很好地融合的技术。例如,Elastic Search,MongoDB,CouchDB,Couchbase或多或少都使用JSON。这应该可以帮助您缩小技术选择范围。
我不会尝试将自己传播得太瘦。每种类型的数据库(图形,文档,行/列,键值对)都有自己的学习曲线。学习如何以非规范化方式建模数据需要相当长的时间。您拥有的品种越多,维护所有不同数据库的难度就越大。
我不知道为什么我很少将此视为建议,但我会选择您真正想要开发的内容。查询语法是否直观且有趣?如果没有,你会讨厌在其中发展。这不是最重要的因素,但我认为应该考虑它。