你的数据库真的规范吗?小心这些“潜在风险”!

news/2024/10/18 20:20:06/

这个简单的小功能,解决了无数企业最头疼的问题。

分享个比较常见的案例。某个客户,在全国范围有近千万的注册用户,日均交易量数十万笔。企业使用 MySQL 数据库存储核心业务数据,包括用户信息、订单信息、商品信息等。某天,企业运营团队接到用户反馈订单无法查询,部分页面显示错误,技术团队立马着手恢复数据,并展开调查,通过分析应用日志发现大量关于“订单数据不存在”的错误信息,然而应用程序未存在异常,转到 DBA 团队进行处理,DBA 通过查询订单数据表,发现大量订单数据缺失,分析 Binlog 日志,发现某个时间点存在大量的 DELETE 操作。

由于 Binlog 无法定位操作实体的原因,找到执行 DELETE 操作的研发人员又费了一番工夫,最终发现是该员工在进行测试时,误将生产环境当成了测试环境,执行了清除测试数据的脚本,导致接近 30% 的订单数据被删除,涉及近百万条记录,引发大量用户投诉。

由于此次事件对企业影响颇大,为防止类似事件再次发生,企业决定通过 NineData 的数据库 DevOps,规范化企业内部的数据变更流程,彻底杜绝误删问题。

目前互联网企业中,真正能够规范使用数据库的并不多,有很大一部分企业并未意识到这个问题,有些研发人员甚至直接进行生产环境的变更,这样会引发一系列的问题,例如无法追踪操作、变更未经审核、数据安全问题等。

为什么不做数据库规范化管理?

有小伙伴要说了,谁都知道要规范化管理数据库,但是做起来真没那么简单!最主要一个问题,趁手的数据库管理工具不好找,现在的开源工具弊端非常明显,例如:不支持商业数据库、不支持最新版本的数据库、出问题没人支持....等等。

确实,上述问题真实存在,如果需要进行数据库规范化管理,首当其冲就是找一个好工具。数据库管理不规范所带来的风险和潜在损失,不是所有企业都能承受的。

在这里,我推荐一款工具,NineData 数据库 DevOps,套用本文的案例,NineData 可以在最初就识别并阻止故障发生:

  • SQL 规范:自动拦截所有对生产环境发起的任何更改,防范风险于未然。

  • 审计日志:即使发生了故障,企业所有人对数据库所执行的所有操作,均可以通过审计日志功能进行快捷回溯,几秒就可以定位到责任人。

更重要的是,对于中小企业而言,如果企业的数据源数量不超过 10 个,则可以永久免费使用 NineData,投入成本基本为 0。

下面我们来了解下如何使用 NineData 规范企业数据库管理。

NineData 能做什么?

NineData 能做的太多了,可视化 IDE、可视化表结构设计、数据导入导出、数据追踪与回滚、数据归档与清理、SQL 代码审核、慢查询分析、批量数据库变更等等,这里我们只聊如何以最低的成本解决企业的数据库规范化管理问题。

1. 研发人员一站式的数据库 DevOps 平台

首先,你可以把企业的数据源都录入到 NineData 平台,一站式管理您的所有数据源,再也无需杂七杂八的数据库管理工具了,比如客户端、命令行工具等。NineData 提供统一的界面和操作方式,让你能够轻松管理不同类型的数据源,无论是关系型数据库、NoSQL 数据库还是数据仓库。

图片

图片

2. 自动化变更管理

然后,你可以在平台制定你的变更规则了,哪些操作可以直接执行,哪些操作需要审批后执行,哪些操作不允许执行...

图片

制定完规则后,邀请你的所有开发人员登录 NineData,并为他们每个人配置权限,权限的粒度可以精细到列级别。

图片

做完这些,你就可以收回所有直连数据库的账号,要求所有开发人员通过平台访问数据源了。

3. 操作审计

最后,对于哪个员工在什么时候对哪个数据库对象进行了什么操作,作为系统管理员的你可以通过平台的审计日志页面,一目了然地进行管理。在永久免费的 10 数据源专业版下,可以至多追溯到 3 个月之前的操作记录,例如本文案例中发生的故障,就可以通过 NineData 的审计日志功能轻松排查到操作人。

图片

总结

经过上述一番简单的操作,如果你惊喜地发现,针对数据库的变更变得更加有序了,不规范的操作都自动被 NineData 拦截了,发布到数据库中的操作都是经过自己审批的,整个数据库管理过程变得更加透明和可控了。然后你更惊喜地发现,自己一分钱都没花,恭喜你,你已经实现了零成本的企业数据库规范化管理。


http://www.ppmy.cn/news/1474439.html

相关文章

ant design pro多页签功能

效果: 原理: 1、所有需要页签页面,都需要一个共同父组件 2、如何缓存,用的是ant的Tabs组件,在共同父组件中,实际是展示的Tabs组件 3、右键,用的是ant的Dropdown组件,当点击时&…

投中血赚!IEEE旗下1区SCI,即将截稿!

关注GZH【欧亚科睿学术】,第一时间了解期刊最新动态! 期刊信息概况 【期刊类型】计算机科学类SCIE 【出版社】IEEE出版社(IEEE-Trans系列) 【期刊概况】IF:4.0-5.0,JCR1区,中科院2区 【版面类…

游戏AI的创造思路-技术基础-决策树(1)

决策树,是每个游戏人必须要掌握的游戏AI构建技术,难度小,速度快,结果直观,本篇将对决策树进行小小解读~~~~ 目录 1. 定义 2. 发展历史 3. 决策树的算法公式和函数 3.1. 信息增益(Information Gain&…

HTML 标签简写和全称及其对应的中文说明和实例

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…

Linux|信号

Linux|信号 信号的概念信号处理的三种方式捕捉信号的System Call -- signal 1.产生信号的5种方式2.信号的保存2.1 core 标志位 2.信号的保存2.1 对pending 表 和 block 表操作2.2 阻塞SIGINT信号 并打印pending表例子 捕捉信号sigaction 函数验证当前正在处理某信号&#xff0c…

Windows电脑安装Python结合内网穿透轻松搭建可公网访问私有网盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言&#xff0c;在自己的电脑上搭建…

如何在 Windows 10 上恢复未保存的 Word 文档

您是否整晚都在处理一个重要的 word 文件&#xff0c;但忘记保存它了&#xff1f;本文适合您。在这里&#xff0c;我们将解释如何恢复未保存的 word 文档。除此之外&#xff0c;您还将学习如何恢复已删除的 word 文档。 从专业人士到高中生&#xff0c;每个人都了解丢失重要 W…

9、Redis 高级数据结构 HyperLogLog 和事务

1. HyperLogLog 简介 HyperLogLog 是一种用于基数估计的概率数据结构。它并不是一种新的数据结构&#xff0c;而是 Redis 中的一种字符串类型。HyperLogLog 的主要优点是能够利用极少的内存空间完成对独立总数的统计&#xff0c;适用于统计大量数据的独立元素数量&#xff0c…