数据治理之数据生命周期管理
大數(shù)據(jù)業(yè)務(wù)系統(tǒng),在運(yùn)行過程中會產(chǎn)生大量歷史數(shù)據(jù),這些歷史數(shù)據(jù)日積月累下來,除了增加集群的存儲成本,也會影響大數(shù)據(jù)集群之上的應(yīng)用系統(tǒng)的運(yùn)行效率(因?yàn)檎麄€大數(shù)據(jù)集群的hdfs, hive, hbase等存儲引擎隨著負(fù)擔(dān)越來越大,其響應(yīng)效率會有所降低)。
所以數(shù)據(jù)治理會強(qiáng)調(diào)對數(shù)據(jù)進(jìn)行全生命周期的管理,既要考慮數(shù)據(jù)的采集獲取,也要考慮數(shù)據(jù)的備份歸檔。我們不能因?yàn)榇髷?shù)據(jù)集群本身具有可橫向擴(kuò)展,容量大,單位存儲成本低這些特點(diǎn),就對數(shù)據(jù) “只進(jìn)不出”。因?yàn)槿鄙倭酥卫淼臄?shù)據(jù)集合,再多也不能稱為“數(shù)據(jù)湖泊”,而是“數(shù)據(jù)沼澤”,是不利于數(shù)據(jù)價值的分析挖掘的。
在大數(shù)據(jù)業(yè)界,對于數(shù)據(jù)的生命周期管理,普遍的做法是,根據(jù)業(yè)務(wù)特點(diǎn),分析數(shù)據(jù)使用狀況,將數(shù)據(jù)分為冷數(shù)據(jù)與熱數(shù)據(jù)(更細(xì)致的還有溫數(shù)據(jù)),然后對冷熱數(shù)據(jù)采取不同的管理策略。常見的數(shù)據(jù)管理策略有:
利用云對象存儲的力量:將熱數(shù)據(jù)保存在當(dāng)前大數(shù)據(jù)集群中支撐當(dāng)前的業(yè)務(wù)系統(tǒng),而將冷數(shù)據(jù)備份到云對象存儲如oss, s3上;
冷熱數(shù)據(jù)分集群存儲:將熱數(shù)據(jù)保存在當(dāng)前大數(shù)據(jù)集群中支撐當(dāng)前的業(yè)務(wù)系統(tǒng),并搭建專門的冷數(shù)據(jù)集群,將冷數(shù)據(jù)轉(zhuǎn)存到冷集群中;(冷集群更側(cè)重存儲能力,熱集群更側(cè)重計算能力,在集群底層服務(wù)器選型上各有側(cè)重,從而均衡成本);
利用hdfs本身提供的分級存儲的策略:hdfs新版本本身(其實(shí)也不新了,從3.0開始就逐步完善這塊了,詳情見jira hdfs-2832,)也是支持tiered storage即分級存儲的,可以對不同的目錄,根據(jù)其數(shù)據(jù)冷熱程度不同,動態(tài)配置不同的存儲策略,從而存儲到不同的底層存儲介質(zhì)上。可以使用的存儲類型 storage types 有 archive, disk, ssd 和 ram_disk,可以配置的存儲策略 storage policies 有 hot, warm, cold, All_SSD, One_SSD, Lazy_Persist and Provided。
直接刪除冷數(shù)據(jù):當(dāng)前的大數(shù)據(jù)集群只保存業(yè)務(wù)需要的數(shù)據(jù),而將業(yè)務(wù)不需要的歷史數(shù)據(jù),定期通過腳本進(jìn)行刪除。這種方式,因?yàn)樾枰獎h除數(shù)據(jù),所有只有在業(yè)務(wù)方確認(rèn)數(shù)據(jù)確實(shí)不需要了,而且公司真?zhèn)€成本又有限的情況下,才會使用。
在某大數(shù)據(jù)系統(tǒng)的案例中,在跟客戶充分溝通后,出于成本的考量,他們采用了第四條,即直接刪除冷數(shù)據(jù)的方案(當(dāng)然還有部分易操作性的考量)。
該方案的實(shí)現(xiàn)其實(shí)只是幾條ddl語句,其調(diào)用方式和核心內(nèi)容如下:
beeline -u jdbc:hive2://ip:10000 -hivevar hs_cic_db=${hs_cic} -hivevar clear_date=${clear_date} -f xxx.sql
xxx.sql 腳本內(nèi)容如下:use ${hs_cic_db}; alter table xx drop if exists partition(part_date < ${clear_date});
注意:hql中使用的變量,建議在命令行使用hivevar來聲明, 而不是hiveconf,后者一般只用來指定hive自身的通用配置參數(shù),如 mapred.reduce.tasks。
進(jìn)一步技術(shù)細(xì)節(jié),可以參考:
issues.apache.org/jira/
hadoop.apache.org/docs/
總結(jié)
以上是生活随笔為你收集整理的数据治理之数据生命周期管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。