大工程 從0到1 數據治理 數倉篇(sample database classicmodels _No.7)

大工程 從0到1 數據治理 之數倉篇

我這里還是sample database classicmodels為案列,可以下載,我看 網上還沒有類似的 案列,那就 從 0-1開始吧!

在這里插入圖片描述


提示:寫完文章后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 大工程 從0到1 數據治理 之數倉篇
  • 什么是數倉?
  • 企業為什么要建數倉?
  • 建數倉的數據庫選型
    • 關系型數據庫:
    • 列式數據庫:
    • 分布式數據庫:
    • 云數據庫服務:
    • Mpp數據庫:
  • 數倉的備份
    • 全量備份:
    • 增量備份:
    • 定期備份計劃:
    • 分層備份:
    • 異地備份:
    • 壓縮和加密:
    • 測試恢復流程:
    • 日志備份:
    • 監控和報警:
  • TB級數倉的硬件配置
    • [clickhouse -data warehouse](https://clickhouse.com/blog/building-a-data-warehouse-with-clickhouse) ![在這里插入圖片描述](https://img-blog.csdnimg.cn/direct/164dd33ee4c640d6acad0aa3590b2cfc.png)


什么是數倉?

數倉是指數據倉庫的簡稱(Data Warehouse)。數據倉庫是一個用于集中存儲和管理大量結構化和非結構化數據的系統。它的目標是幫助組織更好地理解和分析其數據,支持決策和業務運營或者說是 支持企業在決策和分析方面的需求,提供可靠、一致、高性能的數據存儲和訪問。

以通俗易懂的方式來說,你可以把數據倉庫比喻為一個大型的數據存儲倉庫,就像企業中的“數據中心”。這個倉庫里存放著各種各樣的數據,包括銷售數據、客戶信息、交易記錄等等,這些數據來自企業內部的不同部門和系統。

數倉的主要功能是將這些分散的數據整合在一起,清理和轉換成可分析的格式,使企業管理層和決策者能夠更輕松地查看、理解和利用這些信息。通過數倉,企業可以進行更有效的業務分析、趨勢預測、決策制定,從而提升業務的智能化和競爭力。

數倉的優勢包括:

  • 決策支持: 提供高性能的查詢和報表功能,幫助企業領導和分析師做出更好的決策。
  • 數據一致性: 集中存儲數據,確保數據的一致性和準確性。
  • 歷史數據追溯: 可以存儲歷史數據,支持時間序列分析和趨勢觀察。
  • 數據整合: 整合來自不同業務系統的數據,提供一個全面的視圖。
  • 總的來說,數據倉庫在企業中扮演著重要角色,幫助組織更好地理解和利用其數據資產。

數倉通常從不同的業務系統中匯總數據,將其清洗、轉換、加載(ETL)到一個統一的存儲庫中,以便用戶可以執行復雜的查詢和分析。數據倉庫的設計通常遵循維度建模的原則,其中數據被組織成事實表和維度表,以支持多維分析。

企業為什么要建數倉?

企業建立數據倉庫(Data Warehouse)有多個重要原因,其中一些主要的包括:

集中數據存儲: 數據倉庫提供一個集中存儲和管理企業內部和外部數據的地方。這使得數據更容易訪問、管理和維護,有助于確保數據的一致性和準確性。

支持決策制定: 數據倉庫能夠整合不同來源的數據,提供更全面、準確的信息,幫助企業管理層做出更明智的戰略和戰術決策。通過分析歷史數據和當前趨勢,企業能更好地了解市場、客戶、業務運營等方面的情況。

提高數據質量: 數據倉庫通常包括數據清洗、轉換和加載(ETL)過程,通過這些過程,可以提高數據的質量,確保數據的一致性和準確性。這有助于避免在決策中因為數據質量問題而導致的錯誤。

支持業務智能和分析: 數據倉庫是業務智能和分析的基礎。通過對數據倉庫中的數據進行查詢和分析,企業可以獲取深刻的見解,發現潛在的模式和趨勢,幫助業務更好地了解市場、客戶需求和業務績效。

滿足合規性要求: 數據倉庫的建立可以有助于滿足法規和合規性方面的要求。通過確保數據的一致性和準確性,企業能夠更容易地滿足監管機構的規定。

支持大數據處理: 隨著大數據的崛起,企業需要處理和分析海量的數據。數據倉庫提供了一種結構化的方法,幫助企業有效地管理和分析大規模數據集。

促進數據驅動文化: 數據倉庫可以促進數據驅動的企業文化。通過使數據更易于訪問和理解,員工更有可能使用數據支持其決策和行動。

總的來說,建立數據倉庫有助于企業更好地管理、分析和利用數據資源,從而提高決策的準確性和效率,推動業務的發展。

建數倉的數據庫選型

關系型數據庫:

Oracle Database: Oracle是一種強大的關系型數據庫管理系統,廣泛用于大型企業和復雜的數據倉庫環境。
Microsoft SQL Server: SQL Server是微軟推出的關系型數據庫管理系統,適用于Windows環境,并提供強大的商業智能和分析功能。
MySQL: MySQL是一種開源的關系型數據庫,適用于中小型企業的數據倉庫建設。

列式數據庫:

Greenplum: Greenplum是一種基于開源的列式數據庫,專注于大規模數據倉庫和分析場景。
ClickHouse: ClickHouse是俄羅斯的一種列式數據庫,以其高性能和可擴展性而聞名。

分布式數據庫:

Hadoop和Hive: 使用Hadoop作為分布式存儲,結合Hive進行數據倉庫查詢。這適用于大規模的數據分析和處理。
Spark SQL: 基于Apache Spark的分布式數據庫,適用于大規模數據處理和復雜分析。
NoSQL數據庫:
MongoDB: MongoDB是一種面向文檔的NoSQL數據庫,適用于半結構化數據和靈活的數據模型。
Cassandra: Cassandra是一種分布式的NoSQL數據庫,適用于具有高可擴展性和高可用性需求的場景。
還有

云數據庫服務:

阿里云 AnalyticDB: 阿里云的AnalyticDB是一種云上數據倉庫服務,具有高性能、彈性擴展和集成大數據處理的特點。
騰訊云 ClickHouse: 騰訊云提供的ClickHouse服務,可以方便地在云上搭建基于列式存儲的數據倉庫。

Mpp數據庫:

StarRocks 和 Doris:
StarRocks 和 Doris 都是分布式的實時分析數據庫,屬于MPP(Massively Parallel Processing)架構的一種。它們的設計目標是支持大規模數據存儲和分析,特別適用于OLAP(Online Analytical Processing)場景,即面向復雜查詢和分析的工作負載。

中國的一些MPP(Massively Parallel Processing)數據庫包括:

OceanBase:
OceanBase是由阿里巴巴開發的分布式數據庫系統。它支持水平擴展和MPP處理,用于應對大規模數據存儲和處理需求。OceanBase不僅支持事務型工作負載,還能夠處理大量的分析型查詢。

TencentDB:
騰訊云的數據庫服務TencentDB(原騰訊云分布式數據庫TDSQL)具有分布式架構和MPP處理能力,適用于OLAP和OLTP場景。它提供了MySQL、PostgreSQL和SQL Server等不同引擎的版本。

Huawei GaussDB:
華為的GaussDB是一款分布式數據庫產品,支持MPP處理,適用于海量數據的存儲和分析。它支持多模型數據庫,包括關系型、時序型、圖形型等。

數倉的備份

數據倉庫的備份是保障數據安全、可用性和完整性的關鍵步驟。備份策略應該根據業務需求、數據重要性和恢復時間目標(Recovery Time Objective, RTO)等因素進行制定。以下是關于數據倉庫備份的一些建議:

全量備份:

定期進行全量備份是數據倉庫備份策略的基礎。全量備份包含整個數據庫的數據,是恢復數據的基礎。

增量備份:

為減少備份時間和存儲成本,可以考慮增量備份。增量備份只備份自上次備份以來發生變化的數據,節省存儲空間和備份時間。

定期備份計劃:

制定定期的備份計劃,根據業務需求和數據變化頻率來決定備份的頻率。一般來說,每日全量備份和更頻繁的增量備份是常見的做法。

分層備份:

根據數據倉庫的不同層次,可以考慮采用分層備份策略。比如,可以對ODS層和DWD層采用不同的備份頻率和保留期限,根據數據變更的頻率和重要性進行調整。

異地備份:

將備份數據存儲在與數據倉庫主體不同的物理位置,以防止因自然災害、硬件故障等原因導致的數據丟失。云存儲服務也是一個常見的異地備份選擇。

壓縮和加密:

在備份數據時,可以考慮對備份文件進行壓縮,以節省存儲空間。同時,對備份數據進行加密有助于確保備份文件的安全性。

測試恢復流程:

定期測試備份的恢復過程,以確保備份數據的完整性和可用性。這可以在面臨真實災難時提高數據恢復的成功率。

日志備份:

在數據庫支持的情況下,進行事務日志的備份,以支持點時間恢復(Point-in-Time Recovery)。這可以減小數據丟失的范圍。

監控和報警:

設置備份任務的監控和報警機制,及時發現備份失敗、存儲空間不足等問題,確保備份任務按計劃執行。
備份是數據管理中至關重要的一環,一個健全的備份策略有助于最小化數據丟失、確保系統可用性,并提供在緊急情況下迅速恢復數據的能力。

TB級數倉的硬件配置

要構建一個TB級別的大規模數據倉庫,需要精心設計硬件配置以滿足高性能、可伸縮性和可靠性的要求。以下是一個概括性的TB級數據倉庫的硬件配置示例:

計算節點(Compute Nodes):

數量: 數十至數百臺計算節點,具體數量根據數據規模和性能需求而定。
處理器: 每個計算節點配備多個高性能的多核處理器,如Intel Xeon或AMD EPYC系列。
內存: 大量的RAM,通常每個節點需要幾百GB到數TB的內存,以支持大規模數據的并行處理和分析。
存儲節點(Storage Nodes):

數量: 數十至數百臺存儲節點,用于存儲大規模的數據。
存儲類型: 高性能的分布式存儲系統,可能包括SSD和HDD的混合存儲,以平衡性能和成本。分布式文件系統或對象存儲可用于提供高可用性和可伸縮性。
存儲容量: 每個節點具有數十TB到數百TB的存儲容量,總存儲容量達到TB級別。
網絡架構:

高速網絡: 使用高速網絡互聯計算節點和存儲節點,例如40Gbps或100Gbps以保障快速數據傳輸。
InfiniBand或Ethernet: 選擇適當的網絡技術,以支持低延遲和高帶寬的通信,確保計算節點和存儲節點之間的有效通信。
數據庫引擎和軟件:

分布式數據庫: 選擇適合大規模數據倉庫的分布式數據庫引擎,如StarRocks、Doris、Greenplum等。
操作系統: 使用穩定、高性能的操作系統,如Linux發行版(例如CentOS、Red Hat)。
負載均衡和管理工具:

負載均衡器: 在前端引入負載均衡器以平衡查詢負載,確保計算和存儲資源充分利用。
集群管理工具: 使用專業的集群管理工具,確保節點的高可用性和故障恢復。
冗余備份和災難恢復:

冗余節點: 在計算和存儲層面引入冗余節點,以防單個節點故障。這可以通過數據復制和備份機制來實現。
災難恢復: 考慮在不同地理位置部署冗余數據中心,以實現災難恢復和數據備份的安全性。
以上硬件配置只是一個示例,具體的TB級數據倉庫硬件配置需要根據實際需求、預算和性能目標進行調整。在設計和建設過程中,建議進行性能測試和負載測試,以確保硬件配置能夠滿足數據倉庫的需求。


一些學習資料
github
在這里插入圖片描述

wiki-data_warehouse
在這里插入圖片描述

aws-data-warehouse
在這里插入圖片描述
azure-data-warehouse

在這里插入圖片描述
IBM-data-warehouse
在這里插入圖片描述

clickhouse -data warehouse
在這里插入圖片描述

文本 將使用 clickhouse 做數據倉庫,后面一章會說到,謝謝大家

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

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

相關文章

TRS 2024 論文閱讀 | 基于點云處理和點Transformer網絡的人體活動連續識別

無線感知/雷達成像部分最新工作<持續更新>: 鏈接地址 注1:本文系“無線感知論文速遞”系列之一,致力于簡潔清晰完整地介紹、解讀無線感知領域最新的頂會/頂刊論文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI, SenSys, Ubicomp; JSAC, 雷達學…

提高代碼質量的 10 條編碼原則

提高代碼質量的 10 條編碼原則 本文轉自 公眾號 ByteByteGo&#xff0c;如有侵權&#xff0c;請聯系&#xff0c;立即刪除 今天來聊聊提高代碼質量的 10 條編碼原則。 軟件開發需要良好的系統設計和編碼標準。我們在下圖中列出了 10 條良好的編碼原則。 01 遵循代碼規范 我們…

Studio One破解版和正版的區別 Studio One購買是永久的嗎

在過去的很長一段時間里&#xff0c;很多小伙伴想要使用一款軟件時&#xff0c;可能第一時間就去網上尋找破解版的資源&#xff0c; 白嫖的資源固然很香&#xff0c;但隨著法制的健全和人們版權意識的增強&#xff0c;現在破解版的資源是越來越少了。同時破解版的資源也會伴隨著…

大數據計算技術秘史(上篇)

在之前的文章《2024 年&#xff0c;一個大數據從業者決定……》《存儲技術背后的那些事兒》中&#xff0c;我們粗略地回顧了大數據領域的存儲技術。在解決了「數據怎么存」之后&#xff0c;下一步就是解決「數據怎么用」的問題。 其實在大數據技術興起之前&#xff0c;對于用戶…

react實現拖拽的插件

插件一&#xff1a;dnd-kit 插件官網鏈接https://docs.dndkit.com/introduction/installation 插件二&#xff1a;react-beautiful-dnd https://github.com/atlassian/react-beautiful-dnd/tree/master 兩個插件的區別&#xff1a; 插件一可以做到從區域A拖住到區域B 插件二…

平臺組成-門戶服務

整體是從用戶視角&#xff0c;從外往內介紹。前面講了平臺的幾個模塊&#xff08;就是前端部署包&#xff09;。今天開始介紹后臺服務&#xff08;微服務&#xff0c;SpringCloud&#xff0c;通過-jar 參數啟動的jar包&#xff09;。 門戶服務完成登錄、注冊、界面配置、功能鏈…

java面試JVM虛擬機篇

1 JVM組成 1.1 JVM由那些部分組成&#xff0c;運行流程是什么&#xff1f; 難易程度&#xff1a;☆☆☆ 出現頻率&#xff1a;☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的運行環境&#xff08;java二進制字節碼的運行環境&#xff09; 好處&#xff1a; 一次編寫&a…

Go 原子操作有哪些?

Go atomic包是最輕量級的鎖&#xff08;也稱無鎖結構&#xff09;&#xff0c;可以在不形成臨界區和創建互斥量的情況下完成并發安全的值替換操作&#xff0c;不過這個包只支持int32/int64/uint32/uint64/uintptr這幾種數據類型的一些基礎操作&#xff08;增減、交換、載入、存…

Excel之index、MATCH面試題、VLOOKUP函數,

VLOOKUP() 在表格的首列查找指定的數值&#xff0c;并返回表格當前行中指定列處的數值。 結構&#xff1a;VLOOKUP(查找值,查找區域,列序數,匹配條件) 解釋&#xff1a;VLOOKUP(找誰,在哪里找,第幾列,0或1) 1.目的&#xff1a;根據【產品】查找【銷量】 公式&#xff1a;V…

pikachu靶場-XSS

XSS&#xff1a; XSS&#xff08;跨站腳本&#xff09;概述 Cross-Site Scripting 簡稱為“CSS”&#xff0c;為避免與前端疊成樣式表的縮寫"CSS"沖突&#xff0c;故又稱XSS。一般XSS可以分為如下幾種常見類型&#xff1a; 1.反射性XSS; 2.存儲型XSS; 3.DOM型XSS; …

QT的UI入門

二、UI入門 QWidget類&#xff08;熟悉&#xff09; QWidget類是所有組件和窗口的基類&#xff0c;內部包含了一些基礎的界面特性。 常用屬性&#xff1a; 修改坐標 x : const int 橫坐標&#xff0c;每個圖形的左上角為定位點&#xff0c;橫軸的零點在屏幕的最左邊&#xff0c…

js實現復制功能

一、具體場景 前端有時需要實現點擊按鈕復制的功能&#xff0c;這個時候就不能讓用戶去手動選擇內容右鍵復制了。 二、實現方式 1. document.execCommand &#xff08;1&#xff09;具體實現 復制時&#xff0c;先選中文本&#xff0c;然后調用document.execCommand(‘copy’)…

171基于matlab的隨機共振微弱信號檢測

基于matlab的隨機共振微弱信號檢測&#xff0c;隨機共振描述了過阻尼布朗粒子受周期性信號和隨機噪聲的共同作用下,在非線性雙穩態系統中所發生的躍遷現象. 隨機共振可用于弱信號的檢測。程序已調通&#xff0c;可直接運行。

共享之力:分布式計算的奇跡

在信息時代的浪潮中&#xff0c;分布式計算作為一種革命性的技術&#xff0c;已經深刻地改變了我們對計算和數據處理的理解方式。其發展歷程既是一段精彩的科技史&#xff0c;也是一段充滿探索與突破的冒險故事&#xff0c;從最初的概念探索到如今的普及應用&#xff0c;分布式…

HashMap 源碼學習-jdk1.8

1、一些常量的定義 這里針對MIN_TREEIFY_CAPACITY 這個值進行解釋一下。 java8里面&#xff0c;HashMap 的數據結構是數組 &#xff08;鏈表或者紅黑樹&#xff09;&#xff0c;每個數組節點下可能會存在鏈表和紅黑樹之間的轉換&#xff0c;當同一個索引下面的節點超過8個時…

【Webpack】處理字體圖標和音視頻資源

處理字體圖標資源 1. 下載字體圖標文件 打開阿里巴巴矢量圖標庫open in new window選擇想要的圖標添加到購物車&#xff0c;統一下載到本地 2. 添加字體圖標資源 src/fonts/iconfont.ttf src/fonts/iconfont.woff src/fonts/iconfont.woff2 src/css/iconfont.css 注意字體…

[計算機網絡]---TCP協議

前言 作者&#xff1a;小蝸牛向前沖 名言&#xff1a;我可以接受失敗&#xff0c;但我不能接受放棄 如果覺的博主的文章還不錯的話&#xff0c;還請點贊&#xff0c;收藏&#xff0c;關注&#x1f440;支持博主。如果發現有問題的地方歡迎?大家在評論區指正 目錄 一 、TCP協…

Java并發基礎:原子類之AtomicBoolean全面解析

本文概要 AtomicBoolean類優點在于能夠確保布爾值在多線程環境下的原子性操作&#xff0c;避免了繁瑣的同步措施&#xff0c;它提供了高效的非阻塞算法實現&#xff0c;可以大大提成程序的并發性能&#xff0c;AtomicBoolean的API設計非常簡單易用。 AtomicBoolean核心概念 …

P1024 [NOIP2001 提高組] 一元三次方程求解

P1024 [NOIP2001 提高組] 一元三次方程求解 純代碼記錄 #include <iostream> #include <math.h> using namespace std; double a,b,c,d; double res[3];//用于存放三個解 int resCount;inline double F(double x)//三次函數 {return a*pow(x,3)b*pow(x,2)c*xd; }//…

web前端開發this指向問題

? 函數內部中的 this 指向誰&#xff0c;不是在函數定義時決定的&#xff0c;而是在函數第一次調用并執行的時候決定的 1. call 方法 語法&#xff1a;函數名.call(調用者, 參數1, …) 作用&#xff1a;函數被借用時&#xff0c;會立即執行&#xff0c;并且函數體內的this會…