实战课堂 | DMS企业版教你用一条SQL搞定跨实例查询

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 数据管理DMS企业版提供了安全、高效地管理大规模数据库的服务。面对多元的数据库实例,为了更方便地查询被“散落”在各个地方的业务数据,我们在DMS企业版中提供了跨数据库实例查询服务。

背景

数据管理DMS企业版提供了安全、高效地管理大规模数据库的服务。面对多元的数据库实例,为了更方便地查询被“散落”在各个地方的业务数据,我们在DMS企业版中提供了跨数据库实例查询服务。

什么是跨实例查询

跨实例查询服务支持通过标准SQL进行跨同异构数据库的实时查询。
对于您在企业版中的实例,无论它们是关系型数据库MySQL、PolarDB、DRDS、SQLServer、PostgreSQL,还是非关系型数据库Redis,您都可以通过一条SQL轻松完成跨数据库实例的查询。

01

如何进行跨实例查询

每当您在企业版中注册一个跨库查询支持的实例,系统就将自动为其创建DBLink,您可以为其命名。您可以将DBLink名称认为是该数据库实例的别名。
对于您在企业版中已有的实例或者您批量导入的实例,系统将自动为其命名,您后续可以对该名字进行修改。
有了DBLink名称,您就可以用DBLink名称指代您希望进行查询的实例。通过DBLinkName.DatabaseName.TableName的格式,您就可以进行跨库查询操作了。

应用案例

案例1 垂直拆分后的跨数据库查询

DMS企业版的用户某电商公司由于业务发展迅猛,访问量极速增长,导致数据库容量及性能遭遇瓶颈,因此用户决定将会员、商品、订单数据分别存放在三个数据库实例中。用户将订单库所在的实例A取名为buyer_db,订单所在的库为buyer,订单表为order_list,将商品库所在的实例B取名为seller_db,商品所在的库为commodity,商品表为commodity。此时,公司的数据分析人员想要获取某个品类商品的实时售卖订单量,需要变成跨两个数据库实例A和B的查询,怎么办?
有了跨库查询,无需数据迁移、数据汇集、ETL,即可直接完成多个在线数据库之间的关联查询。
一条SQL,用户即可解决上述难题:

02

案例2 水平拆分后的跨数据库查询

DMS企业版的用户某酒店在多个城市都有对应的门店,其数据库在每个城市也会单独部署一套,业务上有对多个城市全局数据查询的诉求。同样,现在越来越多的互联网行业开始引入单元化架构,在每个城市会单独部署机房和数据库,进行多单元数据汇总查询的需求也越来越强。为了满足云上这些跨单元、跨region的数据库查询需求,跨库查询服务打通region之间的屏障,用户通过一条SQL就能实现这些需求。

03

案例3 异构数据库的关联查询

DMS企业版的用户某公司考虑成本和未来可扩展性,正在将业务数据从SQLServer迁移到MySQL上。在这期间,必然存在某些业务子系统仍然在SQLServer上,另外一些业务子系统已经全部迁移到MySQL上,这时两个子系统之间的联合查询,就可以借助跨库查询实现。不仅如此,在迁移过程中,还可以通过DSQL,来校验SQLServer和MySQL上的数据是否一致。

案例4 混合云场景的关联查询

DMS企业版的用户某游戏公司,由于各种原因,在DMS企业版中同时保有阿里云、腾讯、UCloud、AWS等环境的数据库实例,同时在自己自建的IDC也部署了部分数据库。业务的数据如此分散,单是统计一下当前游戏在线用户数,都要分别到各个环境去查询一遍再做汇总。借助跨库查询服务,一条SQL就能实现跨云厂商和IDC之间的关联查询。

04

案例5 关系型与非关系型数据库的关联查询

DMS企业版的用户某游戏客户将用户积分排行榜存储在redis zset中,而将用户元信息维护在MySQL user表中。用户希望在游戏APP中能实时刷新用户的积分排行榜,通过跨库查询服务,就可以实现跨MySQL及Redis查询的需求。
用户在Redis Score Set中存储用户积分情况、用户ID及score。key的名称为user_score, value为用户ID, score为用户积分。
样例数据如下表:

key value score
user_score 100 10
user_score 200 35
user_score 300 45

用户在MySQL User表中存储用户的基本信息,包括user_id, user_name, province, city, gmt_create等。
样例数据如下表:

user_id user_name province city gmt_create
100 张三 浙江 杭州 2019-8-11 11:11:11
200 李四 广东 深圳 2019-7-11 12:11:01

用户只需要一条SQL,将redis中的用户ID跟MySQL中的user_id进行关联,就可以方便地查询用户的积分排行榜。

05

小结

跨库查询服务为您提供了您在DMS企业版中的多个实例之间的关联查询。
详细使用文档您可以参考:使用文档

戳这里了解更多>>>数据管理DMS

目录
相关文章
|
29天前
|
SQL 关系型数据库 分布式数据库
数据管理DMS操作报错合集之DMS SQL执行失败且无法看到原因,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
29天前
|
缓存 数据管理 关系型数据库
数据管理DMS操作报错合集之DMS进行数据导入时遇到了无法识别新增加的实例而旧实例已过期但状态显示正常,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
2天前
|
SQL 运维 数据管理
数据管理DMS产品使用合集之导出工单列表时是否展示SQL内容
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
2天前
|
SQL 运维 数据管理
数据管理DMS产品使用合集之在执行 INSERT 语句时是否会生成回滚 SQL
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
2天前
|
SQL 数据管理 调度
数据管理DMS产品使用合集之是否可以导出执行失败的sql
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
3天前
|
SQL 安全 数据库
精通SQL:数据库查询与管理的实战指南
一、引言 在当今数字化时代,[数据库](https://www.iyxwzx.com/)已成为企业、组织和个人不可或缺的数据[管理](https://www.iyxwzx.com/news/)工具
|
16天前
|
存储 弹性计算 数据管理
【阿里云弹性计算】ECS实例的冷热数据管理:利用阿里云 OSS 与 ECS 的高效协同
【5月更文挑战第28天】阿里云ECS与OSS协同,实现弹性计算服务的高效数据管理。ECS处理热数据,OSS存储冷数据,降低存储成本,提升性能。通过自动化策略实现数据自动迁移,优化实例性能,适用于电商图片、日志存储等场景。注意迁移策略设置和数据安全,为企业带来更大价值和竞争力。
115 1
|
21天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
168 2
|
23天前
|
SQL 关系型数据库 MySQL
sql性能优化及实战
sql性能优化及实战
24 0
|
29天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据