資料架構 - 設計方法



資料架構設計 是關於制定一個計劃,說明組織如何收集、儲存和使用其資料。在本章中,我們將探討資料架構設計中的不同方法和理念,幫助您瞭解如何建立滿足組織資料需求的有效系統。

目錄

OLTP 和 OLAP 之間的區別

聯機事務處理 (OLTP)聯機分析處理 (OLAP) 是兩種主要型別的資料處理系統。

聯機事務處理 (OLTP) 系統旨在利用關係資料庫快速處理即時事務。它們允許使用者輕鬆建立、讀取、更新和刪除資料。這些系統可以同時支援許多使用者,並且通常用於收銀機和網上銀行等場所。

聯機事務處理 (OLTP) 的特點

在本節中,我們將探討OLTP 系統的關鍵特性,這些特性對於處理日常事務至關重要。其中包括:

  • 專注於快速資料處理。
  • 處理大量的小型事務。
  • 保持多個使用者的資料準確性。
  • 通常使用組織良好的資料庫以提高效率。

示例:銀行用於處理客戶取款和存款的系統。

聯機分析處理 (OLAP) 系統專為資料分析和報表設計。它們處理複雜的查詢,允許使用者從不同的角度快速檢視資料。OLAP 資料庫通常使用稱為多維資料集的結構中的預彙總資料,從而可以輕鬆找到彙總資訊。

聯機分析處理 (OLAP) 的特點

在本節中,我們將探討OLAP 系統的關鍵特性,這些特性使其對於分析資料和建立報表至關重要。其中包括:

  • 專注於檢索資料和執行復雜的計算。
  • 處理較少但更復雜的查詢。
  • 通常使用更簡單的資料庫以加快分析速度。
  • 支援以多種方式檢視資料。

示例:零售公司用於分析不同地區和時間段內銷售趨勢的系統

OLTP 和 OLAP 的主要區別

本節展示了OLTPOLAP 系統之間的主要區別。瞭解這些差異有助於您選擇合適的系統來處理事務或分析資料。下表顯示了主要功能。

    功能 OLTP(聯機事務處理) OLAP(聯機分析處理)
    處理型別 處理日常事務 專注於資料分析
    資料型別 處理當前運營資料 使用匯總的、整合的資料
    用途 支援日常業務活動 輔助決策
    事務頻率 頻繁處理大量事務 偶爾處理資料
    查詢複雜度 快速處理簡單查詢 管理複雜的查詢以獲得更深入的見解
    響應時間 提供即時結果 可能需要幾秒到幾小時
    資料庫大小 通常為千兆位元組 通常為兆兆位元組

運營資料和分析資料

運營資料 是用於管理日常任務的即時資料。它由OLTP 系統處理,並提供業務的當前檢視。運營資料通常具有高容量,這意味著它包含大量頻繁生成的資訊,這有助於做出快速決策。

運營資料的特點

當我們談論運營資料時,我們指的是支援日常業務任務的資訊。其特點包括:

  • 用於日常業務活動
  • 始終在變化並不斷更新
  • 通常儲存在 OLTP 系統中

示例:倉庫中當前的物品數量。

分析資料 是透過轉換運營資料以提供歷史檢視而建立的。它由OLAP 系統資料倉庫管理。這些資料有助於我們瞭解隨時間推移的趨勢和模式,使其對報表和機器學習有用。通常,分析資料包含的資訊較少,並且通常是從經過批次處理的大型資料集彙總而來。

分析資料的特點

在檢視分析資料時,瞭解其關鍵特徵非常重要,因為它們對於清晰的分析和決策至關重要。這些特徵包括:

  • 用於業務決策
  • 主要包含不發生變化的舊資料
  • 通常儲存在 OLAP 系統或資料倉庫中

示例:過去五年的銷售資料,用於預測未來的趨勢。

運營資料 用於監控日常活動,而分析資料 有助於長期決策。這兩種型別的資料對於有效地運營企業都至關重要。OLTP 系統管理運營資料,而 OLAP 系統或資料倉庫用於分析資料。

