資料分層:打造資料資產管家|得物技術

架構師修行手冊發表於2023-11-01


來源:得物技術

目錄

一、引言

二、瞭解資料分層

    1. 什麼是資料分層

    2. 為什麼需要使用資料分層

三、資料分層的邏輯

    1. 資料有哪些分層

    2. 如何進行資料分層

    3. 資料分層的優勢

四、得物資料分層的案例介紹

    1.背景

    2.資料分析痛點

    3.設計資料分層

        3.1 運算元據儲存層ODS

        3.2 明細資料層DWD

        3.3 彙總資料層DWS

        3.4 維度層DIM

        3.5 資料應用層ADS

    4.總結

五、寫在末尾

    1.資料分層帶來的一些問題

    2.思考

引言

隨著企業資料規模的增長,資料的價值變得越來越重要。然而,傳統的資料庫在承載大量資料時面臨挑戰,需要高效有序的維護。因此,建立高效的資料倉儲成為了企業決策和管理的基石,但現代技術的背景下,資料管理和保護仍然存在著重要挑戰。

為了解決這些挑戰,資料分層成為了數倉建設中不可或缺的步驟之一。透過對資料的分層整理,不同的資料可以被合理地分類,方便企業快速進行資料分析和決策。

在實際應用中,資料分層需要進行靈活而有效的規劃和設計,並結合相關的技術和工具進行管理和監控。只有這樣,企業才能提高決策和管理的效率,增強市場競爭力。

瞭解資料分層

什麼是資料分層

資料分層是一種管理海量資料的方法。因為資料通常會包括許多不同的來源,而這些來源往往也會以不同的方式儲存和處理資料。這就是為什麼需要使用資料分層。透過將資料分級儲存、加工和管理,可以更好地維護資料一致性、資料安全和資料複用。

資料分層:打造資料資產管家|得物技術資料分層前後對比

為什麼需要使用資料分層

如果把資料看作圖書館裡的書,我們希望看到它們在書架上分門別類地放置;如果把資料看作城市的建築,我們希望城市規劃佈局合理;如果把資料看作電腦檔案和資料夾,我們希望按照自己的習慣有很好的資料夾組織方式,而不是糟糕混亂的桌面,經常為找一個檔案而不知所措。

