NineData:通过一个SQL语句构建实时数仓

这篇具有很好参考价值的文章主要介绍了NineData:通过一个SQL语句构建实时数仓。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着企业数据量呈现出爆炸式增长,跨部门、跨应用、跨平台的数据交互需求越来越频繁,传统的数据查询方式已经难以满足这些需求。同时,不同数据库系统之间的数据格式、查询语言等都存在差异,直接进行跨库查询十分困难。

原生跨库查询的局限性

虽然 MySQL、Oracle、PostgreSQL 等数据库系统都提供了自身的跨库查询功能,但是存在诸多局限性:

  • 数据库类型限制:MySQL 的 Federated、Oracle 的 Database Links 功能均要求目标数据库也必须是相同类型的数据库,这限制了跨库查询功能的适用范围,不适用于异构数据库的跨库查询。
  • 额外性能损耗:自带的跨库查询功能可能会有 JOIN 操作带来的额外性能损耗,特别是在大规模数据查询或数据传输时,会增加系统负担,影响其他查询的效率。

这些局限性意味着数据库系统自带的跨库查询功能可能无法满足复杂多样的数据分析需求,特别是在异构数据库、大规模数据查询、有高性能高安全性方面需求等场景。

为解决这些问题,NineData DSQL 应运而生。

什么是 NineData DSQL ?

NineData DSQL 是针对多个同异构数据库系统进行跨库查询的功能,当前支持对表和视图进行 SELECT 操作。您可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,并且将这些信息聚合为一份查询结果返回,轻松实现跨多个库、多个数据源,乃至跨多个异构数据源的数据查询。

NineData DSQL 具有如下特性:

  1. 连接多个数据库系统:支持连接多个数据库系统,并确保这些数据库系统之间的兼容性。这些数据库系统可以来自不同的厂商或平台,且数据格式、存储方式、查询语言等可以存在差异。
  2. 统一的查询语法:DSQL 提供了统一的查询语法,您仅需使用一种语法即可跨多个异构或同构数据库进行查询,系统会自动将该语法解析并转换成不同类型数据源的查询语法进行下发查询。
  3. 结果整合和输出:整合同异构数据库系统的查询结果,并统一输出格式,方便您获取所需信息。您无需关心数据存储在哪个数据库中,只需通过一个查询就可以获得所需的结果。
  4. 数据隐私和安全保护:基于 NineData 的权限管控功能,支持对敏感数据进行脱敏处理、对访问权限进行控制等,保护数据的隐私和安全,防止数据泄露和非法访问。
  5. 图形化界面支持:提供一目了然的图形化界面,方便您进行可视化的查询和管理,提高您的工作效率。

易于记忆的 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?

  1. 企业级数据整合:企业经常需要从多个部门或系统中整合数据,以提供更全面的视角。通过 DSQL ,企业可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,然后将其整合在一起,方便数据分析和决策。
  2. 数据挖掘与分析:数据挖掘和分析需要大量的数据支持。通过 DSQL ,您可以在多个数据库中检索需要的数据,然后使用挖掘和分析工具对数据进行深入的研究和分析。
  3. 数据仓库:数据仓库是用于存储和管理大量数据的系统。通过 DSQL ,您无需搭建数据仓库,即可实现数据仓库的功能。

操作示例

5.1 查看需要查询的库表列信息

您可以在左侧导航栏查看需要查询的 DBLink 名、库名|Schema 名、表名、视图名、列名等信息,无需摸黑操作。

NineData:通过一个SQL语句构建实时数仓

查看需要查询的库表列信息

5.2 编写跨库查询语句并执行

通过简单的查询 SQL 即可对多个同、异构数据源进行查询,支持对查询结果中的敏感字段进行脱敏。

NineData:通过一个SQL语句构建实时数仓

编写跨库查询语句并执行

5.3 整合多表查询结果并导出

执行跨库查询后,系统会整合查询结果到一张表中,您可以对结果集执行导出操作。同时,还支持对结果集进行搜索。

NineData:通过一个SQL语句构建实时数仓

整合多表查询结果并导出

5.4 收藏常用 DBLink

如果 DBLink 很多,您可以收藏常用的几个 DBLink,方便查找。

NineData:通过一个SQL语句构建实时数仓

收藏常用 DBLink

综上所述,NineData DSQL 提供了全局视角审视您的数据,在减少了数据处理的复杂性的同时,提高了数据利用率,为企业提供了更灵活、高效和安全的方式来处理数据,可促进数据驱动的决策和业务发展,助力企业降本增效。文章来源地址https://www.toymoban.com/news/detail-746102.html

