sql删除过程的命令是什么_一个删除表字段的自动化执行工单的思考
工作中經常被吐槽:“不就執行一個刪除字段的SQL的自動化工單嗎?搞起來有這么復雜?”
那就來梳理梳理這樣的一個工單的執行需要什么的流程:
簡要流程步驟:
????1. ? 申請權限管控
????2. ? 工單發起流程
????3. ? 接口校驗流程
????4. ? 審核流程
????5. ? 執行流程
????6. ? 回滾流程
下面就順著這個流程梳理一下:
權限管控
????要確定什么樣的同事有發起這樣變更的權限,比如數據庫負責人,數據庫開發者或者被數據庫管理員(開發團隊)賦予變更權限的其他權限類成員角色。
工單發起流程
????確定在這個申請工單里,需要開發同事填寫什么樣的內容,并且盡可能少的填寫,減少不必要的填寫,以免引起工單申請的耗時?;究梢源_定填寫要素有數據庫名,需要執行的刪除SQL,刪除原由。
接口數據校驗流程
????針對開發填寫的內容需要根據數據庫權限接口獲取申請者是否有該庫的權限,沒有權限需要提示申請相關的權限;填寫的SQL需要對SQL做合法性校驗,如:是否符合SQL語法,是否該字段存在。
????另外,還有需要一個監控數據的接口:
??? DBA通過全量SQL的監控,確認待刪除的字段沒有被使用到,否則不能直接刪除,需要提醒申請者存在使用并重新確認是否需繼續刪除。
審核流程
????根據核心庫表和表數據量大小確定需要的審核流,如:一些不重要的小表等只需要申請者直屬領導或者業務開發線管理員指定有審核權限的同事審核即可。對于一些核心表的變更,可能需要審核流程再多一層高級領導審核。
執行流程
????這是一個比較重要的流程。
????如何執行
????????刪除字段操作,可以直接使用數據庫的原生執行方式進行變更。也可以使用第三方的工具進行變更,如:GHOST工具、PERCONA的PT工具的PT-OSC執行刪除命令。
????何時執行
????????執行的時候要考慮當前集群的一些狀態數據,如:剩余磁盤空間、threading_running、鎖等。
回滾流程
????雖說通過監控已經確定沒有字段級別的使用,但是保不準會有反悔的情況存在。
????對于不同的刪除方式,回滾的手段和時效也不一樣。
????直接刪除字段需要回滾,通過重新新增字段,在使用各類恢復數據的手段,數據的恢復時間會和表的大小相關。
????使用先將字段改名的方式,可以快速的回滾變更。在自動化的運行過程中,這種操作可以先將字段修改,并存入一個任務隊列(表存儲),等一周或者約定的時間之后還沒有回滾需求,在通過JOB輪訓該隊列,將改名后的字段進行刪除,達到實際刪除。這種操作方式需要確定線上不能使用select *等SQL語句使用。
一個刪除操作,說簡單也簡單說復雜也復雜,還是需要運維小伙伴、系統設計者能想到方方面面,對開發的使用能有個好的指導,同時也可以釋放運維小伙伴的時間。?
總結
以上是生活随笔為你收集整理的sql删除过程的命令是什么_一个删除表字段的自动化执行工单的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关键词热度分析工具_干货分享丨关键词热度
- 下一篇: python网格搜索核函数_机器学习笔记