数据库水平和垂直缩放之间的差异[关闭]

关闭。这个问题需要更加关注。它目前不接受答案。

<hr class=“my12大纲无baw0 bb bc-POWER-400”/

想改进此问题吗?编辑此帖子,更新问题,使其只关注一个问题。

去年关闭了

改进这个问题

我遇到过许多NoSQL数据库和SQL数据库。有不同的参数来衡量这些数据库的优缺点,可伸缩性就是其中之一。水平和垂直扩展这些数据库有什么区别

水平扩展意味着通过向资源池中添加更多机器来扩展,而垂直扩展意味着通过向现有机器添加更多电源(CPU、RAM)来扩展

记住这一点的一个简单方法是将机器放在服务器机架上,我们在水平方向添加更多机器,并在垂直方向向机器添加更多资源

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

通过水平扩展,通过向现有池中添加更多的机器,通常更容易动态扩展-垂直扩展通常限制为单个机器的容量,超出该容量的扩展通常涉及停机时间,并且有一个上限

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

内存中的数据网格(如GigaSpaces XAP、Coherence等)通常针对水平和垂直扩展进行优化,因为它们不绑定到磁盘。通过分区实现水平扩展,通过多核支持实现垂直扩展

你可以在我之前的文章中阅读更多关于这个主题的内容:
向外扩展与向上扩展以及NOSQL替代方案背后的共同原则

发表评论