关系数据库真的很难扩展吗?

问题描述 投票:0回答:1

不能像在NoSQL数据库中那样在关系数据库中添加更多节点吗?这样是否也无法实现RDBMS的可伸缩性?为什么很多人声称RDBMS难以扩展?

database nosql rdbms scalability
1个回答
0
投票

我们可以通过分片将更多节点添加到关系数据库(如MySQL)中。基本上,我们会将您的整个数据分成多个部分,并将它们存储在多台计算机中。这就是使用RDBMS的银行网站之类的应用程序如何扩展的方式。但是,您需要考虑的一点是如何分片数据。

例如,如果您正在运行一个电子商务网站,则可以在第一个服务器中放置1,000个客户的数据,在第二个服务器中放置接下来的1,000个客户的数据,等等。此外,您将获得一个映射,该映射属于您的哪个客户属于您的哪个服务器应用程序逻辑并根据客户将查询路由到计算机。

如果您有一个客户'A',其数据与其他一些客户一起存储在服务器1中,并且如果'A'每天进行的交易更多,那么他的数据将继续增加,并且会影响其他客户的性能数据存在于同一数据库中的客户。因此,我们将进行重新分片。我们会将这个使用率很高的客户的数据移到新机器上,并在我们的应用程序逻辑中更改该客户的映射,以指向该新机器。

此系统中的一个瓶颈是跨数据库联接。也就是说,查询需要来自多台计算机的数据。理想情况下,这种情况不应在正常交易中发生。如果出于机器学习的目的对客户数据进行了一些分析,则需要再次将数据存储在NoSQL数据库中并对其进行分析。

© www.soinside.com 2019 - 2024. All rights reserved.