【问题标题】:MySQL Proxy Alternatives for Database Sharding用于数据库分片的 MySQL 代理替代方案
【发布时间】:2010-10-23 01:04:01
【问题描述】:

是否有 MySQL 代理的替代品。我不想使用它,因为它仍处于 alpha 阶段。

我将有 10 个 MySQL 服务器,其中 table_1 table_2 table_3 table_4 ... table_10 分布在 10 个服务器上。每个表的结构都是相同的,它们只是具有不同数据集的分片。

是否有 MySQL 代理的替代方案,我可以让我的客户端应用程序连接到单个 SQL Server(代理),它查看查询并代表它获取数据。

例如,如果客户端向代理请求“SELECT * FROM table_5 WHERE user=123”,代理会连接到包含 table_5 的第 5 个 SQL Server 并获取数据?

【问题讨论】:

    标签: mysql proxy partitioning sharding load-balancing


    【解决方案1】:

    我可以看到,添加代理可以让您在应用程序中更改很少或不更改任何内容,但值得考虑的是您正在添加一个大单点故障。

    我建议您将决定查找哪个数据库所需的逻辑移至应用程序层。

    【讨论】:

    • 有多个应用程序组件可以访问数据库...这就是为什么我希望将其移出应用程序层的原因。如果我需要更改解复用器的配置,我需要更改几个应用程序,这似乎不太现实。客户端应用程序 -> HA 代理(选择一个 LB 代理) -> LB 代理(一个 MySQL 代理) -> SQL DB
    【解决方案2】:

    Spock Proxy 支持大型 MySQL 数据库的基于范围的水平分区。代理拦截来自客户端的 SQL 查询,根据数据库的分区方式将查询发送到正确的数据库,然后聚合来自每个数据库的结果并将它们作为常规 MySQL 结果集返回给客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-10
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      相关资源
      最近更新 更多