分享一下自己做Core Table Housekeeping的思路…首先說下背景:我們系統(tǒng)沒有使用warehouse蜘犁,用的是ODS喂急,因為考慮到改動和測試量很大,所以暫不考慮建數(shù)倉温技。
一革为、為什么要做數(shù)據(jù)清理?
●系統(tǒng)運行一段時間后舵鳞,會產(chǎn)生歷史數(shù)據(jù)震檩,保存太久會降低系統(tǒng)處理效率。比如:賬戶計提歷史表蜓堕。
●若系統(tǒng)沒有建數(shù)據(jù)倉庫抛虏,使用的是操作型數(shù)據(jù)存儲ODS(Operational Data Storage)存儲數(shù)據(jù),通常存儲周期在半年以內(nèi)套才。
二迂猴、如何做?
1.導出系統(tǒng)存量表清單(含全量數(shù)據(jù)量背伴、每日增量數(shù)據(jù)量错忱、歷史數(shù)據(jù)存量以及數(shù)據(jù)量增長的趨勢);
2.補充表信息(名稱挂据、歸屬模塊以清、負責人、清理建議崎逃、備注)掷倔;
3.對表進行分類(主檔/歷史表/參數(shù)表/關系表):
(1)主檔(Master table):指系統(tǒng)中的共享數(shù)據(jù)(如客戶信息表、賬號信息表个绍,表Key為客戶號勒葱、賬號)浪汪。
(2)歷史表(History table):用于記錄業(yè)務活動的數(shù)據(jù),一旦被記錄凛虽,不會再變化(開銷戶登記簿死遭、賬戶利率歷史表)。
(3)參數(shù)表(Parameter table):記錄表數(shù)據(jù)值域的內(nèi)容凯旋,或是業(yè)務參數(shù)(比如活期II類戶的限額參數(shù)呀潭、標準費率參數(shù))。
(4)關系表(Relationship table):記錄主檔與主檔之間(比如客戶與賬戶關聯(lián)關系表至非、卡賬關聯(lián)表)钠署、主檔與歷史表之間。
4.每張表挨個分析(確定清理周期荒椭、清理條件谐鼎、清理范圍)因為各表的業(yè)務不同,所以清理時間和條件及范圍也不同趣惠。比如每半年執(zhí)行一次清理狸棍,根據(jù)清理條件把之前的數(shù)據(jù)都清理掉。
其實味悄,除了要考慮設計方法草戈,也還需要看數(shù)據(jù)量。
1.因為銀行的交易量是巨大的傍菇,若數(shù)據(jù)到了一定規(guī)模可能還是要大改的界赔,沒有捷徑丢习,比如引入數(shù)倉。如果一年數(shù)據(jù)量仍然太大淮悼,要不要做horizontal sharding等等咐低;
2.分析主數(shù)據(jù)信息的單條記錄長度、重要信息的單條記錄長度袜腥、主數(shù)據(jù)被變更的頻率见擦;
3.有分區(qū)表做分區(qū)切換,將歷史數(shù)據(jù)置換出去羹令。