1. 介绍

  • 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/product/ads
  • 数据湖分析服务DLA(Data Lake Analytics)云产品:https://www.aliyun.com/product/datalakeanalytics
  • 数据湖分析DLA简介:https://yq.aliyun.com/articles/635516

DLA作为数据湖数据分析场景中的中枢,能够对云上众多数据存储、数据库等系统进行融合数据分析,为用户提供统一操作视角,打通系统边界,对分析结果进行回流。

目前已经支持的数据存储、数据库系统包括:

数据系统 源(查询 目标(数据回流)
OSS 支持 支持
Table Store 支持 支持
AnalyticDB 支持 支持
RDS for MySQL 支持 支持
用户自建MySQL 支持 支持
RDS for PostgreSQL 支持 支持
用户自建PostgreSQL 支持 支持
RDS for SQL Server 支持 支持
用户自建SQL Server 支持 支持
云数据库Redis 支持 暂不支持
用户自建Redis 支持 暂不支持
云数据库MongoDB 支持 暂不支持
用户自建MongoDB 支持 暂不支持
PolarDB 支持 支持

通过弹性网络技术,目前DLA支持了跨地域(region)的数据访问能力,上述的多个数据源同时通过DLA也具备了跨多个地域的融合分析能力,能够帮助用户实现多云(Multicloud: https://en.wikipedia.org/wiki/Multicloud)场景下的数据融合分析。

本文重点介绍通过DLA实现跨地域、跨实例的多AnalyticDB读写访问。涉及的网络结构如下图所示,假设用户使用的DLA服务位于上海region。

2. 场景示例

ADB中的数据

假设ADB的两个实例中,都已经存在如下两张表,对应ADB的DDL为:

CREATE TABLE customer (c_custkey int COMMENT '',c_name varchar COMMENT '',c_address varchar COMMENT '',c_nationkey int COMMENT '',c_phone varchar COMMENT '',c_acctbal double COMMENT '',c_mktsegment varchar COMMENT '',c_comment varchar COMMENT '',PRIMARY KEY (C_CUSTKEY,C_NATIONKEY)
)
PARTITION BY HASH KEY (C_CUSTKEY) PARTITION NUM 32
TABLEGROUP tpch_50x_group
OPTIONS (UPDATETYPE='realtime')
COMMENT '';CREATE DIMENSION TABLE nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT '',PRIMARY KEY (N_NATIONKEY)
)
OPTIONS (UPDATETYPE='realtime')
COMMENT '';

其中customer表有7,500,000条数据,nation表有25条数据。

DLA映射北京region的ADB实例

由于使用的是上海region的DLA服务,所以,需要通过公网访问该北京region的ADB实例的经典网络地址:ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006(跨region访问不能走VPC,网络不通)

连接上海region的DLA服务,执行如下建库和建表命令,映射指向北京region ADB实例和customer表。

CREATE DATABASE `beijing_public_ads_dla_test`
WITH DBPROPERTIES (catalog = 'ads',location = 'jdbc:mysql://ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006/ads_dla_test',instance = 'ads_dla_test',user = 'L*T',password = '****'
)
COMMENT '';CREATE EXTERNAL TABLE IF NOT EXISTS `customer` (`c_custkey` INT NULL COMMENT '',`c_name` STRING NULL COMMENT '',`c_address` STRING NULL COMMENT '',`c_nationkey` INT NULL COMMENT '',`c_phone` STRING NULL COMMENT '',`c_acctbal` DOUBLE NULL COMMENT '',`c_mktsegment` STRING NULL COMMENT '',`c_comment` STRING NULL COMMENT ''
);CREATE EXTERNAL TABLE IF NOT EXISTS nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT ''
);

DLA映射上海region的ADB实例

由于使用的是上海region的DLA服务,所以,可以通过VPC网络地址访问同上海region的ADB实例:dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001

注意:为ADB生成的VPC URL必须是为

连接上海region的DLA服务,执行如下建库和建表命令,映射指向上海region ADB实例和customer表。