對稱多處理和海量並行處理

對稱多處理 (SMP) 是一種較舊的資料庫設計,其中多個處理器使用同一伺服器的記憶體和儲存。它適用於日常事務 (OLTP),但難以處理資料倉庫中發現的大量資料。您可以透過向同一伺服器新增更多處理器來提高效能。

對稱多處理的特點

本節探討了對稱多處理 (SMP) 的關鍵特性,其中多個處理器共享同一記憶體。這些特性包括:

  • 所有處理器都使用同一記憶體。
  • 適用於需要一些並行處理的系統。
  • 易於管理和程式設計。
  • 可擴充套件性有限,通常最多 32 個處理器。

示例:使用多個處理器同時處理查詢的資料庫伺服器。

海量並行處理 (MPP) 是一種較新的設計,它使用多個伺服器,每個伺服器都有自己的記憶體和儲存。它允許您透過新增更多伺服器來提高容量。在 MPP 中,資料分佈在這些伺服器上,並且任務被劃分以便可以同時處理,這使得它對於大型資料集更加高效。

海量並行處理的特點

本節介紹了海量並行處理 (MPP) 的關鍵特性,其中每個處理器都有自己的記憶體。這些特性包括:

  • 每個處理器都有自己的記憶體和作業系統。
  • 高度可擴充套件;可以使用數百或數千個處理器。
  • 非常適合處理超大型資料集。
  • 管理和程式設計更加複雜。

示例:處理跨多個伺服器的複雜查詢的大資料倉庫系統。

類比:想象一下搜尋卡片。如果一個人在搜尋 (SMP),則需要更長的時間。但是,如果幾個人分別搜尋較少的卡片 (MPP),則速度會快得多。

SMPMPP 系統最初都作為本地安裝開始,但現在有許多基於雲的選項可用。

Lambda 架構

Lambda 架構 旨在利用批處理(用於歷史資料)和即時流處理(用於即時資料)來處理大量資料。它結合了這些方法,以提供資訊的完整檢視。

Lambda 架構的關鍵概念

本節解釋了Lambda 架構用於處理資料的主要思想。這些概念是:

  • 批處理層:處理大量歷史資料。
  • 速度層:處理即時資料流。
  • 服務層:使用批處理和即時檢視響應查詢。

Lambda 架構的關鍵原則

在這裡,我們將探討Lambda 架構的關鍵原則,這些原則使其能夠良好執行。這些原則包括:

  • 雙資料模型:使用一個系統用於批處理資料,另一個系統用於即時資料。
  • 統一檢視:在一個地方顯示批處理和即時結果。
  • 獨立的處理層:批處理和即時處理獨立工作,以便於開發和擴充套件。

Lambda 架構流程

在本節中,我們將瞭解Lambda 架構用於管理資料的流程。這些步驟包括:

  • 資料層:從不同的來源收集資料,無論是連續傳入(流式)還是按設定的時間傳入(定期)。
  • 流層:快速處理最新資料,以犧牲一些準確性來換取更快的結果。這些資料通常儲存在資料湖中,以便於訪問。
  • 批處理層:將所有資料一起處理以確保準確性,作為資訊的主要來源。
  • 展示層:根據使用者的需求決定何時使用批處理層或流層的資料。

Lambda 架構的優勢

以下是Lambda 架構用於資料管理的主要優勢。

  • 它有效地處理資料,提供即時和歷史資訊。
  • 它提供對資料的清晰理解,這對於現代應用程式至關重要。

Lambda 架構的用例和侷限性

Lambda 架構非常適用於需要即時和歷史資料的應用程式,例如推薦系統。但是,它可能很複雜,並且可能不是以下情況的最佳選擇:

  • 高即時資料:對於需要快速處理大量即時資料的系統,Lambda 架構可能無法很好地工作,在這種情況下,Kappa 架構可能是更好的選擇。
  • 狀態跟蹤:如果您需要隨時間監控事件,Lambda 架構可能不是最佳選擇,因為它不跟蹤狀態。

Kappa 架構

