feat(upgrade): 增加 升级脚本和部署说明
- 新增达梦数据库结构、幂等索引、统计基线及校验脚本 - 新增 Docker Kafka Retry、DLT、Replay Topic 升级脚本 - 更新生产 Compose,启用 DIRECT 并关闭旧增量捕获和投影 - 补充数据库、Kafka、应用启动及验证说明 - 增加日志和本地生成文件忽略规则
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
-- haobang-security-dm 幂等索引升级。
|
||||
-- 前置:01-schema-upgrade.sql 成功,所有相关旧应用仍保持停止,DBA 已评估索引空间和维护窗口。
|
||||
-- 任一 CREATE 报错立即停止;禁止通过删除历史数据绕过重复问题。
|
||||
|
||||
-- 两张标准化表现场均按 LOG_TIME 做 RANGE 分区。
|
||||
-- 当前 DM8 现场语法在不指定 GLOBAL 时建立分区索引;唯一键包含完整分区键,因此形成本地唯一索引。
|
||||
-- 新版 id 是 event_id + normalize_rule_id + rule_version 的确定性 UUID,长度仍为 36 字符。
|
||||
CREATE UNIQUE INDEX uk_normal_data_log_id
|
||||
ON syslog_normal_data(log_time,id);
|
||||
|
||||
CREATE UNIQUE INDEX uk_normal_alarm_log_id
|
||||
ON syslog_normal_alarm(log_time,id);
|
||||
|
||||
-- 规则聚合窗口和算法单事件结果需要跨日幂等,使用全局非分区唯一索引。
|
||||
-- 历史新增字段保持 NULL,索引只保护新版本写入且幂等字段完整的数据。
|
||||
CREATE UNIQUE INDEX uk_alarm_rule_window_group
|
||||
ON alarm(rule_id,rule_version,window_start,group_key_hash) GLOBAL;
|
||||
|
||||
CREATE UNIQUE INDEX uk_alarm_visit_algorithm_event
|
||||
ON alarm_visit(algorithm_id,algorithm_version,event_id,result_type) GLOBAL;
|
||||
|
||||
-- 结果门禁:前两个必须 UNIQUE/PARTITIONED=YES/VALID;后两个必须 UNIQUE/PARTITIONED=NO/VALID。
|
||||
SELECT index_name,table_name,uniqueness,partitioned,status
|
||||
FROM user_indexes
|
||||
WHERE index_name IN (
|
||||
'UK_NORMAL_DATA_LOG_ID','UK_NORMAL_ALARM_LOG_ID',
|
||||
'UK_ALARM_RULE_WINDOW_GROUP','UK_ALARM_VISIT_ALGORITHM_EVENT'
|
||||
)
|
||||
ORDER BY table_name,index_name;
|
||||
|
||||
-- 旧全局宽字符串索引不属于目标结构。若现场已存在,立即停止并单独评审,禁止在本文件中自动 DROP。
|
||||
SELECT index_name,table_name,uniqueness,partitioned,status
|
||||
FROM user_indexes
|
||||
WHERE index_name IN ('UK_NORMAL_DATA_EVENT_RULE','UK_NORMAL_ALARM_EVENT_RULE')
|
||||
ORDER BY table_name,index_name;
|
||||
Reference in New Issue
Block a user