<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)倉(cāng)(一)簡(jiǎn)介數(shù)倉(cāng),OLTP和OLAP

          共 4456字,需瀏覽 9分鐘

           ·

          2022-01-08 23:26



          一、數(shù)倉(cāng)定義


          按照傳統(tǒng)的定義,數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、非易失的、反映歷史變化(隨時(shí)間變化),用來(lái)支持管理人員決策的數(shù)據(jù)集合。數(shù)據(jù)倉(cāng)庫(kù)是一套數(shù)據(jù)組織和應(yīng)用的方法論,是需要很多的支持系統(tǒng)來(lái)協(xié)助(包含類似數(shù)據(jù)庫(kù)這樣的存儲(chǔ)系統(tǒng)),最后達(dá)到支持分析決策的目的。

          1、面向主題

          • 關(guān)系型數(shù)據(jù)庫(kù)

          面向事務(wù)處理任務(wù),用于記錄狀態(tài)

          • 數(shù)倉(cāng)

          數(shù)倉(cāng)中的數(shù)據(jù)是按照一定的主題域進(jìn)行組織,主題是一個(gè)抽象的概念,是指用戶使用數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行決策時(shí)所關(guān)心的重點(diǎn)方面,一個(gè)主題通常與多個(gè)操作型信息系統(tǒng)相關(guān)。每一個(gè)主題基本對(duì)應(yīng)一個(gè)宏觀的分析領(lǐng)域。

          比如:銀行的數(shù)據(jù)倉(cāng)庫(kù)的主題:客戶

          2、集成
          • 關(guān)系型數(shù)據(jù)庫(kù)
          數(shù)據(jù)庫(kù)通常與某些特定的應(yīng)用相關(guān),數(shù)據(jù)庫(kù)之間相互獨(dú)立,并且往往是異構(gòu)的
          • 數(shù)倉(cāng)
          數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是在對(duì)原有分散的數(shù)據(jù)庫(kù)數(shù)據(jù)抽取、清理的基礎(chǔ)上經(jīng)過(guò)系統(tǒng)加工、匯總和整理得到的。必須消除源數(shù)據(jù)中的不一致性,以保證數(shù)據(jù)倉(cāng)庫(kù)內(nèi)的信息是關(guān)于整個(gè)企業(yè)的一致的全局信息。
          ?3、非易失即相對(duì)穩(wěn)定的
          • 關(guān)系型數(shù)據(jù)庫(kù)
          數(shù)據(jù)通常實(shí)時(shí)更新,數(shù)據(jù)根據(jù)需要及時(shí)發(fā)生變化。
          • 數(shù)倉(cāng)
          數(shù)據(jù)倉(cāng)庫(kù)中包括了大量的歷史數(shù)據(jù)。所涉及的數(shù)據(jù)操作主要是數(shù)據(jù)查詢,一旦某個(gè)數(shù)據(jù)進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)以后,一般情況下將被長(zhǎng)期保留,也就是數(shù)據(jù)倉(cāng)庫(kù)中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新。
          4、隨時(shí)間變化即反映歷史變化
          • 關(guān)系型數(shù)據(jù)庫(kù)
          數(shù)據(jù)主要關(guān)心當(dāng)前某一個(gè)時(shí)間段內(nèi)的數(shù)據(jù)
          • 數(shù)倉(cāng)
          數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過(guò)去某一時(shí)點(diǎn)(如開(kāi)始應(yīng)用數(shù)據(jù)倉(cāng)庫(kù)的時(shí)點(diǎn))到目前的各個(gè)階段的信息,通過(guò)這些信息,可以對(duì)企業(yè)的發(fā)展歷程和未來(lái)趨勢(shì)做出定量分析和預(yù)測(cè)。
          5、用來(lái)支持管理人員決策的數(shù)據(jù)集合
          • 關(guān)系型數(shù)據(jù)庫(kù)
          數(shù)據(jù)庫(kù)只關(guān)注當(dāng)前時(shí)間數(shù)據(jù),無(wú)法支持管理人員決策。
          • 數(shù)倉(cāng)
          系統(tǒng)記錄了企業(yè)歷史數(shù)據(jù),可以對(duì)企業(yè)的發(fā)展歷程和未來(lái)趨勢(shì)做出定量分析和預(yù)測(cè)。企業(yè)數(shù)據(jù)倉(cāng)庫(kù)的建設(shè),是以現(xiàn)有企業(yè)業(yè)務(wù)系統(tǒng)和大量業(yè)務(wù)數(shù)據(jù)的積累為基礎(chǔ)。供他們做出改善其業(yè)務(wù)經(jīng)營(yíng)的決策而把信息加以整理歸納和重組,并及時(shí)提供給相應(yīng)的管理決策人員,是數(shù)據(jù)倉(cāng)庫(kù)的根本任務(wù)。

          二、建設(shè)數(shù)倉(cāng)的目的


          數(shù)倉(cāng)的建設(shè)并不是數(shù)據(jù)存儲(chǔ)的最終目的地,而是為數(shù)據(jù)最終的目的地做好準(zhǔn)備:清洗、轉(zhuǎn)義、分類、重組、合并、拆分、統(tǒng)計(jì)等等。通過(guò)對(duì)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的分析,可以幫助企業(yè),改進(jìn)業(yè)務(wù)流程、控制、成本、提高產(chǎn)品質(zhì)量等。

          1、理清數(shù)據(jù)資產(chǎn)提高排查和開(kāi)發(fā)運(yùn)維效率

          場(chǎng)景:

          • 不知道有什么數(shù)據(jù)、找誰(shuí)要數(shù)據(jù);

          • 多個(gè)系統(tǒng)不同的數(shù)據(jù)字段的含義

          • 數(shù)據(jù)如何生成和更新的,數(shù)據(jù)依賴關(guān)系割裂;

          2、提高數(shù)據(jù)質(zhì)量

          場(chǎng)景

          • 字段命名不規(guī)范、口徑不一致;

          • 條件的過(guò)濾和規(guī)則等的理解差異帶來(lái)的算法不一致;

          3、數(shù)據(jù)解耦

          場(chǎng)景

          • 上下游依賴混亂

          • 復(fù)雜問(wèn)題耦合在一起

          • 每次從原始數(shù)據(jù)取數(shù),數(shù)據(jù)開(kāi)發(fā)周期長(zhǎng)

          • 業(yè)務(wù)數(shù)據(jù)輕微改動(dòng)帶來(lái)的變更過(guò)大,無(wú)中間表加工

          4、解決頻繁的臨時(shí)性需求

          場(chǎng)景

          • 報(bào)送監(jiān)管歷史數(shù)據(jù)

          • 臨時(shí)數(shù)據(jù)需要交叉

          雖然數(shù)倉(cāng)建設(shè)能帶來(lái)諸多的益處,但數(shù)倉(cāng)的建設(shè)不是一天建成的,是一個(gè)龐大復(fù)雜耗時(shí)的工程,需要很多支持系統(tǒng)的配合:元數(shù)據(jù)管理系統(tǒng)、調(diào)度系統(tǒng)等,要根據(jù)業(yè)務(wù)發(fā)展所處的狀態(tài)和未來(lái)的發(fā)展趨勢(shì)以及分析決策的復(fù)雜性等綜合來(lái)搭建。



          總結(jié):

          1. 了解數(shù)倉(cāng)的特點(diǎn);

          2. 了解建設(shè)數(shù)倉(cāng)的目的意義,能解決什么問(wèn)題等

          還介紹了建立數(shù)倉(cāng)的目的:數(shù)倉(cāng)的建設(shè)并不是數(shù)據(jù)存儲(chǔ)的最終目的地,而是為數(shù)據(jù)最終的目的地做好準(zhǔn)備:清洗、轉(zhuǎn)義、分類、重組、合并、拆分、統(tǒng)計(jì)等等。通過(guò)對(duì)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的分析,可以幫助企業(yè),改進(jìn)業(yè)務(wù)流程、控制、成本、提高產(chǎn)品質(zhì)量等。


          下面介紹一下兩個(gè)重要的數(shù)據(jù)處理的類型OLTP和OLAP,并通過(guò)比對(duì)總結(jié),從而更好的理解兩種數(shù)據(jù)處理類型。


          三、數(shù)據(jù)處理“分


          隨著關(guān)系型數(shù)據(jù)庫(kù)理論的提出,誕生了一系列經(jīng)典的RDBMS,如DB2、Oracle,SQL Server、MySQL等。隨著數(shù)據(jù)庫(kù)使用范圍的不斷擴(kuò)大,根據(jù)操作業(yè)務(wù)不同類型,被逐步劃分為兩大處理的類型:

          1、處理業(yè)務(wù)型數(shù)據(jù)庫(kù)

          主要用于業(yè)務(wù)支撐。比如:銀行往往會(huì)使用并維護(hù)若干個(gè)數(shù)據(jù)庫(kù),這些數(shù)據(jù)庫(kù)保存著日常操作數(shù)據(jù),如理財(cái)購(gòu)買、核心系統(tǒng)、信用卡數(shù)據(jù)、內(nèi)部管理系統(tǒng)等。

          2、分析歷史數(shù)據(jù)型數(shù)據(jù)庫(kù)

          主要用于歷史數(shù)據(jù)分析。這類數(shù)據(jù)庫(kù)作為公司的單獨(dú)數(shù)據(jù)存儲(chǔ),利用歷史數(shù)據(jù)對(duì)公司各主題域進(jìn)行統(tǒng)計(jì)分析。比如:銀行對(duì)客戶AUM統(tǒng)計(jì)、對(duì)征信的統(tǒng)計(jì)評(píng)估等。

          為什么要分家?

          能不能構(gòu)建一個(gè)同樣適用于操作和分析的統(tǒng)一數(shù)據(jù)庫(kù)?目前的解決方案是不適合!

          • 因?yàn)閿?shù)據(jù)之間會(huì)"打架";

          • 如果操作型任務(wù)和分析型任務(wù)搶資源怎么辦呢?

          • 同時(shí)處理數(shù)據(jù)怎么保證數(shù)據(jù)一致性呢?

          后面我們會(huì)分析這兩個(gè)類型是完全不一樣的操作。即一個(gè)是面向操作即OLTP一個(gè)是面向分析(主題)即OLAP。




          四、范式概念
          在了解范式概念之前,我們先來(lái)了解一下函數(shù)依賴的概念。

          1、函數(shù)依賴

          根據(jù)下圖來(lái)加深理解:

          • 完全函數(shù)依賴
          通過(guò)A and B能推出C,但是AB單獨(dú)得不到C,那么可以說(shuō):C完全依賴于AB。
          (學(xué)號(hào),課名)推出分?jǐn)?shù),但是單獨(dú)用學(xué)號(hào)推不出分?jǐn)?shù),那么可以說(shuō):分?jǐn)?shù)完全依賴于(學(xué)號(hào),課名)。
          • 部分函數(shù)依賴
          通過(guò)A and B 能推出C,通過(guò)單獨(dú)的A 或者單獨(dú)的B也能推出C,那么可以說(shuō):C部分依賴于AB
          (學(xué)號(hào),課名)推 姓名,而還可以通過(guò)學(xué)號(hào)直接推出姓名,那么可以說(shuō):姓名部分依賴于(學(xué)號(hào),課名)
          • 傳遞函數(shù)依賴
          通過(guò)A得到B,通過(guò)B得到C,但是通過(guò)C不能得 A,那么可以說(shuō):C傳遞依賴于A
          通過(guò)學(xué)號(hào)推出系名,系名 推系主任,但是 系主任不能推出學(xué)號(hào),那么可以說(shuō):系主任傳遞依賴于學(xué)號(hào)。

          2、范式定義
          范式(數(shù)據(jù)庫(kù)設(shè)計(jì)范式)是符合某一種級(jí)別的關(guān)系模式的集合。構(gòu)造數(shù)據(jù)庫(kù)必須遵循一定的規(guī)則。
          在關(guān)系數(shù)據(jù)庫(kù)中,這種規(guī)則就是范式。關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系必須滿足一定的要求,即滿足不同的范式
          3、范式類型
          目前關(guān)系數(shù)據(jù)庫(kù)有六種范式:
          第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、
          Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。
          一般說(shuō)來(lái),數(shù)據(jù)庫(kù)只需滿足第三范式(3NF)就行了。
          4、三范式
          • 第一范式:屬性不可切分
          上表:商品這列中的數(shù)據(jù)不是原子數(shù)據(jù)項(xiàng),是可以進(jìn)行分割的。

          • 第二范式:不能存在"部分函數(shù)依賴"
          上表(學(xué)號(hào),課名),分?jǐn)?shù)完全依賴于(學(xué)號(hào)和課名),但是姓名并不完全依賴于(學(xué)號(hào)和課名)。

          • 第三范式:不能存在"傳遞函數(shù)依賴"

          上表:學(xué)號(hào)-->系名-->老師,但是老師推不出學(xué)號(hào)。



          五、OLTP簡(jiǎn)介

          1、OLTP概念
          聯(lián)機(jī)事務(wù)處理OLTP(on-line transaction processing):是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的主要應(yīng)用,主要是基本的、日常的在線/聯(lián)機(jī)事務(wù)處理。
          OLTP典型的應(yīng)用領(lǐng)域包括銀行、證劵等金融行業(yè),電子商務(wù)系統(tǒng)等。比如:我們?cè)谀矨銀行APP上查詢賬戶余額、收支信息和轉(zhuǎn)賬記錄,在ATM機(jī)上存錢,取錢,將某A行賬號(hào)的錢轉(zhuǎn)到某B行賬號(hào)上。這些都是典型的OLTP類操作。
          這些操作都比較簡(jiǎn)單,主要是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查。操作主體一般是產(chǎn)品的用戶。
          2、OLTP關(guān)系模型
          數(shù)據(jù)庫(kù)中的關(guān)系模型是嚴(yán)格遵循第三范式(3NF),關(guān)系模型主要應(yīng)用在OLTP系統(tǒng)中,為了保證數(shù)據(jù)的一致性以及避免冗余,所以大部分業(yè)務(wù)系統(tǒng)的表都是遵循第三范式的。
          注:圖片來(lái)源于網(wǎng)絡(luò)
          3、OLTP特點(diǎn)
          • 從上面這個(gè)建模客戶表圖中可以看出,物理表數(shù)量多,而數(shù)據(jù)冗余程度低;

          • 數(shù)據(jù)分布于眾多的表中;

          • 這些數(shù)據(jù)可以更為靈活地被應(yīng)用,功能性較強(qiáng);

          • 但是一次修改,需要修改多個(gè)表,很難保證數(shù)據(jù)的一致性;

          • 并且獲取數(shù)據(jù)時(shí)候,需要通過(guò)join拼接最后的數(shù)據(jù)。


          六、OLAP簡(jiǎn)介

          1、OLAP概念
          OLAP是Online analytical processing,指聯(lián)機(jī)分析處理。數(shù)數(shù)倉(cāng)的主要應(yīng)用。從字面上我們能看出是做分析類操作。通過(guò)分析數(shù)據(jù)庫(kù)中的數(shù)據(jù)來(lái)得出一些結(jié)論性的東西。比如:給領(lǐng)導(dǎo)們看的報(bào)表,用于進(jìn)行市場(chǎng)開(kāi)拓的用戶行為統(tǒng)計(jì),不同維度的匯總分析結(jié)果等等。操作主體一般是運(yùn)營(yíng)、銷售和市場(chǎng)等團(tuán)隊(duì)人員而不是用戶,主要用于歷史數(shù)據(jù)分析。

          2、OLAP模型
          維度建模(dimensional modeling)是專門(mén)用于分析型數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市建模的方法。

          注:圖片來(lái)源于網(wǎng)絡(luò)
          • 上圖為維度模型建模片段,主要應(yīng)用于 OLAP 系統(tǒng)中;
          • 通常以某一個(gè)事實(shí)表為中心進(jìn)行表的組織,主要面向業(yè)務(wù),特征是可能存在數(shù)據(jù)的冗余,但是能方便的得到數(shù)據(jù)。
          關(guān)系模型雖然冗余少,但是在大規(guī)模數(shù)據(jù),跨表分析統(tǒng)計(jì)查詢過(guò)程中,會(huì)造成多表關(guān)聯(lián),這會(huì)大大降低執(zhí)行效率。所以通常我們采用維度模型建模,把相關(guān)各種表整理成兩種:事實(shí)表和維度表兩種。關(guān)于這方面內(nèi)容我們下節(jié)講解。


          七、OLTP VS?OLAP

          1、數(shù)據(jù)主要應(yīng)用

          OLAP
          OLTP
          數(shù)據(jù)應(yīng)用
          數(shù)倉(cāng)
          數(shù)據(jù)庫(kù)
          操作對(duì)象
          數(shù)倉(cāng)
          數(shù)據(jù)庫(kù)
          業(yè)務(wù)類型
          統(tǒng)計(jì)、多維分析
          業(yè)務(wù)操作如:轉(zhuǎn)賬
          代表產(chǎn)品
          Hive
          MySQL
          DB設(shè)計(jì)
          面向主題
          面向應(yīng)用
          用戶
          數(shù)據(jù)分析、決策人員、管理人員
          操作人員

          2、數(shù)據(jù)內(nèi)容

          OLAP
          OLTP
          數(shù)據(jù)內(nèi)容
          當(dāng)前以及歷史數(shù)據(jù)
          當(dāng)前現(xiàn)在數(shù)據(jù)
          數(shù)據(jù)模型
          星型或者雪花、星座
          實(shí)體-關(guān)系(ER)
          數(shù)據(jù)粒度
          多表
          記錄行級(jí)
          數(shù)據(jù)操作
          一般不支持更新和刪除
          DML和DDL
          數(shù)據(jù)結(jié)構(gòu)
          簡(jiǎn)單、適合分析
          高度結(jié)構(gòu)化、復(fù)雜,適合操作計(jì)算
          數(shù)據(jù)字段
          靜態(tài)、不能直接更新,只能定時(shí)添加、刷新
          動(dòng)態(tài)變化,按字段更新
          數(shù)據(jù)查詢
          聚合類算子、涉及多表Join
          涉及單表、點(diǎn)查為主
          數(shù)據(jù)返回值
          聚合計(jì)算結(jié)果
          記錄本身或該記錄的多個(gè)列

          3、性能要求

          OLAP
          OLTP
          響應(yīng)時(shí)間要求
          秒、分、小時(shí)等
          秒,實(shí)時(shí)性
          時(shí)間性能要求
          相對(duì)性能要求較低
          高吞吐、低延時(shí)
          數(shù)據(jù)量級(jí)
          TB-PB
          MB-GB
          讀特性
          對(duì)大量數(shù)據(jù)進(jìn)行匯總
          每次查詢只返回少量數(shù)據(jù)
          寫(xiě)特性
          批量導(dǎo)入
          隨機(jī)、低延遲寫(xiě)入用戶的操作

          總結(jié):


          1. 了解數(shù)據(jù)庫(kù)的三范式
          2. OLTP和OLAP兩種數(shù)據(jù)處理類型;
          3. 通過(guò)對(duì)比加深對(duì)OLAP的認(rèn)知;


          >>>>

          Q&A


          Q:MySQL這樣的OLTP數(shù)據(jù)庫(kù)能處理OLAP業(yè)務(wù)嗎?

          A:?也可以處理這樣的業(yè)務(wù)的,但是并沒(méi)有人來(lái)使用這樣的解決方案!


          • MySQL是作為OLTP數(shù)據(jù)庫(kù)使用的。但是也能執(zhí)行一些OLAP操作,比如里面8.0包括窗口函數(shù),通用表達(dá)式和更強(qiáng)大的Join能力,但這不是MySQL擅長(zhǎng)的領(lǐng)域。
          • OLTP和OLAP都是通過(guò)SQL來(lái)執(zhí)行,但SQL語(yǔ)句只是描述了我想要什么,而并沒(méi)有說(shuō)明應(yīng)該怎么做(不考慮hint等),即確定最優(yōu)的執(zhí)行計(jì)劃。由于一般OLTP操作比較簡(jiǎn)單,所涉及的表也少,因此不需要相應(yīng)的數(shù)據(jù)庫(kù)具有強(qiáng)大的執(zhí)行優(yōu)化能力。
          • OLAP類操作需要強(qiáng)大的執(zhí)行計(jì)劃產(chǎn)生和優(yōu)化能力。
            當(dāng)然,如果總數(shù)據(jù)量較小,那MySQL也是能夠應(yīng)付的。數(shù)據(jù)量大,需要OLAP解決方案。




          參考書(shū)籍:


          1. 數(shù)據(jù)倉(cāng)庫(kù)第4版
          2. DAMA數(shù)據(jù)管理知識(shí)體系指南
          3. 華為數(shù)據(jù)之道
          推薦閱讀:

          淺談數(shù)倉(cāng)模型(維度建模)

          數(shù)倉(cāng)深度 | 數(shù)據(jù)模型設(shè)計(jì)(推薦收藏)

          瀏覽 131
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  男女啪啪网站。 | 国产加勒比在线看 | 高清无码免费视频在线观看 | 囯产精品久久久久久久久久免费 | 不用播放器的AV网站 |