Kappa 架構完全專注於即時處理資料。它不像 Lambda 架構那樣處理批處理資料。它旨在管理高容量資料並快速響應。

Kappa 架構的關鍵特性

本節介紹了使**Kappa 架構**有效的關鍵特性。這些特性包括:

  • **即時處理:**資料在到達時立即進行處理,從而實現更快的響應。
  • **單一事件流:**所有資料都透過一個主資料流,這使得系統易於擴充套件和從故障中恢復。
  • **無狀態處理:**每個資料片段都是獨立處理的,因此無需記住過去的資料。這使得擴充套件系統變得更容易。

Kappa 架構的優勢

在本節中,我們將討論**Kappa 架構**的一些關鍵優勢,使其成為一個極佳的選擇。這些優勢包括:

  • 比 Lambda 架構更容易構建和維護。
  • 為即時資料和歷史資料提供一致的處理。
  • 更易於理解和除錯。

Kappa 架構的侷限性

在這裡,我們將探討**Kappa 架構**的一些關鍵侷限性,這些侷限性可能會影響其使用。這些包括:

  • **複雜性:**由於其結構,設定和維護可能很困難。
  • **無批處理:**Kappa 難以處理舊資料和批次處理,使其不太適合分析歷史資訊。
  • **有限的即席查詢:**它可能不適用於需要大量歷史資料的快速搜尋。

何時使用 Kappa 架構

**Kappa 架構**最適合需要快速即時資料處理而無需分析歷史資料的應用程式。在以下情況下它表現出色:

  • **即時應用:**它非常適合需要快速更新的服務,例如流媒體或股票交易。
  • **關注當前資料:**這種架構非常適合您只需要最新資訊的情況。
  • **對於歷史資料需求:**如果您還需要分析過去的資料,最好選擇 Lambda 架構。

多語言永續性和多語言資料儲存

**多語言持久化**是指根據資料型別及其用途,在一個應用程式中使用不同的資料儲存技術。這類似於多語言程式設計使用多種程式語言來利用其優勢,即為每個特定任務選擇最佳工具。

另一方面,**多語言資料儲存**涉及在整個組織中使用不同的資料儲存解決方案。每種型別的資料儲存都針對特定資料型別或應用程式進行了最佳化,允許團隊選擇最佳選項,而不是依賴於單一的解決方案來處理所有問題。

**例如,**在一個電子商務平臺中,您可以使用以下方法,而不是將所有資料儲存在一個數據庫中:

  • 鍵值儲存,用於快速檢索購物車和會話資料。
  • 文件儲存,用於輕鬆管理已完成的訂單。
  • 關係資料庫,用於結構化的庫存和定價資料。
  • 圖儲存,用於客戶關係。

雖然使用多種資料儲存技術可能會因需要學習不同的系統而增加複雜性,但其好處包括提高速度和效能。為每種資料型別選擇合適的儲存方式可以帶來更好的應用程式效能和開發速度。

多語言持久化的優勢

在這裡,我們將看到**多語言持久化**的一些關鍵優勢,它允許根據不同的需求使用不同的資料庫。這些優勢包括:

  • **靈活性:**您可以根據需要使用不同型別的資料庫。
  • **效率:**透過為每種資料選擇最佳資料庫,它有助於提高系統的執行效率。
  • **可擴充套件性:**隨著資料量的增長,它可以輕鬆支援新的系統和技術。

多語言資料儲存的優勢

本節介紹了**多語言資料儲存**的主要優勢,它結合了不同的儲存解決方案以實現更好的資料管理。這些優勢包括:

  • **多樣的功能:**它結合了不同的儲存解決方案,可以有效地處理各種資料。
  • **更好的資料管理:**簡化了來自各種來源的資料的管理和分析。
  • **經濟高效:**透過為每個任務使用正確的資料庫來節省成本。

瞭解**設計資料架構**的不同方法對於構建高效的資料系統至關重要。最佳方法取決於組織的需求和資料型別。成功的架構通常會結合不同的方法來有效地管理資料。

廣告

© . All rights reserved.