数据管理DMS提供的逻辑数仓具有强大的数据源管理能力,可以实现将企业的异构数据源进行逻辑聚合,形成物理分散、逻辑统一的虚拟数仓,然后快速地提供数据分析和访问服务,满足业务人员、BI分析师、运营人员等各种角色的需求。
背景信息
企业在数字化转型过程中,越来越意识到数据作为生产要素的重要性,期望通过数据驱动业务和决策,提升企业竞争力。但在实际落地过程中有两个常见问题影响了数据驱动的实现和效率:- 资源和成本问题
- 建仓和管仓成本高,中小企业缺少资源和技术手段构建数仓支持业务分析和决策,使得大多数企业望而却步。
- 大型企业业务复杂度高,数仓开发门槛高,专业开发人员少,难以高效支撑日益增长的各项运营分析需求。
- 灵活多变的分析需求
- 数仓通过数据清洗、数仓建模、集中化等方式标准化业务数据,能够有效提高数据获取、统计和分析的效率,但在应对业务迭代较快的场景,标准数仓难以适用于新的业务,无法满足灵活多变的业务分析需求。
- 从近年客户的需求来看,数据价值的发掘地越来越靠近业务的发生地。业务发生后相关数据在何时何地发挥价值将是评估企业数字化程度的重要依据。
- 数据分析的链路和时效等问题,导致数仓无法有效支撑运营分析。
关于视图的SQL语法,请参见逻辑数仓SQL语法介绍。
使用限制
- 查询操作支持的数据源类型如下:
操作类别 支持的数据源类型 查询操作 - 云数据库:RDS MySQL、AnalyticDB MySQL版、PolarDB、RDS SQL Server、RDS PostgreSQL、AnalyticDB PostgreSQL版、ClickHouse。
- ECS上的自建数据库:MySQL、SQL Server、PostgreSQL、Oracle。
- 公网数据库:MySQL、SQL Server、PostgreSQL、Oracle、ClickHouse。
- 逻辑视图支持CREATE、DROP语句,暂不支持ALTER、UPDATE、DELETE语句。
核心功能
- 提供跨源、跨Region的SQL联邦查询服务,支持RDS MySQL、RDS SQL Server、云原生数仓AnalyticDB MySQL版、云数据库ClickHouse、对象存储OSS、PolarDB、PG等多种数据源。
- 支持查询鉴权和脱敏,数据权限与底层数据源保持一致。
- 支持逻辑视图,通过视图定义简化查询,方便分享。
- 兼容DSQL跨库查询语法,可通过
dblink.schema.table
方式引用表。
名词解释

名词 | 描述 |
---|---|
逻辑数仓 | 逻辑数仓是架构在用户数据源基础上的一个虚拟数仓,由数据源、虚拟库和逻辑视图组成,并提供了虚拟库管理界面,以及视图的管理和查询界面。 用户可在逻辑数仓中直接跨库查询数据,也可以创建和管理虚拟库并基于查询语句保存为逻辑视图。 |
数据源 | 数据源对应于一个数据库实例的连接,即DBLink。在设置实例的DBLink名称后(在实例编辑界面设置),可使用基于DBLink的三段式语法引用物理表进行查询,如select * from dblink1.schema1.table1 。使用三段式语法,再通过JOIN语句即可对多个数据源进行跨库查询。 |
虚拟库 | 虚拟库类似于一般数据库中的Schema概念,用户需要在虚拟库下创建和管理视图。 |
逻辑视图(Logical VIEW) | 类似于数据库普通视图,逻辑视图定义了数据的加工计算过程,不存放数据,仅存放定义。 查询逻辑视图时,逻辑视图从源端提取数据,在DMS计算引擎中进行加工(如:Join、聚合、过滤、计算等),然后展示数据,把复杂SQL保存为视图,再执行对视图的查询,可简化手动输入复杂SQL的流程,同时视图支持嵌套定义,能够达到SQL的复用目的。 |
应用场景
不同用户角色使用逻辑数仓支持的应用场景:
- 数据库及数仓开发人员:
跨库查询与开发,业务数据逻辑归档、数据准备与供应、轻量数仓、数仓构建模拟、敏捷建仓、入仓等。
- 运营分析及BI人员:
数据准备与分析、跨库查询、查询与分析加速、周期性报表等。
使用流程

- 进入逻辑数仓页面后,可在数据源页签中查看可查询的数据源列表。说明 若没有显示可查询的数据源,请检查相应的实例是否开启跨库查询并定义了DBLink名称。
- 展开数据源,双击数据源下的表名,可自动生成单表查询的三段式SQL,如
SELECT * FROM dblink1.schem1.table1 LIMIT 20
,单击执行查询或手动输入三段式SQL查询并执行查询。 - 单击虚拟库页签。说明 在此页面,您可选择添加虚拟库。
- 在虚拟库页签下,通过界面添加视图,也可以通过
CREATE VIEW
语句添加视图。 - 在虚拟库页签下,双击视图名称生成SQL,或者手动输入
SELECT * FROM <虚拟库名>.<视图名>
执行两段式的视图查询操作。
操作步骤
- 登录数据管理DMS 5.0。
- 配置数据源(DBLink)。
- 进入逻辑数仓的SQL窗口。有如下两种方式:
- 在首页左侧实例列表中,选择并单击逻辑数仓区域。
- 在页面顶部导航栏中,选择 。
- 执行跨库查询。
- 连接DBLink。说明 若实例的管控模式为自由操作或稳定变更,则在登录数据库后需要配置账号和密码连接DBLink才可以使用。
- 在左侧可视化操作区域的数据源中,右键单击目标DBLink,选择连接DBLink。
- 在连接DBLink对话框中,输入数据库账号和数据库密码。
- 单击确认。
- 在SQL Console页面执行三段式SQL语句,查询该DBLink的数据。
- 可选:创建DBLink。
针对同一个管控模式为自由操作或稳定变更的实例使用不同账号连接DBLink的场景,除在编辑实例界面可配置默认DBLink外,还可在逻辑数仓中创建额外的DBLink。一般情况下,建议仅使用系统默认创建的DBLink。
说明 安全协同模式的实例无法额外创建DBLink,系统会为您自动生成DBLink。 - 可选:创建虚拟库。
- 创建逻辑视图。
- 查询逻辑视图。在逻辑视图的SQL窗口中输入SELECT语句,并在视图名称前加视图所在虚拟库的前缀,如
public
。例如,在SQL窗口中输入
SELECT * FROM public.v_ex_customer
,单击执行,查询逻辑视图v_ex_customer。说明 您还可以在页面左侧可视化操作区域的虚拟库页签中,展开虚拟库并双击目标逻辑视图,系统自动在SQL窗口中生成查询目标逻辑视图的SQL语句。