当前,我们正在使用MySQL数据库。数据库大小约为45 GB,并且还在不断增长。
我们正在考虑使用Couchbase迁移到NoSQL技术。我不是数据库专家,在我进一步思考之前我几乎没有疑问
谢谢
答案 0 :(得分:3)
Nosql数据库的设计意图是通过带来水平可伸缩性来回答您的第一个问题,该水平可伸缩性使您可以轻松,经济高效地扩展数据库集群以管理越来越多的数据。这种水平可伸缩性并不是免费的,因为它通常会影响数据的可用性或数据的一致性,而这部分可以决定您选择正确解决方案的原因。
如何选择正确的nosql数据库将取决于您的应用程序约束。人们通常会在CAP三角形上找到不同的解决方案(一致性,可用性,分区容限)。您可以在此处找到参考:
https://www.dataversity.net/choose-right-nosql-database-application/#
您可以在其中看到,沙发床带来了可用性和分区容限,但在一致性方面却不是很好,这不同于经典的RDBMS,后者主要带来一致性和可用性功能。
因此,您的选择将取决于该条件以及nosql数据库的类型。 Couchbase是面向文档的,您还有其他选择(键值,列和图)。根据您的情况,文档或列可能更适合。
希望这会给您带来一些见识。
答案 1 :(得分:2)
选择将SQL vs NoSQL vs Graph ..这是第一步。根据数据之间的关系如何组织数据。如果需要对象之间的关系,请使用SQL / Graph DB,如果只需要一个对象,请使用NoSQL。
如果您选择使用NoSQL,则有很多选择。使用Erlang,我使用了CouchDB和Elastic Search,但是您可以选择MangoDB,Raik或其他东西。需要考虑的最重要的事情是如何访问数据,清除/删除大量数据的便捷性(CouchDB是不行的事情),是否需要ACID或最终一致性...
有时候我使用MySQL并将json存储在一个字段中,它比必须将所有内容存储在字段中或使用两个数据库(一个用于相关数据,另一个用于json)要好得多。
Erlang将与任何数据库一起工作,只需弄清楚您的要求是什么。
答案 2 :(得分:-2)
对于Erlang来说,最好的noSQL数据库是Riak-肯定是!但是,取决于数据的类型,如上所述。