通过本文您可以对现有数据库性能、安全等能力进行评估,提前规划好预防措施保障业务稳定运行,避免活动期间因数据库超载导致系统崩溃造成经济损失。
前提条件
使用DMS大促预案的实例的管控模式为安全协同。更多信息,请参见管控模式。
背景信息
大型活动期间,公司业务量可能出现大幅度上涨,数据库的使用与数据安全管理将面临巨大挑战。例如如下场景:
临近双十一,数据库即将面临一次访问流量上的大考。筹备业务大促期间,您可评估您现有数据库的使用情况,预估活动期间的使用量,以及大促期间研发人员使用数据库的情况,提前做好预防措施。
在活动大促期间,未做预防措施导致数据库出现问题的案例如下:
某运营人员为了统计活动数据执行了慢SQL指令,最终导致业务被拖垮。
某研发人员执行了一条结构变更指令,影响了同一数据库下另外一条业务线的活动。
性能安全
限制查询与导出的超时时间
您可以在编辑实例中设置目标实例在DMS上的查询超时时间和导出超时时间,避免长时间执行的SQL进一步影响业务。
查询超时时间和导出超时时间的常态推荐值为60s
和600s
,大促期间推荐值为5s
和60s
。
具体操作,请参见编辑实例。
限制查询最大返回行数
您可以在安全规则中配置单次查询最大返回行数的值,避免大量数据返回影响业务正常请求的响应时间。
常态推荐值为200行
,大促期间推荐值为10行
。具体操作,请参见SQL窗口安全规则。
限制全表扫描的最大值
您可以在安全规则中配置允许全表扫描SQL执行的表的大小值,避免大促期间研发同学对超大表进行全表扫描而影响业务。
常态推荐值为10240 MB
,大促期间推荐值为1024 MB
。具体操作,请参见SQL窗口安全规则。
变更安全
拦截高风险SQL
您可以在安全规则中对部分高风险SQL语句(DQL、DDL、DML、DCL)进行管控,避免某些高风险SQL的执行而影响业务。
常态推荐按需开启,大促期间建议禁止例如DDL等高风险的SQL执行。具体操作,请参见SQL变更安全规则。
升级审批流程
在大促期间,建议在审批流程中增加高级别的审批负责人或者业务关联人作为审批节点。
一般情况下推荐按需设置审批流程,例如研发-->业务Owner-->DBA
,大促期间建议审批流程为研发-->业务Owner-->业务Owner主管-->DBA
。具体操作,请参见创建审批流程。
变更窗口管控
在执行引擎底层强制管控实例的变更窗口范围,具有禁止和允许两种策略。
在大促时期间,建议通过设置时间段来限制人员发起DDL、DML、SELECT。
数据安全
提高敏感信息列的等级设置
您可以通过字段安全级别调整功能将个人信息、手机号、身份证ID以及资金等敏感字段进行脱敏,提高数据安全。具体操作,请参见调整字段安全级别。
开启数据水印功能
您可以在DMS中开启防泄露数字水印功能,系统将在整个控制台中同时提供水印,保障您的数据信息安全,防止截图等数据泄露事件。具体操作,请参见防泄露数字水印。
敏感数据管控
有效识别敏感数据的分布,进行细粒度权限管控、数据脱敏处理,进行最小化权限数据访问。具体操作,请参见管理敏感数据。
行级管控
设置表中数据行的权限,同一个表的数据,不同人员仅能访问特定数据行。具体操作,请参见行级管控。
设置用户访问元数据权限
可实现避免指定人员接触到一些无权限的元数据(包含数据库、实例、表等)。具体操作,请参见元数据访问控制。
设置元数据可见范围
可实现避免指定元数据被无权限的人员搜索、接触。具体操作,请参见元数据访问控制。
应急处理
操作审计
该功能可以快速定位指定时间段内,人员是否在DMS对指定数据库、表实施变更。具体操作,请参见操作审计。
数据追踪
在误删、误更新数据操作后,可快速恢复数据。具体操作,请参见数据追踪。
DML无锁变更
在应急情况下,可实现大批量、无索引SQL的数据更新(UPDATE、DELETE)。请参见DML无锁变更。
DDL无锁变更
适应用于应急情况下,调整数据表中字段大小、增加索引等操作。具体操作,请参见开启无锁结构变更。
为了帮助您更好的使用DMS,您可以搜索并加入钉钉用户群(21991247)获得更多帮助。