簡單來說,資料分層是將現實世界中收集到的有效資訊,按照其特點和用途進行分類和組織,從而更加合理地表現資料的價值。資料分層解決了資料管理中的各種挑戰和問題,並滿足了以下幾個方面的需求:

  1. 資料量和質量——提高資料管理效率和準確性

  • 隨著企業資料不斷增長,資料量龐大且多樣化,資料質量也面臨挑戰。

  • 資料分層可以對不同的資料類別進行基本的資料清洗和整理,從而提高資料的質量和可信度。

  • 常見的資料類別包括:

    • 數值型資料(如銷售額、成本等)

    • 文字型資料(如檔案、文件等)

    • 影像型資料

    • 影片型資料

    • 音訊型資料

  • 資料來源和結構——促進資料整合和共享

    • 不同資料來源和系統中的資料結構和格式差異巨大,使得資料之間無法直接進行比較和整合。

    • 資料分層透過對不同的資料類別進行轉換、整合和標準化,以實現資料的一致性和互操作性。

    • 常見的資料類別包括:

      • 結構化資料(如關係型資料庫中的表格資料)

      • 半結構化資料(如JSON、XML等非嚴格格式化資料)

      • 非結構化資料(如文字、日誌等無固定格式的資料)

  • 資料定位和許可權控制——加強資料安全和合規性

    • 隨著多個部門和使用者共享資料的需求增加,需要確保資料的定位清晰且能夠進行精確的許可權控制。

    • 資料分層可以明確每個資料類別的歸屬和訪問許可權,保障資料的安全性和隱私保護。

    • 常見的資料類別包括:

      • 個人身份資料(如個人身份證號碼、手機號碼等)

      • 機密資料(如公司財務資料、合同等)

      • 敏感資料(如使用者的健康狀況、信用卡資訊等)

    1. 資料處理流程和效率——增強資料價值和應用

      • 資料處理過程中不合理的流程和冗餘操作可能導致資料的重複和浪費。

      • 資料分層可以建立規範和最佳化的資料處理流程,以提高資料處理的效率和準確性。

      • 常見的資料類別包括:

        • 處理過程中生成的臨時資料

        • 派生資料(如計算指標和資料探勘結果)

        • 整合資料(如資料倉儲中的整合資料)

      1. 資料歸檔和壓縮——降低資料管理和使用成本

        • 透過對資料進行歸檔和壓縮,可以減少儲存空間的佔用。

        • 根據資料的使用頻率和價值,將不常訪問的資料歸檔到較廉價但仍可靠的儲存介質中,從而釋放出更多高速和高成本儲存裝置的儲存空間。

        • 常見的資料類別包括:

          • 歷史資料(如過去幾年的銷售訂單資料)

          • 備份資料(如系統的資料庫備份)

          • 歸檔資料(如長期儲存的審計日誌)

          資料分層的邏輯

          資料有哪些分層

          瞭解了資料分層的一些優勢,大家可能就有疑問了。我們如何進行資料分層呢?大概需要分幾層呢?

          其實這個問題需要根據實際的業務狀況以及需要處理的資料體量來進行劃分,介紹分層之前,我們們先來了解下會有哪些分層,每層的作用和目的是啥。

          資料分層:打造資料資產管家|得物技術


          如何進行資料分層

          下面以一個網際網路線上學習平臺為例:

          如果想要從學生、教師和課程等不同維度進行深入的資料分析和挖掘,則單一的資料來源無法滿足這一需求,必須進行資料分層,將資料按照不同的層次進行清洗和整合,並與不同維度的資料進行連線和關聯。如果不進行資料分層的處理,資料的管理和維護將變得非常困難,同時也會導致資料的準確性和可靠性受到影響。

          此外,如果各個業務之間的資料互動和處理沒有進行最佳化和規劃,資料處理在不同業務之間的流轉和傳遞就會變得十分複雜,這對平臺的運營效率和效果產生不良影響。同時無法為使用者提供更好的個性化服務,因為個性化服務需要對使用者的屬性、偏好和需求進行深入的瞭解和分析。

          因此,資料分層處理對於線上學習平臺的最佳化是十分必要的:

          資料分層:打造資料資產管家|得物技術

          從這個案例可以分析出,透過資料分層設計帶來如下價值:

          1. 更準確的資料收集和管理:透過ODS層的運算元據層,平臺可以對學生和教師的註冊資訊、學習行為資料進行更準確地收集和管理,保證資料的真實可靠性。

          2. 更深入的資料分析:藉助DWD層的資料倉儲明細層,平臺可以深入分析學生的學習行為,如觀看影片的時長、做題的次數等。同時,透過課程維度表的建立,也可對課程資訊進行更詳盡的分析。

          3. 更全面的資料彙總:在DWS層的資料倉儲彙總層中,平臺可以對學生的學習行為和成績情況進行詳細彙總、分析和展示,同時可以綜合考慮課程資訊,製作出更詳盡的報告。這樣做可以方便平臺進行更全面的資料分析和統計,也可為教師和學生提供更有效的反饋和建議。

          4. 更靈活的資料維護:在DIM層的維度資料層中,平臺可以對學生、教師和課程等屬性資訊進行維護和管理,方便後續資料分析和應用。同時,這些維度表也可以根據實際需求不斷調整和擴充套件,增強平臺的資料分析和應用能力。

          5. 更精準的資料應用:在ADS層的應用資料層中,平臺可以根據學生和教師的資料情況,進行更精準的教學評估、學習進度分析和課程推薦等功能。這樣,平臺可以為教師和學生提供更精準、個性化的服務,提高使用者體驗和平臺價值。

          資料分層的優勢

          由上述案例可見,資料倉儲的分層設計具有諸多價值,能夠提升資料管理效率、簡化複雜問題處理、提高資料複用能力,併為平臺提供規範化的資料管理和分析支援:

          1. 提供方便使用的資料結構:透過規範化的資料分層設計,使得學生、教師和課程等不同維度的資料能夠被清晰地定位和理解,方便使用方進行資料分析和挖掘。

          2. 追溯資料來源頭:分層後的資料血緣關係清晰明確,能夠快速準確地追蹤資料的來源,幫助使用者瞭解資料的可靠性和可信度。

          3. 提高資料的維護效率:透過資料分層的規範化設計,可以減少資料開發的工作量,節約計算和儲存資源的使用,同時方便維護人員進行資料管理和維護操作。

          4. 簡化複雜問題的處理:將複雜的業務問題劃分為多個步驟,並在每一層只處理單一的步驟,有助於提高問題的可控性和可理解性。當資料出現問題時,只需要修復有問題的部分,而不需要對所有資料進行修復。

          5. 提升資料的複用能力:透過規範化的資料分層設計,可以開發一些通用的中間層資料,減少重複計算,提高業務表的使用率,從而提升系統的執行效率。

          6. 減少業務變化的影響:由於業務可能會經常變化,透過資料分層設計,無需每次業務變化都重新接入資料,降低了對業務的影響和改動的成本。

          7. 統一資料指標口徑:透過資料分層設計,提供統一的資料出口和對外輸出的資料指標口徑,保證資料的一致性和統一性,為平臺提供規範化的資料管理和分析支援。

          得物資料分層的案例介紹

          背景

          為了幫助公司瞭解員工對公司目標、文化、薪酬福利、職業發展、工作環境等方面的滿意度和需求,有助於識別問題、改善環境、增加團隊凝聚力,從而提高員工的工作效率和工作滿意度。得物每年會進行兩次全司的員工滿意度調研,從中挖掘出有價值的指標,以便更好地瞭解員工需求並制定相應的改進計劃。

          資料分析痛點

          員工滿意度資料分析中,存在以下痛點需注意:

          • 業務邏輯複雜:為維護員工隱私,指標的計算需要滿足填答人數必須大於3才能出統計資料。這一規則的設計,增加了資料處理的難度,提高資料出錯的風險。

          • 複雜的統計維度和指標:統計維度多樣化,包括性別、年齡、司齡、崗位、職級等等,這也給資料的處理和分析增加了難度。

          • 業務變更頻繁:員工滿意度調查問卷在不同週期會增加、刪除、變更題目。這也增加了資料處理和維護的難度和工作量。

          設計資料分層

          為了解決上述痛點和需求,我們決定設計資料分層。透過將資料劃分為不同層次,將資料處理、分析和服務化的流程分解成多個獨立部分,從而最大限度地提高資料分析處理的效率和安全性。

          資料分層不僅實現了資料的視覺化維護和服務化,還為資料加工、應用和管理提供了更加清晰和規範化的指導方針,從而助力業務的發展和最佳化。

          運算元據儲存層ODS

          ODS層的設計目標是捕獲和儲存原始資料,以便後續的資料清洗、整合和轉換。在這一層,資料通常以源系統的格式儲存,保留了資料的完整性和粒度,並提供了適當的資料結構和欄位以支援後續的轉換處理。

          資料分層:打造資料資產管家|得物技術


          明細資料層DWD

          DWD層的設計目標是提供清洗、結構化和可查詢的明細資料,以滿足企業不同業務需求和分析要求。在DWD層,資料已經經過了一系列的清洗和轉換過程,包括校驗、敏感資料加密、去重、標準化、格式化和結構調整等,以確保資料的準確性、完整性和一致性。

          資料分層:打造資料資產管家|得物技術


          彙總資料層DWS

          DWD層的資料分散且過於細節化,難以支援更高層次的分析和決策。此時就需要使用DWS層對DWD層的資料進行彙總和聚合,以得到更高層次的資料資訊。從而提供大量的後設資料、預先計算的指標和快速資料查詢等功能。

          DWS層的資料通常具有更高的抽象層次,可以根據不同的業務需要進行不同的聚合方式,比如按照性別、年齡、司齡等粒度提供滿意度指標1,滿意度指標2等彙總指標。

          資料分層:打造資料資產管家|得物技術


          維度層DIM

          DIM層可以看作是用來對資料進行分類、分組和篩選的“標籤”。它通常是一些描述性的屬性或特徵,對資料進行了翻譯和轉換。

          例如,對於系統滿意度事實表,可以將維度層分為系統安全、系統效能、系統體驗、系統穩定性等屬性資訊,這些屬性可以對滿意度調研資料進行分類、分組和篩選,幫助系統負責人更好地最佳化產品和服務。

          資料分層:打造資料資產管家|得物技術


          資料應用層ADS

          ADS是資料倉儲中最接近使用者和應用系統的一層,也是企業資料分析和應用的重要來源和基礎。它的主要作用是將資料倉儲中的資料用於企業的業務運營、決策分析、客戶服務等方面,為使用者和應用系統提供便利的資料訪問和操作介面。

          在設計和實施資料應用層ADS時,需要考慮以下因素:

          1. 資料質量:資料應用層的資料質量直接影響企業的業務應用效果和決策分析結果。因此,在實施資料應用層時需要嚴格控制資料質量,保證資料的準確性、完整性和一致性。

          2. 安全性:資料在應用層的使用涉及到企業的核心業務和敏感資料,因此,在設計和實施資料應用層時需要考慮資料安全的問題,採取一定的安全措施和技術手段,例如資料加密、許可權控制等,確保資料安全和保密。

          3. 可維護性:資料應用層是企業應用的基礎,其穩定性和可維護性對企業長期發展至關重要。因此,在實施和應用資料應用層時需要考慮系統的可靠性、可擴充套件性和可維護性,例如資料備份、故障恢復、日誌記錄等。

          資料分層:打造資料資產管家|得物技術

          總結

          在這個案例中,我們遇到了許多困難,如資料許可權限制、業務邏輯複雜、統計維度多樣、業務變更頻繁等,這些困難給資料的處理和分析帶來了很大的難度和不便。
          由於資料的分析是一個複雜的過程,可以採用資料分層的方法來解決這些問題。資料分層將資料處理、分析和服務化的流程分解成多個獨立部分,從而最大限度地提高資料分析處理的效率和安全性。透過將資料劃分為不同層次,資料分層實現了資料的視覺化維護和服務化,為資料加工、應用和管理提供了更加清晰和規範化的指導方針,從而助力業務的發展和最佳化。

          寫在末尾

          資料分層帶來的一些問題


          雖然資料分層設計帶來了許多優點和價值,但也存在一些缺點。其中,主要包括以下幾點:

          1. 複雜性增加:資料分層設計的實現需要付出一定的設計與維護成本,需要建立與維護多個層級,有時出現資料結構紊亂、重複等問題可能會使得整個資料分層變得更加複雜。

          2. 資料冗餘:因為資料分層設計需要建立多個層級,可能會引入一定的資料冗餘問題,導致資料冗餘或重複使用。

          3. 需要專業的技術人員:由於資料分層設計需要大量的技術程式設計和資料建模知識,需要專業的技術人員進行開發和維護。這會給公司帶來額外的專業技術成本和困難。

          4. 資料倉儲容量問題:隨著資料分層設計的層數增加,資料倉儲的大小和儲存容量也會相應增加,可能會帶來一定的儲存管理問題。

          因此,在實際資料倉儲建設中,合理利用資料分層來組織、管理和分析資料是非常重要的。資料分層需要根據實際情況和企業需求來調整。

          思考

          資料分層在數倉建設中扮演了一個不可或缺的角色。透過按照一定的規則和標準,重新組織和歸納資料,資料分層可以提高資料利用率,加強資料管理,進一步幫助企業開展科學化、精細化的運營管理和決策分析。

          隨著資料分析技術的進一步發展,資料分層也必將不斷最佳化和完善。從資料分析工具的不斷升級,到人工智慧和機器學習技術的應用,資料分層必將成為企業資料管理和決策分析的頭號利器。因此,作為企業管理者和資料分析師,必須時刻關注資料分層技術的發展趨勢和變化,及時調整和最佳化自己的資料分層管理方案,保證企業資料管理和決策分析的高效性和準確性。

          來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027824/viewspace-2992228/,如需轉載,請註明出處,否則將追究法律責任。

          相關文章