开发者社区> 云原生数据湖分析DLA> 正文

DLA支持分析MongoDB/RDS只读实例

简介: 在对Mysql,MongoDB等数据库系统进行分析时,经常面临的一个问题是在进行分析查询时如何避免对实时业务产生影响,也就是OLAP负载和OLTP负载隔离的问题。针对这个问题,阿里云数据湖团队一直在努力优化,提供满足不同场景的解决方案。
+关注继续查看

在对Mysql,MongoDB等数据库系统进行分析时,经常面临的一个问题是在进行分析查询时如何避免对实时业务产生影响,也就是OLAP负载和OLTP负载隔离的问题。针对这个问题,阿里云数据湖团队一直在努力优化,提供满足不同场景的解决方案。

最近,我们支持了对MongoDB和RDS只读实例的分析,做到了完全不影响源库、数据完全实时,为对负载隔离有更高要求的用户提供了更好的选择。

场景分析

OLAP负载和OLTP负载隔离的问题,常常会和数据的实时性、成本等因素做权衡,综合考虑。过去,数据湖针对不同的隔离性要求和成本,提供过一些方案:

  • 针对直接查询RDS的用户,可以通过jdbc-scan-splits这个hint来调整SQL的并发度。用户可以根据业务的特点设置合理的并发度,控制OLAP查询产生的影响。jdbc-scan-splits关键字的用法参见帮助文档
  • 通过一键建仓功能在业务低峰期把数据拖到DLA,避免直接分析源库。具体介绍参见文章

但是,仍然有一些场景是这些方案覆盖不到的,例如:

  1. 一键建仓目前暂时不支持MongoDB。同样,MongoDB也不能使用jdbc-scan-splits这个hint。
  2. 以上提到的两种方法对源库仍然会产生一定的影响,如果业务没有明显的低峰,这种影响仍然不能忽略。
  3. 一键建仓不能满足对数据实时进行分析的需求。

考虑到这些因素,我们针对对分析的实时性有较高要求又可以接受一定的成本的用户,通过支持分析只读实例来实现OLAP负载隔离。这样我们就比较完整的支持了大部分场景:

分析方案 对源库影响 数据实时性 是否支持MongoDB 成本
直接查询源库 较大 实时 支持
一键建仓 较小 非实时 不支持 较低
查询只读实例 几乎无影响 实时 支持 较高

以下描述使用DLA分析MongoDB和RDS只读实例的具体步骤。

使用DLA分析MongoDB只读节点

添加MongoDB只读节点

MongoDB副本集实例在创建时可以指定只读节点的个数:
image

如果创建时没有选择只读节点,在创建之后也可以在实例基本信息页面添加只读节点:
image

添加了只读节点之后,可以在页面上看到只读节点的连接地址:
image

关于只读节点参见MongoDB帮助文档

创建数据库

CREATE DATABASE mongo_ro WITH DBPROPERTIES (
     catalog = 'mongodb',
     location = '只读节点连接地址,见上图',
     database = 'mongo_test',
     INSTANCE_ID = 'mongodb_instance_id',
     vpc_id = 'vpc-*******'
 );

只要这里的location写上MongoDB只读节点的连接地址,后续通过DLA进行的查询都只会连接MongoDB的只读节点。

使用DLA分析RDS只读实例

添加RDS只读实例

参见 RDS帮助文档,可以在实例详情页面右侧“添加只读实例”创建一个只读实例。
image

只读实例拥有独立的实例ID和连接地址:
image

创建数据库

 CREATE SCHEMA hello_mysql_vpc_rds WITH DBPROPERTIES (
   CATALOG = 'mysql', 
   LOCATION = 'jdbc:mysql://rm-******fofake.mysql.rds.aliyuncs.com:3306/rds_mysql_dbname',
   USER = 'rds_mysqldb_username',
   PASSWORD = 'rds_mysqldb_password',
   INSTANCE_ID = '只读实例ID',
   VPC_ID = 'rds_mysqldb_vpcid'
 );

这样,后续通过DLA进行的查询都会落在只读实例上面,不会对源库产生任何影响。

关于我们

数据湖分析Data Lake Analytics简介

