大數據之路:阿里巴巴大數據實踐——大數據領域建模綜述

為什么需要數據建模
  • 核心痛點
    • 數據冗余:不同業務重復存儲相同數據(如用戶基礎信息),導致存儲成本激增。
    • 計算資源浪費:未經聚合的明細數據直接參與計算(如全表掃描),消耗大量CPU/內存資源。
    • 數據一致性缺失:同一指標在不同業務線的口徑差異(如“活躍用戶”定義不同),引發決策沖突。
    • 開發效率低下:每次分析需重新編寫復雜邏輯,無法復用已有模型。
  • 數據建模核心價值
    • 性能提升:分層設計(ODS→DWD→DWS→ADS),查詢響應速度提升10~100倍。
    • 成本優化:數據壓縮存儲(列式存儲)、 生命周期管理(冷熱數據分層)、計算資源復用(公共層下沉)。
    • 質量保障:統一指標口徑(OneData體系)、血緣關系追蹤(元數據管理)、數據質量卡點(非空/唯一性校驗)。
    • 敏捷開發:標準化模型復用(如用戶維度表)、可視化開發工具(DataWorks),新業務接入效率提升70%。
關系數據庫系統和數據倉庫
  • 關鍵設計對比

    維度關系數據庫系統 (RDBMS)數據倉庫 (DW)
    核心目標事務處理(OLTP) ? 高并發增刪改 ? 實時一致性分析決策(OLAP) ? 復雜查詢分析 ? 歷史數據挖掘
    數據結構高度規范化(3NF/BCNF) ? 減少冗余適度反規范化(維度建模) ? 星型/雪花模型 ? 優化查詢性能
    數據時效當前狀態數據(實時更新)歷史快照數據(T+1或實時增量)
    典型場景訂單支付、庫存扣減用戶行為分析、銷售趨勢預測
  • Alibaba架構變革

    傳統RDBMSMaxCompute數據倉庫
    共享存儲 + 共享計算存儲計算分離(OSS + 分布式計算)
    垂直擴展(Scale-up)水平擴展(Scale-out)
    ACID強一致性最終一致性(BASE原則)
  • 數據倉庫的核心改造

    • 建模方法:放棄嚴格范式約束,采用 Kimball維度建模(事實表+維度表)。
    • 存儲優化:列式存儲(ORC/Parquet)降低I/O,壓縮比達5:1。
    • 計算引擎:批處理(MapReduce) + 流處理(Flink)統一架構。
graph LRA[業務系統 OLTP] -->|Binlog實時同步| B(實時數倉 Flink)A -->|T+1全量同步| C(離線數倉 MaxCompute)B & C --> D[統一數據服務層]D --> E[應用場景: 實時大屏/用戶畫像/BI報表]
從OLTP和OLAP 系統的區別看模型方法論的選擇
  • OLTP vs OLAP

    維度OLTP系統OLAP系統對建模的影響
    核心目標高并發事務處理復雜數據分析(用戶畫像/預測)OLTP:事務效率優先;OLAP:查詢性能優先
    數據操作細粒度增刪改大規模聚合查詢(GROUP BY/JOIN)OLTP需避免冗余,OLAP需預聚合
    數據時效當前狀態歷史快照(T+1或實時增量)OLAP需時間維度建模
    數據量級GB~TB級(熱數據)TB~PB級(全量歷史)OLAP依賴列存儲+壓縮技術
    典型瓶頸寫并發、鎖競爭讀I/O、計算資源建模需針對性優化瓶頸點
  • OLTP系統:ER模型(實體-關系)主導

    • 高度規范化(3NF):消除冗余,依賴主鍵,保障事務一致性。
    • 通過外鍵維護完整性(如訂單表 user_id 關聯用戶表主鍵)。
  • OLAP系統:維度建模(Kimball)主導

    • 星型/雪花模型:事實表(交易行為) + 維度表(用戶/商品描述)。
    • 主動引入冗余:維度表反規范化,減少Join次數。
    • 退化維度:將常用維度屬性直接存入事實表(如商品名稱)。
    • 緩慢變化維(SCD):Type 2設計追蹤歷史變更。
  • 分層建模體系(解決數據膨脹)

    分層建模方法目的
    ODS近原始數據(輕度清洗)保留數據原貌
    DWD維度模型(明細層)標準化事實與維度,SCD處理
    DWS寬表模型(匯總層)預聚合指標,減少重復計算
    ADS應用模型(高度反規范)適配特定場景(如實時大屏)
典型的數據倉庫建模方法論
  • ER模型:高度規范化(3NF),消除冗余數據且具有強實體關系約束,適用于OLTP系統(如交易庫)。
  • Kimball維度建模:星型/雪花模型 ,事實表(行為) + 維度表(描述)主動冗余優化查詢,適用于OLAP系統(分析決策場景)。
  • DataVault:三層架構,Hub (業務鍵)+ Link(關系) + Satellite(屬性),適用于高變化性的業務(如金融合規)。
  • Anchor模型:極致規范化, 屬性拆分為獨立表,通過錨點關聯,適用于學術研究/超復雜變更場景。
