某高品质房产企业:借助NineData平台,统一数据库访问权限,保障业务安全

该企业是中国领先的优质房产品开发及生活综合服务供应商。在 2022 年取得了亮眼的业绩表现,销售额市场占有率跻身全国前五。业务涵盖房产开发、房产代建、城市更新、科技装修等多个领域。

2023 年,该企业和玖章算术(浙江)科技有限公司达成合作,通过玖章算术的 "NineData 数据库管理平台" 管理集团旗下所有的数据库。

"使用 NineData 平台后,企业实现了全集团数据库统一纳管,统一了数十家供应商的数据库访问和变更,让业务更加稳定、安全与规范。" —— 集团数据库负责人

1. 客户面临的挑战

该企业的数据库基础设施中有 50 多个业务系统、数百个数据库实例,涵盖了订单系统、商品业务、营销系统、财务系统、OA 系统、消息平台、APP 系统等等,每天有数以百计的开发者以及 20 家服务商通过直连的方式连接到数据库进行日常业务操作。

1.1 直连数据库带来的挑战

对于这样的大型企业,有诸多合作的服务商,这些服务商以及集团内部的开发人员都直接通过直连的方式访问企业数据库,由于各开发人员的专业经验存在差异,很容易导致低效 SQL 或误操作的发生,而一旦发生这样的情况,将直接影响核心数据库的稳定性,导致关键业务库不可用。

由于直连数据库使用的账号通常是根据部门划分,即一个部门所有成员使用同一个账号,因此难以区分 SQL 执行来自哪个人员,审计难度很大。同时,无法基于每个人员的职责定制权限,存在无关人员拥有变更权限的风险。

而人员新增、转岗与离职等原因导致的数据库权限变更,也难以有效地进行管理。

1.2 缺乏数据库开发规范带来的挑战

由于该企业的服务商众多,开发人员的经验和习惯各不相同,他们可能会使用不同的数据库设计模式、命名规则、数据类型等。这可能会导致数据库结构混乱,数据冗余,以及数据一致性问题。而这些问题将直接导致数据库难以维护,不仅增加了运维成本,也影响了业务效率,形成了一个恶性循环。

该企业也曾尝试通过培训、邮件等方式来推广生产数据库规范。然而由于缺乏强制执行机制,即使开发人员了解开发规范,也难以避免地按照以往的习惯操作数据库,因此这种方法难以在企业内部以及所有服务商中实现全员推广。

1.3 缺乏统一的数据库管理平台带来的挑战

该企业使用了多种类型数据库用来应对不同的业务场景,包括 MySQL、MongoDB、Redis、PolarDB、Oracle、SQL Server 等。同时,使用了本地 IDC 和多个不同的云平台构建了多云业务系统。然而,却缺乏一个统一的平台来访问这些数据库。开发人员需要学习和使用多种不同的数据库客户端来保证不同数据库的开发运维工作,这极大增加了他们的工作负担。

NineData提供的解决方案

NineData 为该企业提供了一套全面的数据库管理服务,包括细粒度权限管控、审计日志、SQL 开发规范、审批流程、多平台多数据库类型支持等功能,帮助他们实现了更加高效和安全的数据库管理。

2.1 解决方案架构图

NineData为客户提供解决方案的架构图

2.2 数据库连接:从100到1的改变

NineData 支持 50 多种数据源以及多个主流云厂商,该企业的开发人员无需再记住每个数据库的连接信息,而只需通过 NineData 平台即可统一访问所有类型、所有平台的数据库。这极大地简化了数据库访问过程,提高了开发人员的工作效率,更在很大程度上提升了核心数据库的稳定性。

2.3 权限管控:从部门到个人

NineData SQL 开发平台提供了细粒度的权限管理功能,该企业的管理员可以轻松地管理企业所有员工的权限体系,便捷地进行人员的新增、转岗与离职等场景下数据库权限的回收与分配。避免了整个部门共用一个账号,防止无关人员未经授权的敏感数据访问。

2.4 审计日志:从回溯难到精准对位

