gpt4 book ai didi

具有多个服务器的 MySQL 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:29 24 4
gpt4 key购买 nike

基本上,我正在为我的应用程序开发 REST API。我正在研究服务器性能,但找不到有关拆分数据库的信息。通过使用 MySQL 的多个服务器共享单个文件系统会更好吗(如果可以将其存储在共享文件系统上),或者我应该升级我当前的服务器或将不同的信息存储在不同的数据库中(例如用户数据库 1 上的 a-n 信息和另一个数据库上的 o-z 信息)是否正在减慢速度?如果有人有更多关于提高数据库性能的信息,或者我可以通读的内容,将不胜感激。提前致谢。

最佳答案

“分片”是将主表的一些行放在一台物理服务器上,一些放在其他服务器上。千分之一的系统需要这种扩展。

“分区”是将单个表拆分为多个“子表”,就像单个表一样。很少有用例(我认为只有 4 个)可以提供任何好处。所有的子表都在同一台服务器上。

同一物理服务器上拥有多个 MySQL 实例会增加复杂性,并且可能会增加一些性能,但不太可能。

不同 物理服务器上有多个 MySQL 实例,但共享相同数据——不要尝试; MySQL 知道如何以这种方式共享自己的数据。

使用复制可以让您进行任意读取缩放。这有点复杂。这是一种常见的方法。但它只处理“读”多于“写”的应用。

Galera Clustering 为您提供一些写入缩放。

单个实例可以处理大量传入请求(来自网络服务器或其他类型的客户端)。这些客户端可能分散在多个服务器上。即扩展客户端,即使不扩展 MySQL,也可能对您有用。

使用负载均衡器/代理服务器等,您还可以让多个客户端与多个 MySQL 服务器(读取从属/Galera 节点/分片服务器等)通信。

上述许多技术可以组合在同一个系统中。

底线:闻起来好像您还不知道是否需要缩放。当您谈到这一点时,请提供有关该应用程序的更多信息,以便我们可以减少“挥手”讨论各种选项。

关于具有多个服务器的 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43972841/

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