CREATE DATABASE `shanghai_vpc_dla_data`
WITH DBPROPERTIES (catalog = 'ads',location = 'jdbc:mysql://dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001/dla_data',instance = 'dla_data',user = 'L*M',password = '****'
)
COMMENT '';CREATE EXTERNAL TABLE IF NOT EXISTS `customer` (`c_custkey` INT NULL COMMENT '',`c_name` STRING NULL COMMENT '',`c_address` STRING NULL COMMENT '',`c_nationkey` INT NULL COMMENT '',`c_phone` STRING NULL COMMENT '',`c_acctbal` DOUBLE NULL COMMENT '',`c_mktsegment` STRING NULL COMMENT '',`c_comment` STRING NULL COMMENT ''
);CREATE EXTERNAL TABLE IF NOT EXISTS nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT ''
);

查询

如下是按照国家统计客户的数量的查询示例,由于上述两个ADB实例中的两张表的数据相同,所以通过DLA查询,下面四个查询的结果是相同的。查询是通过上海region的DLA执行的:

  • 查询1:北京region ADB的customer表join北京region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM beijing_public_ads_dla_test.customer a
JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
  • 查询2:上海region ADB的customer表join上海region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM shanghai_vpc_dla_data.customer a
JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
  • 查询3:上海region ADB的customer表join北京region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM shanghai_vpc_dla_data.customer a
JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
  • 查询4:北京region ADB的customer表join上海region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM beijing_public_ads_dla_test.customer a
JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;

写入

通过DLA执行INSERT from SELECT,将其他数据源的查询结果写入ADB数据源中。

在DLA中执行如下语句,指向上海region的OSS bucket建库、建表:

CREATE DATABASE `tpch_50x_text`
WITH DBPROPERTIES (catalog = 'oss',location = 'oss://oss-****/datasets/tpch/50x/text_date/'
)
COMMENT '';CREATE EXTERNAL TABLE `tpch_50x_text`.`nation` (`n_nationkey` int,`n_name` string,`n_regionkey` int,`n_comment` string
)
ROW FORMAT DELIMITEDFIELDS TERMINATED BY '|'
STORED AS `TEXTFILE`
LOCATION 'oss://oss-****/datasets/tpch/50x/text_date/nation_text';

更多关于DLA对OSS的数据查询,请参考:
https://yq.aliyun.com/articles/623282 (教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集)
https://yq.aliyun.com/articles/623246 (教程:Data Lake Analytics + OSS数据文件格式处理大全)
https://yq.aliyun.com/articles/623247 (Data Lake Analytics中OSS LOCATION的使用说明)
https://yq.aliyun.com/articles/624151 (教程:如何使用Data Lake Analytics创建分区表)
https://yq.aliyun.com/articles/679405 (使用Data Lake Analytics快速分析OSS上的日志文件)
https://yq.aliyun.com/articles/672475 (教程:如何通过DLA实现数据文件格式转换)

如下示例场景:

  • 通过上海region DLA服务,将上海region的OSS bucket数据写入上海region的ADB中:
INSERT INTO shanghai_vpc_dla_data.nation
SELECT * FROM tpch_50x_text.nation;
  • 通过上海region DLA服务,将上海region的OSS bucket数据写入北京region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO beijing_public_ads_dla_test.nation
SELECT * FROM tpch_50x_text.nation;
  • 通过上海region DLA服务,将上海region的ADB数据写入北京region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO beijing_public_ads_dla_test.nation
SELECT * FROM shanghai_vpc_dla_data.nation;
  • 通过上海region DLA服务,将北京region的ADB数据写入上海region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO shanghai_vpc_dla_data.nation
SELECT * FROM beijing_public_ads_dla_test.nation;

原文链接
本文为云栖社区原创内容,未经允许不得转载。

