我遇到过许多NoSQL数据库和SQL数据库。有各种参数可以衡量这些数据库的优缺点,而可伸缩性就是其中之一。水平和垂直缩放这些数据库有什么区别?
3 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
水平扩展意味着通过向资源池中添加更多计算机来进行扩展,而垂直扩展意味着通过向现有计算机中添加更多的电源(CPU,RAM)来进行扩展。
记住这一点的一种简单方法是,想一想服务器机架上的计算机,我们在水平方向上添加了更多的计算机,在垂直方向上添加了更多的资源。
在数据库世界中,水平扩展通常基于数据的分区,即每个节点仅包含部分数据,在垂直扩展中,数据驻留在单个节点上,并且扩展是通过多核完成的,即在该计算机的CPU和RAM资源。
通过水平扩展,通常可以通过在现有池中添加更多计算机来动态扩展-垂直扩展通常限于单个计算机的容量,超出该容量通常会导致停机并具有上限。
水平扩展的好示例是Cassandra,MongoDB,Google Cloud Spanner ..,垂直扩展的好示例是MySQL-Amazon RDS(MySQL的云版本)。通过从小型机器切换到大型机器,它提供了一种垂直扩展的简便方法。此过程通常涉及停机时间。
内存数据网格(例如GigaSpaces XAP,Coherence等)通常仅由于未绑定到磁盘而针对水平和垂直缩放进行了优化。通过分区进行水平扩展,并通过多核支持进行垂直扩展。
您可以在我的早期文章中阅读有关此主题的更多信息: 横向扩展与纵向扩展以及NOSQL替代方案背后的通用原则
添加回答
举报
0/150
提交
取消