gpt4 book ai didi

relational-database - 是什么阻止关系数据库横向扩展?

转载 作者:行者123 更新时间:2023-12-04 01:58:43 24 4
gpt4 key购买 nike

当我在互联网上研究关系数据库的水平扩展时,我的印象是,包括写扩展和读扩展的唯一选项是分片,这似乎是一个手动设计过程,涉及复杂的应用程序特定配置,并且很难如果您需要更改分片结构,请维护。

另一方面,NoSQL 似乎本身就支持水平扩展,但它的缺点是不支持事务、ACID 等。

最近似乎流行的另一个概念是 NewSQL 数据库。这些数据库有望通过自动分片或其他一些创新架构既符合 ACID 又能够水平扩展来达到最佳效果。

我的问题是,如果我们将 SAN 与我们的关系数据库一起使用,向集群添加更多数据库服务器并向 SAN 添加更多磁盘是否会实现水平扩展? (添加磁盘将增加总磁盘 IOPS 和吞吐量以及磁盘空间。)那里的瓶颈是什么,因此我们需要使用 NewSQL 数据库来实现 ACID 和水平扩展?

最佳答案

关系数据库中的水平扩展很难实现,因为当您有跨不同集群节点的表(或同一表的分片)时,联接通常会变得非常低效。此外,在确保所有副本都有新鲜数据的同时,还存在复制和保持 ACID 保证的问题。 然而 ,有一个水平扩展的 RDBMS - MySQL Cluster .来自 docs :

MySQL Cluster automatically shards (partitions) tables across nodes,enabling databases to scale horizontally on low cost..

Auto-Sharding in MySQL Cluster

Unlike other sharded databases, users do not lose the ability toperform JOIN operations, sacrifice ACID-guarantees or referentialintegrity (Foreign Keys) when performing queries and transactionsacross shards.


在我的公司,我们使用 MySQL Cluster 已经有一段时间了,它确实运行良好(并且可以横向扩展)。还有 Citus (最近发布)是建立在 PostgreSQL 之上的,但还没有亲自尝试过。

关于relational-database - 是什么阻止关系数据库横向扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com