DLA实现跨地域、跨实例的多AnalyticDB读写访问 1相关推荐

  1. DLA实现跨地域、跨实例的多AnalyticDB读写访问

    介绍 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/produc... 数据湖分析服务DLA(Data Lake Analytics)云产品:http ...

  2. 最佳实践 | 基于腾讯云ES如何跨地域容灾?跨集群复制为您解忧!

    作者:吴容,腾讯云大数据Elasticsearch高级开发工程师 腾讯云大数据ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求.但是依然会有部分客户希望进一 ...

  3. 基于 DataLakeAnalytics 做跨地域的数据分析

    在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时在杭州(cn-hangzhou)地域部署一份让南方的客户访问快一点.多地域 ...

  4. 基于 DataLakeAnalytics 做跨地域的数据分析 1

    2019独角兽企业重金招聘Python工程师标准>>> 在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时 ...

  5. 跨地域的VPC私网互通【高速通道案例】

    最近一家大型企业正在将业务迁移至阿里云平台,用户有深圳,北京,上海等分支,其中上海为总部,用户要求在阿里云上的华南1,华北2,华东2分别建立VPC网络,其中华南1,华北2要与华东2私网互通,为避免分支 ...

  6. mysql自愈_数据库跨地域容灾自愈最强攻略来了!

    什么是云计算的核心业务?必须是数据库,因为它的性能直接关系到系统执行的效率和稳定性,更与大多数业务直接相关. 为此,百度智能云在关系型数据库RDS(Relational Database Servic ...

  7. UCloud与NTT达成合作,提供可靠跨地域混合云服务

    近日,UCloud宣布与NTT Communications东亚地区总部NTT Com Asia (以下简称"NTT Com Asia") 达成合作伙伴协议.双方将发挥各自优势,通 ...

  8. 企业网络带宽需求和跨地域网络连接的优化

    SD-WAN仍然是一项相对年轻的技术,虽然已取得重大进展,但还有很长的路要走,属于SD-WAN的市场远未稳定下来. 一项调查发现,36%的受访者表示,由于网络基础架构和性能任务的复杂性不断提高,他们正 ...

  9. Jsonp 跨域请求实例

    Jsonp 跨域请求实例 关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下: 简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止 ...

最新文章

  1. 2019 数据竞赛年鉴联合发布!250页竞赛方案合集
  2. 在 word 中 mathType 菜单灰色,无法使用
  3. shell实例第3讲:获取随机8位数字
  4. 【python3】通过hashlib 和base64 对字符串进行加密
  5. hive -e和hive -f的区别(转)
  6. FFT算法的完整DSP实现(转)
  7. ZZULIOJ 1101: 逆序数字(函数专题)
  8. pytest+allure之测试报告本地运行
  9. Kudu : NonRecoverableException: illegal replication factor 2 (replication factor must be odd)
  10. Android Studio 第五十三期 - 自定义EditText密码键盘
  11. 给ImageView做圆角处理
  12. 管理小故事100例3
  13. 许小年:企业家精神的衰落与重振
  14. 如何定义和使用一个 Lambda 表达式
  15. Android 6.0 AppOps 简介
  16. Linux安装tar软件教程,tar的简单实用及linux常见软件的安装
  17. 智慧公交解决方案-最新全套文件
  18. 我的Go+语言初体验——在Docker建立一个可以用Go+语言开发的容器环境(以Ubuntu容器为例)
  19. Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))
  20. javaweb 文件上传

热门文章

  1. mysql连接字符串加密配置文件_Asp.net2.0如何加密Web.config配置文件数据库连接字符串...
  2. qt执行命令行失败_QT缺少 qtcore4.dll,debug下运行不成功
  3. signature=8405d26e250ad07c44560263cb1d4fc0,Systems for analyzing microtissue arrays
  4. Mysql 中Sql控制流语句_DCL语句/控制流语句
  5. plsql无监听程序_详细!看看顶级互联网公司都在研究的无服务器架构!
  6. python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》
  7. mysql二进制备份配置_mysql针对于二进制数据的备份
  8. mysql xdevapi_MySql Connector/C++8简介
  9. 23岁研究生校内坠亡!家人称导师经常辱骂讽刺他,事件涉及两所高校!
  10. 人类共同命运:当下,科学交流尤其需要乐观主义