NineData DSQL
NineData DSQL 支持从多个不同类型的数据源中查询数据,并聚合生成全局查询结果,本文介绍如何使用 NineData DSQL。
背景信息
随着企业数据量呈现出爆炸式增长,跨部门、跨应用、跨平台的数据交互需求越来越频繁,传统的数据查询方式已经难以满足这些需求。同时,不同数据库系统之间的数据格式、存储方式、查询语言等都存在差异,直接进行跨库查询十分困难。因此,NineData DSQL 应运而生。
什么是 NineData DSQL ?
NineData DSQL 是针对多个异构或同构数据库系统进行跨库查询的方式,您可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,并且将这些信息聚合为一份查询结果返回,轻松实现跨多个库、多个数据源,乃至跨多个异构数据源的数据查询。
NineData DSQL 具有如下特性:
- 连接多个数据库系统:支持连接多个数据库系统,并确保这些数据库系统之间的兼容性。这些数据库系统可以来自不同的厂商或平台,且数据格式、存储方式、查询语言等可以存在差异。
- 结果整合和输出:整合同异构数据库系统的查询结果,并统一输出格式,方便您获取所需信息。您无需关心数据存储在哪个数据库中,只需通过一个查询就可以获得所需的结果。
- 数据隐私和安全保护:支持对敏感数据进行脱敏处理、对访问权限进行控制等,保护数据的隐私和安全,防止数据泄露和非法访问。
- 可扩展性和灵活性:具有可扩展性,支持动态添加和删除数据源。同时支持多种数据源类型,包括关系型数据库、非关系型数据库、数据仓库等。
- 图形化界面支持:提供一目了然的图形化界面,方便您进行可视化的查询和管理,提高您的工作效率。
查询语法
在 DSQL 中,无论是执行联表查询还是单表查询,指定来源数据源时都需要采用三段式语法,即 <DBLINK 名称>.<库名|Schema 名>.<表名>
。
示例 1:跨异构源查询,从 DBLINK1(MySQL) 和 DBLINK2(Oracle) 中查询数据。
SELECT *
FROM DBLINK1.database_name.table_name a,
DBLINK2.schema_name.table_name b
WHERE a.id=b.id;
示例 2:单表查询,从 DBLINK1 中查询数据。
SELECT *
FROM DBLINK1.database.table_name
WHERE id=1;
如果您的库名或表名以数字开头,或使用了预留字段,则需要使用双引号("")包裹该名称,否则查询失败。
例如:SELECT * FROM dblink_mysql_3451."9zdbtest3".sbtest1;
使用场景
- 企业级数据整合:企业经常需要从多个部门或系统中整合数据,以提供更全面的视角。通过 DSQL ,企业可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,然后将其整合在一起,方便数据分析和决策。
- 数据挖掘与分析:数据挖掘和分析需要大量的数据支持。通过 DSQL ,您可以在多个数据库中检索需要的数据,然后使用挖掘和分析工具对数据进行深入的研究和分析。
- 元数据管理:元数据是数据的数据,对于数据的管理和理解非常重要。通过 DSQL ,您可以检索多个数据库中的元数据,从而更好地理解数据的分布、内容和关系。
- 数据仓库:数据仓库是用于存储和管理大量数据的系统。通过 DSQL ,您可以在数据仓库中查询和检索需要的数据,然后进行进一步的分析和处理。
- 购物网站:购物网站通常需要跨多个数据库进行查询,以获取用户的购物车信息、订单信息、账户信息等。通过 DSQL ,您可以在一个查询中访问多个数据库,获取所需的信息,提高查询效率。
前提条件
- 您使用的数据源为 MySQL、Oracle、OceanBase Oracle。
- 您已将需要进行 DSQL 的数据源录入到 NineData 控制台,更多信息,请参见创建数据源。
操作步骤
登录 NineData 控制台。
在左侧导航栏单击 >。
在 窗口,可对多个数据源执行跨库查询。如下图所示:
窗口左侧展示当前组织中您有权限查看的所有数据源,供您快捷查询数据源的 DBLINK 名称每个录入到 NineData 的数据源都会自动开启 DSQL 功能,并被赋予默认的 DBLINK 名称,用于通过 DSQL 功能进行跨库查询。默认的 DBLINK 命名规则为
DBLINK_<数据源类型>_<编号>
,您可以手动更改 DBLINK 的名称。、库名称、Schema 名称、表名称。更多 DSQL 的使用说明,请参见DSQL 界面说明。
DSQL 界面说明
序号 | 功能 | 介绍 |
---|---|---|
1 | DSQL 窗口页签 | 表示当前已打开的 DSQL 窗口,多个 DSQL 窗口可以通过单击页签切换,单击页签右侧的X可以关闭该 DSQL 窗口(第一个 DSQL 窗口不支持关闭)。右键菜单支持如下操作:
|
2 | 新建 DSQL 窗口 | 打开一个新的 DSQL 窗口。 |
3 | 功能按钮 |
|
4 | DBLink 搜索|过滤|收藏 | 通过如下方式快速定位目标 DBLink(数据源):
|
5 | DBLink 列表 | 显示当前组织中您有权限查看的所有数据源(DBLink)。
|
6 | DSQL 编辑器 | 支持如下功能:
|
7 | 执行信息、结果集 | 显示 DSQL 的执行信息以及结果集。
|
附录:关闭 DSQL
您在 NineData 控制台中录入的数据源默认开启 DSQL 功能,如果您不再需要该功能,可以手动关闭。
- 登录 NineData 控制台。
- 在左侧导航栏单击>。
- 在数据源列表中找到需要关闭 DSQL 功能的数据源,单击数据源的 ID。
- 在页面,单击展开更多的信息。
- 找到 选项,单击其右侧的滑块关闭即可。
关闭以后,在 窗口左侧的列表中将不再显示该数据源。