數(shù)據(jù)架構(gòu)實踐簡介
數(shù)據(jù)架構(gòu)應(yīng)該是面向業(yè)務(wù)的數(shù)據(jù)定義、數(shù)據(jù)生產(chǎn)、數(shù)據(jù)分析城须、數(shù)據(jù)使用的整體架構(gòu)。
從數(shù)據(jù)生命周期來看米苹,目前主要涉及到三種角色:
開發(fā)DBA:負責(zé)研發(fā)項目的數(shù)據(jù)庫支持糕伐,包括數(shù)據(jù)庫設(shè)計、SQL審核及優(yōu)化蘸嘶。
運維DBA:負責(zé)線上數(shù)據(jù)庫的日常運維良瞧,包括數(shù)據(jù)庫部署、備份训唱、監(jiān)控褥蚯、變更及故障處理。
數(shù)據(jù)倉庫:負責(zé)離線數(shù)據(jù)的抽取况增、建模赞庶、分析、挖掘等澳骤。 當(dāng)然歧强,所有DBA還得共同為線上數(shù)據(jù)庫的可用性、擴展性为肮、高性能負責(zé)摊册。
數(shù)據(jù)架構(gòu)的工作主線,是要從開發(fā)源頭規(guī)劃控制數(shù)據(jù)邏輯架構(gòu)和物理架構(gòu):
邏輯架構(gòu):主導(dǎo)數(shù)據(jù)建模颊艳,制定并推行數(shù)據(jù)標(biāo)準(zhǔn)丧靡,控制數(shù)據(jù)質(zhì)量,主數(shù)據(jù)管理籽暇。
物理架構(gòu):數(shù)據(jù)庫架構(gòu),數(shù)據(jù)庫性能饭庞、容量戒悠、可用性方案規(guī)劃及實施,偏重于前端業(yè)務(wù)舟山,和應(yīng)用绸狐、中間件結(jié)合卤恳。
數(shù)據(jù)架構(gòu)的工作實踐
1. 流程規(guī)范
數(shù)據(jù)架構(gòu)的流程規(guī)范主要目的是保證對研發(fā)項目的提前介入和數(shù)據(jù)庫方面的管控,數(shù)據(jù)庫管控主要包含兩部分:
數(shù)據(jù)庫環(huán)境的統(tǒng)一管理:不僅僅是線上數(shù)據(jù)庫環(huán)境需要由DBA來統(tǒng)一管理寒矿,線下環(huán)境也同樣需要交由DBA管理突琳,這個是一切的基礎(chǔ)。
數(shù)據(jù)庫變更的統(tǒng)一控制:在數(shù)據(jù)庫環(huán)境統(tǒng)一管理的基礎(chǔ)上符相,所有數(shù)據(jù)庫(線上拆融、線下)的數(shù)據(jù)庫變更由DBA統(tǒng)一進行。 通過對數(shù)據(jù)庫的管控啊终,在開發(fā)測試階段即可以將數(shù)據(jù)庫方面的設(shè)計和評審進行收口镜豹,保證數(shù)據(jù)庫設(shè)計的合理性,保障項目上線后的SQL性能蓝牲。 研發(fā)項目的介入則需要有相應(yīng)的研發(fā)項目流程支持趟脂,需要有明確定義的立項、開發(fā)例衍、測試昔期、上線的里程碑和評審會議,并且保證通知到相關(guān)人員參與佛玄,具體的流程節(jié)點可以根據(jù)實際情況有所調(diào)整硼一。
當(dāng)然,在當(dāng)前敏捷開發(fā)的趨勢下翎嫡,要盡量將數(shù)據(jù)庫管控對應(yīng)用開發(fā)的影響降到最低欠动,需要有相應(yīng)的工具平臺對流程規(guī)范進行支持:
變更平臺:數(shù)據(jù)庫變更提交、審核與執(zhí)行流程惑申。
自助審核平臺:數(shù)據(jù)庫SQL(DDL具伍、查詢SQL)的自助審核。
2. 數(shù)據(jù)治理
數(shù)據(jù)治理是一個關(guān)注于管理信息的質(zhì)量圈驼、一致性人芽、可用性、安全性和可得性的過程绩脆。這個過程與數(shù)據(jù)的管理職責(zé)緊密相關(guān)萤厅。數(shù)據(jù)治理主要包含四方面內(nèi)容:
數(shù)據(jù)標(biāo)準(zhǔn):對分散在各系統(tǒng)中的數(shù)據(jù)提供一套統(tǒng)一的數(shù)據(jù)命名、數(shù)據(jù)定義靴迫、數(shù)據(jù)類型惕味、賦值規(guī)則等的定義基準(zhǔn)。
數(shù)據(jù)質(zhì)量:對支持業(yè)務(wù)需求的數(shù)據(jù)進行全面質(zhì)量管理玉锌,通過數(shù)據(jù)質(zhì)量相關(guān)管理辦法名挥、組織、流程主守、評價考核規(guī)則的制定禀倔,及時發(fā)現(xiàn)并解決數(shù)據(jù)質(zhì)量問 題榄融,提升數(shù)據(jù)的完整性、及時性救湖、準(zhǔn)確性及一致性愧杯,提升業(yè)務(wù)價值。
元數(shù)據(jù):關(guān)于數(shù)據(jù)的數(shù)據(jù)鞋既,用以描述數(shù)據(jù)及其環(huán)境的結(jié)構(gòu)化信息力九,便于查找、理解涛救、使用和管理數(shù)據(jù)畏邢。
主數(shù)據(jù):用來描述企業(yè)核心業(yè)務(wù)實體的數(shù)據(jù),比如客戶检吆、合作伙伴舒萎、員工、產(chǎn)品蹭沛、物料單臂寝、賬戶等;它是具有高業(yè)務(wù)價值的摊灭、可以在企業(yè)內(nèi)跨越各個業(yè)務(wù)部門被重復(fù)使用的數(shù)據(jù)咆贬。 數(shù)據(jù)標(biāo)準(zhǔn)通俗理解就是要建立數(shù)據(jù)對象(表、列帚呼、域)的統(tǒng)一命名規(guī)則掏缎,和數(shù)據(jù)庫命名規(guī)范有點類似,不同的是數(shù)據(jù)庫命名規(guī)范更偏向于數(shù)據(jù)庫維護的視角煤杀,數(shù)據(jù)標(biāo)準(zhǔn)更偏向于數(shù)據(jù)模型設(shè)計的視角眷蜈。數(shù)據(jù)標(biāo)準(zhǔn)主要包括以下兩部分內(nèi)容:
數(shù)據(jù)標(biāo)準(zhǔn)的制定:包括標(biāo)準(zhǔn)單詞、標(biāo)準(zhǔn)域沈自、標(biāo)準(zhǔn)用語詞典的制定酌儒。
數(shù)據(jù)標(biāo)準(zhǔn)變更流程:數(shù)據(jù)標(biāo)準(zhǔn)的新增和修改管控流程和平臺。 要做好數(shù)據(jù)標(biāo)準(zhǔn)的管控工作枯途,同樣需要有相應(yīng)的工具進行支持:
數(shù)據(jù)建模平臺:與PL/SQL Developer等數(shù)據(jù)庫客戶端軟件類似忌怎,提供界面化的建表操作功能,所不同的是將數(shù)據(jù)標(biāo)準(zhǔn)和數(shù)據(jù)庫規(guī)范的規(guī)則內(nèi)嵌在數(shù)據(jù)建模平臺中酪夷。
數(shù)據(jù)標(biāo)準(zhǔn)管控平臺:數(shù)據(jù)標(biāo)準(zhǔn)的維護和新增管理榴啸。
<wbr>
<wbr>
數(shù)據(jù)架構(gòu)的挑戰(zhàn)
數(shù)據(jù)架構(gòu)工作目前的困難和挑戰(zhàn):
行業(yè)環(huán)境上
對數(shù)據(jù)架構(gòu)重要性認識不足,當(dāng)然也與IT產(chǎn)業(yè)的當(dāng)前發(fā)展階段有關(guān)晚岭。
專業(yè)崗位和人才較少插掂,傳統(tǒng)的DBA并不都可以或者愿意從事數(shù)據(jù)架構(gòu)的工作。
重物理架構(gòu)輕邏輯架構(gòu),數(shù)據(jù)模型的設(shè)計合理性不太受關(guān)注辅甥。
工作模式上
數(shù)據(jù)架構(gòu)在敏捷開發(fā)流程中如何較好地實施,敏捷開發(fā)往往會要求流程和評審越少越好(當(dāng)然不一定正確)燎竖,而數(shù)據(jù)架構(gòu)需要通過一些流程規(guī)范介入和指導(dǎo)研發(fā)中的數(shù)據(jù)庫相關(guān)工作璃弄。
業(yè)務(wù)需求與數(shù)據(jù)架構(gòu)需求資源沖突,數(shù)據(jù)架構(gòu)需求有時只能為業(yè)務(wù)需求讓路构回。
數(shù)據(jù)架構(gòu)是一項系統(tǒng)工程夏块,需要上層領(lǐng)導(dǎo)的鼎力支持,也需要兄弟部門的全力配合纤掸,才可能取得一定的成果脐供。