数据库中的垂直和水平缩放

Posted

技术标签:

【中文标题】数据库中的垂直和水平缩放【英文标题】:Vertical AND Horizontal scaling in databases 【发布时间】:2016-05-01 06:05:01 【问题描述】:

我是数据库新手,目前正在比较 RDBMS 和 Key-Value 数据库系统。我知道像 NoSQL 这样的 Key-Value 数据库系统针对水平扩展进行了优化,而关系数据库系统针对垂直扩展进行了优化。垂直扩展在 K-V 数据库系统中效率不高有什么原因吗?如果没有,为什么不到处使用 K-V 数据库系统?

【问题讨论】:

SO 更适合实际的编程问题。 SO: Difference between scaling horizontally and vertically for databases Wikipedia: Horizontal and vertical scaling / Database scalability PS 关系模型是关于通过表为每个关系构造数据。它没有说明实施。如果当前的 RDBMS 没有按某个方向扩展,那是因为供应商选择不优化/商品化这些用例。此外,根据这些链接,尚不清楚 H 与 V 是否与 NoSQL 与 RDBMS 保持一致。 为什么不到处使用 K-V?因为除了垂直和水平缩放之外,有用的系统还有许多其他标准。即使那样我也不认为你的断言是正确的 【参考方案1】:

没有你想的那么简单。

关于这个有争议的问题有几篇文章和演讲。虽然 NoSQL 系统有很多好处,但显然它们存在潜在的问题。仅举几例,您可能会认为 NoSQL 数据库相对较新,组织需要投资于教育其工程师以使用 NoSQL。另一方面,SQL 太老了,这意味着它有一些有用的工具来监控、分析、记录等。最重要的问题,是由于 CAP 原理,你可能没有可以同时处理一致性、可用性和分区容错性的数据库架构。因此,NoSQL 正在失去一些功能以进行扩展,例如它们可能不一致,但它们具有渐进的一致性。

但我建议你走得更远,不要只依赖我的回答。技术正在快速变化,明天您可能会认为我的意见已被弃用!虽然这并不新鲜,但我认为this 文章是一个很好的起点。

【讨论】:

以上是关于数据库中的垂直和水平缩放的主要内容,如果未能解决你的问题,请参考以下文章

垂直滚动条导致水平滚动条

数据库的水平分割和垂直分割

zbb20180919 db 数据库的水平分割和垂直分割

SwiftUI/UIKit:水平滚动视图缩放视图

transform

excel中怎样使表格数据显示为水平居中和垂直居中?