数据库水平和垂直缩放之间的差异

问题描述 投票:633回答:11

我遇到了许多NoSQL数据库和SQL数据库。有各种参数可以衡量这些数据库的优缺点,而可伸缩性就是其中之一。水平和垂直缩放这些数据库有什么区别?

database database-design nosql scalability
11个回答
1149
投票

水平扩展意味着您通过添加更多计算机进行扩展到资源池中,而垂直扩展意味着您通过向现有计算机添加更多电源(CPU,RAM)来进行扩展

记住这一点的一种简单方法是考虑服务器机架上的计算机,我们在horizo​​ntal]方向上添加了更多的计算机,并在vertical方向上添加了更多的资源。

Horizontal Scaling/Vertical Scaling Visualisation

在数据库世界中,水平扩展通常基于数据的分区,即每个节点仅包含部分数据,在垂直扩展中,数据驻留在单个节点上,并且扩展通过多核完成,即扩展在该计算机的CPU和RAM资源之间加载。

通过水平扩展,通常可以通过向现有池中添加更多计算机来动态扩展,这更容易-垂直扩展通常限于单台计算机的容量,超出该容量的扩展通常会涉及停机时间,并且存在上限。

水平缩放的好例子是Cassandra,MongoDB,Google Cloud Spanner ..,垂直缩放的好例子是MySQL-Amazon RDS(MySQL的云版本)。通过从小型机器切换到大型机器,它提供了一种垂直扩展的简便方法。此过程通常涉及停机时间。

GigaSpaces XAPCoherence等内存数据网格通常仅针对水平和垂直缩放进行了优化,这是因为它们未绑定到磁盘。通过分区进行水平扩展,并通过多核支持进行垂直扩展。

您可以在我之前的文章中阅读有关此主题的更多信息:Scale-out vs Scale-upThe Common Principles Behind the NOSQL Alternatives


0
投票

公认的答案是关于水平缩放与垂直缩放的基本定义。但是不同于通常的看法,即只能通过Cassandra,MongoDB等实现数据库的水平扩展,我想补充一下,任何传统的RDMS都可以实现水平扩展。也无需使用任何第三方解决方案。


0
投票

[您有一家公司,只有1名工人,但是当时您雇用了一个新候选人时,您有了1个新项目-这是水平扩展。新的候选人是新机器,项目是新的访问量/对api的调用。


147
投票

简单来说:


17
投票

让我们开始进行扩展,这需要增加资源,以便您的系统现在可以处理比以前更多的请求。


9
投票

[没有提到的其他体系结构-基于SQL的数据库服务可实现水平扩展,而无需手动分片。这些服务在后台进行分片,因此它们使您能够运行传统的SQL数据库并像使用MongoDB或CouchDB这样的NoSQL引擎进行扩展。我熟悉的两个服务是PostgreSQL的EnterpriseDB和MySQL的Xeround。我看过Xeround的一份深入的post,它解释了为何难以扩展SQL数据库以及如何以不同的方式进行扩展-由于这是供应商的工作,所以要一针见血。还请查看Wikipedia的Cloud Database entry,其中有SQL,NoSQL,服务和自托管的很好的解释,以及每种组合的供应商列表和扩展选项。 ;)


8
投票

是的,水平扩展意味着添加更多的计算机,但这也意味着群集中的计算机是相等的。 MySQL可以通过使用副本在读取数据方面进行横向扩展,但是一旦达到服务器内存/磁盘的容量,就必须开始跨服务器分片数据。这变得越来越复杂。由于复制速度通常太慢而无法跟上数据更改速度,因此经常使副本之间的数据保持一致是一个问题。


6
投票

传统关系数据库被设计为客户端/服务器数据库系统。它们可以水平缩放,但是这样做的过程往往很复杂并且容易出错。像NuoDB这样的NewSQL数据库是以内存为中心的分布式数据库系统,旨在在保持传统RDBMS的SQL / ACID属性的同时水平扩展。


5
投票

SQL数据库(例如Oracle,db2)还支持通过共享磁盘集群进行水平扩展。例如,Oracle RAC,IBM DB2 purescale或Sybase ASE Cluster版本。可以将新节点添加到Oracle RAC系统或DB2 purescale系统中,以实现水平扩展。


2
投票

所有其他答案似乎已经很完整了,但是我没有看到Google Cloud Spanner作为具有水平缩放比例的关系数据库的示例,这就是为什么我要贡献一点点。


0
投票

添加大量负载平衡器会产生额外的开销和延迟,这是在nosql数据库中水平扩展的缺点。这就像一个问题,为什么人们不建议使用RPC,因为它不可靠。

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