关系数据库可以水平扩展 [英] Can relational database scale horizontally

查看:174
本文介绍了关系数据库可以水平扩展的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

经过一番谷歌搜索后,我发现:

After some googling I have found:

mysql文档中的注释:

MySQL群集自动跨节点分片(分区)表, 使数据库能够根据低成本商品水平扩展 用于读取和写入密集型工作负载的硬件,可同时访问 从SQL直接通过NoSQL API.

MySQL Cluster automatically shards (partitions) tables across nodes, enabling databases to scale horizontally on low cost, commodity hardware to serve read and write-intensive workloads, accessed both from SQL and directly via NoSQL APIs.

关系数据库可以水平扩展吗?会以某种方式基于NoSQL数据库吗?

Can relational database be horizontal scaling? Will it be somehow based on NoSQL database?

有人有任何现实世界的例子吗?

Do someone have any real world example?

如何在此类数据库中管理sql请求,事务等?

How can I manage sql requests, transactions, and so on in such database?

推荐答案

我认为答案是肯定的.您必须记住,SQL只是一种数据访问语言.绝对没有理由不能将其扩展到多台计算机和网络分区上.这是一个具有挑战性的问题吗?毫无疑问,这就是为什么软件还处于起步阶段.

I think the answer is, unequivocally, yes. You have to keep in mind that SQL is simply a data access language. There is absolutely no reason why it can't be extended across multiple computers and network partitions. Is it a challenging problem? Most certainly, and that's why software that does it is in its infancy.

现在,我想您想问的是:我所熟悉的标准标准SQL型关系数据库管理系统中的所有功能都可以开发为以这种方式与多个服务器一起使用吗?"虽然我承认我没有深入研究这个问题,但仍有一些定理说不,它不能." 一致性-可用性-分区定理假设我们不能在同一水平上同时具备这三种品质.

Now, I think what you are trying to ask is "Can all features that I am familiar with and that arrive in a standard SQL-type relational database management system be developed to work with multiple servers in this manner?" While I admit I haven't studied the problem in depth, there are theorems out there that say "No, it cannot." Consistency-Availability-Partition Theorem posits that we cannot have all three qualities at the same level.

现在,出于所有实际目的,分片"或分区"或任何您想称呼的东西都不会消失;相反的.这意味着,考虑到CAP定理的适用程度,我们将不得不改变对数据库的思考方式以及与数据库的交互方式(至少在一定程度上).为了在No-SQL平台上取得成功,许多开发人员已经做出了必要的转变,但还有许多人没有.最终,将开发出足够成熟的模型和足够有效的解决方法,以致您所指的传统SQL数据库或多或少地适用于多台计算机.这已经开始流行了,我想再给它几年,我们将会做到这一点.否则,我们将集体转移思维到不再需要的点,世界将变得更加美好. :)

Now, for all practical purposes, "sharding" or "partitioning" or whatever you want to call it is not going away; to the contrary. This means that, given the degree to which CAP theorem holds, we are going to have to shift the way we think about databases, and how we interact with them (at least, to an extent). Many developers have already made the shift necessary to be successful on a No-SQL platform, but many more have not. Ultimately, sufficient maturity of the model and effective enough workarounds will be developed that traditional SQL databases, in the sense you refer, will be more or less practical across multiple machines. This is already starting to pan out, and I would say give it a few more years and we'll be to that point. Or we'll have collectively shifted thinking to the point where it is no longer necessary, and the world will be a better place. :)

这篇关于关系数据库可以水平扩展的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