阿里巴巴數據模型實踐綜述
  • 分層設計(核心骨架)

    • ODS層:近源數據保留,采用增量 + 全量混合存儲(如訂單表按天分區)

    • DWD層

      事實表:事務型、周期快照、累積快照。

      維度表:全局統一代理鍵。

    • DWS層

      預聚合寬表:按主題域(用戶、商品)構建80+ 核心寬表。

      CUBE:提前計算UV、GMV等300+ 核心指標。

    • ADS層:高度反規范化,為BI工具、API接口優化存儲格式。

  • 模型融合創新

    • Kimball星型模型:超級寬表 + 維度退化,減少Join次數90%+。
    • Data Vault審計性:元數據驅動建模,通過DataWorks自動追蹤血緣關系。
    • 范式理論:僅核心實體(用戶/商品)保持3NF,平衡冗余與一致性。
  • 分布式環境下的維度建模

    • 全局維度中心:整合200+數據源生成統一維度,SCD Type 2采用拉鏈表設計,歷史版本存儲成本降低70%。
    • 事實表分桶優化:按user_id分1000桶,使Join操作本地化計算,冷熱數據分離:熱數據存SSD,冷數據轉OSS歸檔。
  • 實時離線一體化模型

    組件離線鏈路(MaxCompute)實時鏈路(Flink)
    數據源T+1全量同步Binlog日志實時采集
    DWD層ORC列式存儲(壓縮比5:1)Parquet格式寫入Kafka
    維度關聯MapReduce批量Join廣播狀態+異步維表查詢(亞秒級)
    輸出Hive分區表Hologres實時表

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93073.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93073.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93073.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

實戰演練1:實戰演練之命名實體識別

實戰演練1:實戰演練之命名實體識別 命名實體識別簡介 代碼 命名實體識別簡介 什么是命名實體識別任務 命名實體識別(Named Entity Recognition,簡稱NER)是指識別文本中具有特定意義的實體,主要包括人名、地名、機構名、專有名詞等。通常包括兩部分: (1)實體邊界識別。(2)確定…

數據結構基礎內容(第七篇:堆、哈夫曼樹)

# 堆 Heap 優先隊列(Priority Queue) 結構性:用 *數組* 表示的完全二叉樹; 有序性:任一結點的關鍵字是其子樹所有結點的最大值(或最小值) * “最大堆(MaxHeap)”,也稱“大頂堆”:最大值 * “最小堆(MinHeap)”,也稱“小頂堆” :最小值 主要操作有: ? MaxHeap Create( i…

CS231n-2017 Lecture7訓練神經網絡(二)筆記

本節主要是神經網絡的動態部分,也就是神經網絡學習參數和搜索最優超參數的過程梯度檢查:進行梯度檢查,就是簡單地把解析梯度與數值計算梯度進行比較,防止反向傳播的邏輯出錯,僅在調試過程中使用。有如下技巧 &#xff…

IntelliJ IDEA 中左上方未顯示項目根目錄問題

問題: 在IDEA中編寫代碼時,發現左上方只顯示項目的子模塊,未顯示根項目名稱。 如圖所示,未顯示子模塊的根項目:問題分析 頂層根目錄未被識別為項目根目錄,需要手動添加識別。 問題解決 進入File – Project…

OpenCV 圖像變換全解析:從鏡像翻轉到仿射變換的實踐指南