NineData 的 SQL 审计能力会随时记录平台中所有人的操作。无论是谁,在什么时间执行了什么操作,都可以轻松定位。

2.5 统一发布:从千人千面到规范化

SQL 开发规范是 NineData SQL 开发平台的一项重要功能,内置超过 100 条数据库规范,覆盖了从数据库的查询更新、结构变更,到平台级别的多种操作限制。由管理员配置 SQL 规则,所有的数据库变更都需要通过 NineData SQL 开发平台发布。期间如果存在不符合规则的变更,将被实时拦截,保证所有的变更都符合规范。

成功实现了全集团数据库的统一管理

通过引入 NineData 平台,该企业成功实现了全集团数据库的统一管理,提高了数据库访问和变更的安全性和规范性。这不仅提升了业务稳定性,还降低了管理和运营成本,使企业能够更好地专注于业务增长和客户满意度。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jenkins springCloud项目优雅下线

文章目录 场景解决下线请求效果如图贴一个可用的部署脚本 场景 在 Spring Cloud 项目的微服务实例关闭时,需要首先从注册中心设置为下线,避免该服务的消费者继续请求该服务实例,导致请求失败如果我们在服务实例从注册中心取消注册后&#xff…

Oracle(2-5)Usage and Configuration of the Oracle Shared Server

文章目录 一、基础知识1、 Server Configurations服务器配置2、Dedicated server process专用服务器进程3、Oracle Shared ServerOracle共享服务器4、Benefits of Shared Server 共享服务器的优点5、Processing a Request 处理请求6、Configuring Shared Server 配置共享服务器…

利用ros实现单片机通讯(转载)

我觉得如果使用这个人的micro_ros通信协议,就不用再去Ubuntu或者Windows上面自己写驱动程序了, 利用micro_ros实现esp32与ros2的通讯 Tianci ​ 天津大学 工学博士 参考:https://github.com/micro-ROS/micro_ros_arduino https://blog.cs…

格式化名称节点,启动Hadoop

1.循环删除hadoop目录下的tmp文件,记住在hadoop目录下进行 rm tmp -rf 使用上述命令,hadoop目录下为: 2.格式化名称节点 # 格式化名称节点 ./bin/hdfs namenode -format 3.启动所有节点 ./sbin/start-all.sh 效果图: 4.查看节…

Java核心知识点整理大全8-笔记

Java核心知识点整理大全7-笔记-CSDN博客文章浏览阅读1.2k次,点赞27次,收藏26次。但是如果锁的竞争激烈,或者持有锁的线程需要长时间占用锁执行同步块,这时候就不适合 使用自旋锁了,因为自旋锁在获取锁前一直都是占用 c…

Servlet实现一个简单的表白墙网站

文章目录 前言效果展示事前准备HTML、CSS、JavaScript分别负责哪些HTML和CSS构架出页面的基本结构和样式JavaScript 实现行为和交互实现服务器端的业务代码整理pom.xmlweb.xmlmessageWall.htmlMessageServlet.java 前言 前面我们学习了 Java 中知名的 HTTP 服务器 tomcat 的安…

电脑盘符错乱,C盘变成D盘怎么办?

在一些特殊情况下,磁盘盘符会出现错乱,C盘可能会变成D盘。那么,这该怎么办呢?下面我们就来了解一下。 通过磁盘管理更改盘符 磁盘管理是Windows自带的工具,它位于“计算机管理”的控制台中。管理硬盘及其所包含的卷或…

Word隐藏批注知识分享,快速提升工作效率!

“请问大家,word里的批注应该怎么隐藏呢?有没有什么简单的方法可以将批注隐藏的呀?感谢感谢!” Word中的批注功能在文档编辑中起着重要的作用,但有时为了保护文档的隐私和保密性,我们需要隐藏批注。 Word隐…

uboot移植-野火imx6ull

uboot移植及LCD和网络驱动设置 环境: Ubuntu 20.04 野火imx6ull pro开发板 tftp服务的搭建 IMX6ULL开发板参考的是NXP官方的I.MX6ULL EVK开发板做的硬件。 Linux的移植要复杂的多,在移植Linux之前我们需要先移植一个 bootloader 代码,这…

