分布式数据库中间件的实现原理介绍二:路由分发

时间:2021-11-01 04:10:07

声明:本文并非原创,转自华为云帮助中心的分布式数据库中间件(DDM)服务的产品介绍。

 

    路由分发与水平分片同为DDM的基础功能。

    在分布式数据库中,路由的作用即将SQL语句进行解析,并转发到正确的分片上,保证SQL执行后得到正确的结果,并且节约QPS资源。

    例如:订单支付系统包含了shard0、shard1、shard2三个分片,订单号2017010112345678的订单数据存储在shard0分片上,则应该将

        select Customer, OrderStatus, CreateDate from Order

            where OrderId = '2017010112345678';

    这条语句路由分发到shard0分片上执行。如果同时路由到shard0、shard1、shard2三个分片,会造成多余的查询,浪费资源;如果路由到shard1、shard2分片,则得不到正确的返回结果。

    DDM对单张表的路由解析流程如下:

    图5 单张表的路由解析流程 
    分布式数据库中间件的实现原理介绍二:路由分发