Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据库架构师如何确保数据安全与合规性?

数据安全和合规性是数据库架构设计中非常重要的一部分。在设计数据库系统时,要如何确保数据的安全性和合规性的?

已邀请
等1人回答

回答 1

架构师之路

发布于 2025-04-23 13:18:00

数据合规性不是一个技术问题,按照相关法律法规执行即可,这里系统性展开聊一下数据的安全性问题。

数据库最基本的防灾怎么设计?

主从架构,或者主主架构,加上探活与故障转移,能够防:

1. 数据库挂掉;

2. 机器挂掉;

画外音:keepalived+Virtual IP。

有什么潜在问题?

不能防止人员恶意或者无意误删数据:一个不加where条件的delete下去,SQL会立刻同步到从库,一瞬间主从的所有数据都会被删除。

如何防止数据删除?

常见的安全策略是:定期全量与增量的备份

一周备份一次全量,一般是db文件。

每天备份一次增量,一般是binlog。

如果误删数据,可以:

1. 应用最近一次的全量备份db;

2. 重放最近一次全量备份之后每天的增量binlog;

3. 重放最近一次增量备份之后,到删除操作之前的当天binlog;

为了保证方案的可靠性,需要定期进行恢复演练

这个方案,还存在什么不足吗?

方案没问题,但恢复时间较长。

全量备份db+增量备份的binlog,一般都压缩保存在专门的备份服务器上,数据恢复的过程:

1. scp到本地;

2. tar解压;

3. 应用db;

4. 重放binlog;

往往需要几个小时的时间。

还能如何优化,缩短恢复时间?

可以使用1小时延时从的架构方案,能大大缩短误删数据的恢复时间。

增加一个从库,这个从库不是实时与主库保持同步的,而是每隔1个小时同步一次主库,同步完之后立马断开1小时,这个从库会与主库保持1个小时的数据差距。

如果误删全库,只需要:

1. 应用1小时延时从;

2. 重放1小时延时从到删除操作之前当天的binlog;

这些binlog都在本地,且不用解压缩,恢复速度非常快。

这个方案,还存在什么不足吗?

极限情况下,在1小时延时从连上主库后,立刻发生了“误删数据”事故,则无法快速恢复。

还能如何优化,确保极限情况下方案的完备性?

可以使用【双份】1小时延时从

使用两个1小时延时从,他们连主库同步数据的时间“岔开半小时”,以确保极限情况下,至少有一个1小时延时从可用。

这样数据库的资源太浪费了吧?

1小时延时从,可以对一些“允许延时”的业务提供读服务,例如:

(1)运营后台,产品后台查询;

(2)BI进行数据同步;

(3)RD进行数据抽样,调研;

以提高资源的利用率。

稍作总结

数据库防灾架构设计: 1. 防数据库与机器挂掉:主从or主主高可用;

2. 防数据误删:全量+增量备份架构;

3. 误删快速恢复:用1小时延时从架构;

4. 防小概率事件:双份1小时延时从架构;

5. 提高资源利用率:1小时延时从对“允许延时”的业务提供读服务;

知其然,知其所以然。

思路比结论更重要。

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

如何配置和维护数据库,确保数据的安全性和可靠性?

177

为什么要选择合法合规的专线服务?

1140

如何保障数据库数据安全?

1175

架构师应如何保持技术的先进性?

231

为什么一定要使用合规的线路才能接入腾讯云?

186
相关问答用户
腾讯云TDP | 先锋会员擅长2个领域
某公司 | 程序员擅长1个领域
擅长2个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档