到了这里,关于NineData:通过一个SQL语句构建实时数仓的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【大数据】Doris 构建实时数仓落地方案详解(三):Doris 实时数仓设计

    本系列包含: Doris 构建实时数仓落地方案详解(一):实时数据仓库概述 Doris 构建实时数仓落地方案详解(二):Doris 核心功能解读 Doris 构建实时数仓落地方案详解(三):Doris 实时数仓设计 前面已经解读实时数仓的背景、技术线路和应用场景,这里具体从实现的角度来介

    2024年02月07日
    浏览(30)
  • 看这篇就明白大数据实时数仓、离线数仓、数据湖之间的关系

      20世纪70年代,MIT(麻省理工)的研究员致力于研究一种优化的技术架构,该架构试图将业务处理系统和分析系统分开,即将业务处理和分析处理分为不同层次,针对各自的特点采取不同的架构设计原则,MIT的研究员认为这两种信息处理的方式具有显著差别,以至于必须采取完

    2024年02月08日
    浏览(35)
  • Doris实时数仓dim层构建

    flink cdc实时同步mysql维表 本文是基于flink 1.16 将 flink-doris-connector-1.16-1.4.0.jar 上传至 $FLINK_HOME/lib目录下 可至 maven官网 下载

    2024年02月08日
    浏览(32)
  • flink 实时数仓构建与开发[记录一些坑]

    1、业务库使用pg数据库, 业务数据可以改动任意时间段数据 2、监听采集业务库数据,实时捕捉业务库数据变更,同时实时变更目标表和报表数据 实时数据流图与分层设计说明 1、debezium采集pg库表数据同步到kafka 【kafka模式】 2、flink 消费kafka写入pg或kafka 【upset-kafka,新版k

    2024年02月16日
    浏览(28)
  • CloudCanal x Hive 构建高效的实时数仓

    CloudCanal 最近对于全周期数据流动进行了初步探索,打通了 Hive 目标端的实时同步,为实时数仓的构建提供了支持,这篇文章简要做下分享。 基于临时表的增量合并方式 基于 HDFS 文件写入方式 临时表统一 Schema 任务级的临时表 Hive 目标端写入方式和 Doris 相似,需要在目标表

    2024年03月09日
    浏览(35)
  • 【大数据】Doris 构建实时数仓落地方案详解(一):实时数据仓库概述

    本系列包含: Doris 构建实时数仓落地方案详解(一):实时数据仓库概述 Doris 构建实时数仓落地方案详解(二):Doris 核心功能解读 Doris 构建实时数仓落地方案详解(三):Doris 实时数仓设计 数据仓库的概念可以追溯到 20 世纪 80 年代,当时 IBM 的研究人员提出了商业数据

    2024年02月04日
    浏览(36)
  • 通过myBatis将sql语句返回的值自动包装成一个java对象(1)以及SqlSessionFactory

    如果我们从数据库中读取了一个用户的两个属性——用户名和密码。此时我们希望把这两个属性放入一个java的用户对象中。我们可以选择new一个user对象,向构造器传入我们刚刚读取的两个属性。但一旦从数据库中读取的内容变多,我们就需要new很多新的对象。这时我们就可

    2024年01月18日
    浏览(35)
  • GaussDB(DWS)基于Flink的实时数仓构建

    本文分享自华为云社区《GaussDB(DWS)基于Flink的实时数仓构建》,作者:胡辣汤。 大数据时代,厂商对实时数据分析的诉求越来越强烈,数据分析时效从T+1时效趋向于T+0时效,为了给客户提供极速分析查询能力,华为云数仓GaussDB(DWS)基于流处理框架Flink实现了实时数仓构建。在

    2024年04月22日
    浏览(30)
  • 基于 HBase & Phoenix 构建实时数仓(3)—— Phoenix 安装

    目录 一、主机规划 二、Phoenix 安装 1. 解压、配置环境 2. 复制两个文件 3. 重启 HBase 集群 4. 安装验证 (1)连接 HBase (2)视图映射 (3)表映射 参考:         继续上一篇,本篇介绍在同一环境中安装 Phoenix,并连接上篇部署的 HBase 集群。         所需安装包:Phoenix-5.1.

    2024年04月10日
    浏览(26)
  • 实时数仓构建:Flink+OLAP查询的一些实践与思考

    今天是一篇架构分享内容。 以Flink为主的计算引擎配合OLAP查询分析引擎组合进而构建实时数仓 ,其技术方案的选择是我们在技术选型过程中最常见的问题之一。也是很多公司和业务支持过程中会实实在在遇到的问题。 很多人一提起实时数仓,就直接大谈特谈Hudi,Flink的流批

    2024年04月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包