寄存器、缓存、内存之间的关系和区别

https://blog.csdn.net/m0_46761060/article/details/124689209 目录 关系1、寄存器2、缓存(Cache) 2.1、寄存器和缓存的区别2.2、一级缓存和二级缓存3、内存 3.1、只读存储器 ROM(Read Only Memory)3.2、随机存储器 RAM&#xf…

什么是凸函数

假设函数是定义在某个向量空间的凸子集上的实值函数,并且,如果对于中的任何两个向量和,都满足: 则称为上的凸函数

ESP32 Arduino实战Web篇-使用 WebSocket 创建 ESP32 Web 服务器

本文将详细介绍如何使用 WebSocket 创建 ESP32 Web 服务器,解释WebSocket原理与搭建步骤,并附超详细的代码解释 假设我们需要创建一个使用 ESP32 通过 WiFi 控制灯泡的项目。实现非常简单:我们将 ESP32 设置为软 AP 或 STA 模式,使其能够提供一个网页,显示灯开关的状态为…

计数排序+桶排序 详讲(思路+图解+代码详解)

文章目录 计数排序和桶排序一、计数排序概念:写法一:写法二: 二、桶排序概念代码 计数排序和桶排序 一、计数排序 时间复杂度:空间复杂度:稳定性:稳定 概念: 非基于比较的排序 计数排序又称为…

【Pytorch】Visualization of Fature Maps(2)

学习参考来自 使用CNN在MNIST上实现简单的攻击样本https://github.com/wmn7/ML_Practice/blob/master/2019_06_03/CNN_MNIST%E5%8F%AF%E8%A7%86%E5%8C%96.ipynb 文章目录 在 MNIST 上实现简单的攻击样本1 训练一个数字分类网络2 控制输出的概率, 看输入是什么3 让正确的图片分…

Visual Studio连接unity编辑器_unity基础开发教程

Visual Studio连接unity编辑器 问题描述解决方法意外情况 问题描述 当我们在unity编辑器中打开C#脚本的时候发现Visual Studio没有连接unity编辑器,在编写代码的时候也没有unity关键字的提醒。 简单来说就是敲代码没有代码提示。 解决方法 这时候需要在unity中进行…

【Pytorch】Visualization of Feature Maps(1)

学习参考来自 CNN可视化Convolutional Featureshttps://github.com/wmn7/ML_Practice/blob/master/2019_05_27/filter_visualizer.ipynb 文章目录 filter 的激活值 filter 的激活值 原理:找一张图片,使得某个 layer 的 filter 的激活值最大&#xff0c…

限时开发、码力全开、2w奖金!AGI Hackathon等你挑战!

AGI时代,我们已不再满足于简单的产品开发,与大模型结合的无限想象力,成为开发者们新的追求。 你有能力将想法转化为现实吗?你有勇气接受挑战,创造全新的AI应用吗? 如果你有热情,有信心&#x…

Git 教程

目录 Git 与 SVN 区别 Git 快速入门 学习目录 git简明指南 Git 安装配置 Git 工作流程、工作区、暂存区和版本库 Git 创建仓库 Git 基本操作 Git 分支管理 Git 查看提交历史 Git 标签 Git 远程仓库(Github) Git 服务器搭建 Git 是一个开源的分布式版本控…

909-2014-T1

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 为带表头的单链表类Chain编写一个成员函数Reverse,该函数对链表进行逆序操作(将链表中的结点按与原序相反的顺序连接),要求逆序操作就地进行,不分配…

MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况

目录 一、索引 1.1、简单介绍 1.2、索引的分类 1.2.1、主键索引 1.2.2、单值索引(单列索引、普通索引) 1.2.3、唯一索引 1.2.4、复合索引 1.2.5、复合索引经典问题 1.3、索引原理 1.3.1、主键自动排序 1.3.2、索引的底层原理 1.3.3、B 树和 B…