欢迎大家使用数据湖分析(DLA),DLA不仅仅便宜,且快,且方便,专为阿里云数据湖分析方案而生

  • 支持自建、托管RDS、NoSQL、OSS(JSON、CSV、Parquet等格式)多种数据源分析
  • 支持按量 按照扫描量 的计费方式,准入门槛0元,提供的Serverless的弹性服务为按需收费,不需要购买固定的资源,完全契合业务潮汐带来的资源波动,满足弹性的分析需求,同时极大地降低了运维成本和使用成本
  • 平台底层托管大集群且自动弹性,在一定数据量情况下,分析性能比自建小集群高出400%
  • 支持一键 把 MySQL、PG、SqlServer、PolarDb数据库 拖到DLA,再分析,解决原MySQL不敢分析的问题。 DLA 分析性能TPC-H 10G情况 比原MySQL 8c16g 等高出10倍,数据量越大,MySQL性能越差,在1TB数据量下,原MySQL基本跑不出来
  • 产品文档:https://www.aliyun.com/product/datalakeanalytics
  • 帮助文档:https://help.aliyun.com/document_detail/70378.html
  • MySQL&PG&SqlServer一键同步数据到DLA:https://help.aliyun.com/document_detail/126559.html
  • 新客户1元试用:https://common-buy.aliyun.com/?commodityCode=openanalytics_post

欢迎大家群内咨询

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
PostgreSQL 数据库实例只读锁定(readonly) - 硬锁定,软锁定,解锁
712 0
【巡检问题分析与最佳实践】MongoDB 空间使用问题
阿里云数据库MongoDB的空间使用率是一个非常重要的监控指标,如果实例的存储空间完全打满,将会直接导致实例不可用。一般来说,当一个MongoDB实例的存储空间使用比例达到80-85%以上时,就应及时进行处理,要么降低数据库实际占用空间的大小,要么对存储空间进行扩容,以避免空间打满的风险。 然而,阿里云数据库MongoDB的空间使用情况分析并不简单,本文将由浅入深帮您查看,分析和优化云数据库MongoDB的空间使用。
338 0
如何创建云数据库MongoDB版实例?
本文将为大家介绍云数据库MongoDB实例的创建和开通流程。 登录控制台https://mongodb.console.aliyun.com/replicate/cn-beijing/instances,点击进入MongoDB的管理控制台。
948 0
日志服务查询分析支持IP、域名、URL安全识别
日志服务依托全球白帽子共享安全资产库,提供安全检测函数,用户只需要将日志中任意的IP、域名或者URL传给安全检测函数,即可检测是否安全。
1898 0
ECS控制台实例支持批量加入多个安全组
当实例需要加入到多个安全组时,可以通过实例批量加入多个安全组的功能优化进行操作省时省力,话不多说进入介绍环节
2524 0
最佳实践:负载均衡SLB支持自定义VPC实例IP地址
1.Greetings 大家好,我是负载均衡SLB产品经理添毅,今天教大家自定义负载均衡SLB VPC实例的IP地址,下面开始 2.负载均衡SLB的VPC实例 阿里云负载均衡SLB同时提供给了公网实例和私网实例,公网SLB可以面向互联网提供服务;私网实例面向阿里云内网提供服务,而私网负载均衡又分类两种:一种分配classic经典网络地址,可面现向阿里云内网所有经典网络提供服务;另外一种分配VPC专有网络地址,面向一个VPC内部提供服务。
4454 0
DRDS和RDS只读实例性能对比测试
我们都知道,对于数据库中基础信息表来说,它的数据变化频率低,数据量小,但由于基础数据本身的特点,大多数相关系统都会对频繁地读取它。即便我们通过对数据调取服务进行服务化包装,通过HSF服务的方式对外暴露,以减少多个系统直接操作数据库带来的问题,但数据本身的读取频率和并发度都非常高,QPS可以轻易达到10万以上。
333 0
新零售的路上,人人都是数据分析专家
-- 零售通自助分析平台实战分享 前言 零售通自助分析平台是服务于零售通业务线运营和产品同学,无需SQL无需配置快速分析数据,定制个性化报表的地方。 传统方式进行数据分析需要6步走,门槛高到拦下大部分到初学者:1. 申请数据项目空间;2. 查找对应数据底表并申请权限;3.D2中获取AccessID;4.DI中配置项目空间和AccessID;5.DI中用数据底表配置数据源;6. 开始数据分析
650 0
Node.js 支持 ES6 模块的进展
本文讲的是Node.js 支持 ES6 模块的进展,如果你没有读过我之前的文章,在继续阅读之前,建议你看一下,里面描述了两种模块系统架构一些重大差异。简单来说:CommonJS 和 ES6 模块的根本差异在于模块结构解析完全并能够在其他代码里使用的时机。
1458 0
40
文章
6
问答
来源圈子
更多
相关文档: 云原生数据湖分析
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载