前言處理圖像時,翻轉、旋轉、平移等操作很常用。OpenCV 提供了簡單的方法實現這些變換,本文帶你快速學會用它做圖像翻轉和仿射變換。1 圖像翻轉(圖像鏡像旋轉)在OpenCV中,圖片的鏡像旋轉是以圖像的中心為原點進行鏡像翻轉的。cv2.flip(img,fl…

【運維】Linux運維命令記錄

重置root密碼使用命令重新設置一下root賬戶的密碼 passwd root根據提示設置一下密碼,然后使用sudo -i 時輸入密碼就可以切換到root賬戶了ssh登陸以后,要用sudo -i命令給用戶提權,提到超級管理員,然后輸入密碼才有用

PandasAI連接LLM進行智能數據分析

1. 引言 Pandas是一個數據分析開源組件庫,提供了高性能、易用的數據結構和數據分析工具。它的核心的功能是其DataFrame對象,這是一個帶有行和列標簽的二維表格數據結構,支持缺失數據處理、時間序列功能、靈活的數據輸入輸出方法、數據對齊和…

Spring之【Bean的生命周期】

目錄 1、生成BeanDefinition BeanDefinitionRegistry接口 DefaultListableBeanFactory實現類 2、合并BeanDefnition AbstractBeanFactory類 3、BeanFactoryPostProcessor的方法回調 AbstractApplicationContext類 PostProcessorRegistrationDelegate類 4、BeanPostPro…

搜狐新聞直播間適配HarmonyOs實現點贊動畫

01背景介紹隨著新聞客戶端鴻蒙單框架系統適配工作的推進,從原來的基礎功能到現在已經適配全功能的85%以上。與此同時,我們也在持續深入挖掘鴻蒙系統的特性,以提升整體應用的質量與用戶體驗。在這一過程中,動畫作為增強交互與視覺體…

83、設置有人DTU設備USR-M100采集傳感器數據,然后上傳阿里云服務

基本思想:設置M100 采集傳感器數據 一、首先將DTU設備USR-M100連接路由器上,然后使用python代碼搜索同一局域網設備, import platform import sys import os import time import threadinglive_ip = 0def get_os():os = platform.system()if os == "Windows":re…

P1019 [NOIP 2000 提高組] 單詞接龍

題目描述單詞接龍是一個與我們經常玩的成語接龍相類似的游戲,現在我們已知一組單詞,且給定一個開頭的字母,要求出以這個字母開頭的最長的“龍”(每個單詞都最多在“龍”中出現兩次),在兩個單詞相連時&#…

詳解力扣高頻SQL50題之1633. 各賽事的用戶注冊率【簡單】

傳送門:1633. 各賽事的用戶注冊率 題目 用戶表: Users -------------------- | Column Name | Type | -------------------- | user_id | int | | user_name | varchar | -------------------- user_id 是該表的主鍵(具有唯一值的列)。 該表中的每行包…

FROM stakater/java8-alpine 構建cocker鏡像

在 Dockerfile 中,FROM stakater/java8-alpine 是第一條也是最核心的指令,它定義了構建新鏡像所基于的「基礎鏡像」。以下是逐層解析:🔍 關鍵字拆解 1. FROM —— 起點指令 ? 作用:聲明當前鏡像的起點(父鏡…

Word2Vec模型訓練全流程解析:從數據預處理到實體識別應用

請添加圖片描述 訓練Word2Vec模型 概述 問題 我們如何訓練Word2Vec模型?在特定數據集上訓練Word2Vec模型何時是有利的? 目標 理解在自有數據上訓練Word2Vec模型而非使用預訓練模型的優勢 Colab環境配置 運行以下代碼以啟用輔助函數并重新讀取數據…

在Ubuntu上使用QEMU學習RISC-V程序(2)gdb調試

文章目錄一、準備工作二、基本調試流程1. 設置斷點2. 執行程序3. 查看源代碼/匯編三、查看寄存器1. 查看通用寄存器2. 查看特殊寄存器四、查看內存1. 內存查看命令2. 內存修改命令五、調試實戰示例六、高級調試技巧1. 條件斷點2. 自動顯示3. 內存斷點(觀察點&#x…

不止于“亮”:一盞智慧路燈的技術進化史——塔能科技用“落地性”定義行業標準

在凌晨3點的園區道路之上,路燈會隨著車輛的靠近而自動亮起,待車輛逐漸遠去之后,又會緩緩地調暗下來;當電纜意外被觸碰的時候,系統能夠在短短3秒之內自動發出報警信息,并且推送出維修工單;而當一…

Redis的String數據類型底層實現

redis就是用c語言寫,但redis的string并沒有直接用c語言的string,而是自己搞了一個 SDS 結構體來表示字符串。SDS 的全稱是 Simple Dynamic String,中文叫做“簡單動態字符串”。想知道為什么這么做,我們先看看c語言的string是什么…

【音視頻學習】四、深入解析視頻技術中的YUV數據存儲方式:從原理到實踐

文章目錄 引言 1. YUV 基礎:為什么它比 RGB 更適合視頻? 1.1 YUV 與 RGB 的核心區別 1.2 YUV色度下采樣簡介 2. YUV 的三大存儲方式 方式一:平面格式(Planar) 方式二:半平面格式(Semi-Planar ) 方式三:打包格式(Packed YUV) 三種存儲方式對比: 3. 如何選擇合適的 Y…

前端項目組成

一、前端項目常見模塊及功能(以 Vue/React 通用結構為例) 前端項目的模塊本質是「按功能拆分的代碼文件/文件夾」,就像蓋房子的「磚、梁、窗」各司其職:模塊類型功能說明(大白話)舉個例子pages(…

聚觀早報 | 猿編程推動中美青少年AI實踐;華為Pura 80數字版售價公布;iPhone 17 Air電池曝光

聚觀早報每日整理最值得關注的行業重點事件,幫助大家及時了解最新行業動態,每日讀報,就讀聚觀365資訊簡報。整理丨肖羽7月24日消息猿編程推動中美青少年AI實踐華為Pura 80數字版售價公布iPhone 17 Air電池曝光亞馬遜收購AI初創公司Bee蜂巢半固…