說說數(shù)倉(1) - 什么是數(shù)倉


數(shù)倉總結(jié)目錄:
說說數(shù)倉(1) - 什么是數(shù)倉
說說數(shù)倉(2) - 傳統(tǒng)數(shù)倉與互聯(lián)網(wǎng)數(shù)倉
說說數(shù)倉(3) - 數(shù)倉架構(gòu)
說說數(shù)倉(4) - 指標字典
說說數(shù)倉(5)-最重要的維度之日期維度
說說數(shù)倉(6)-關(guān)于命名規(guī)范
說說數(shù)倉(7)-淺談數(shù)據(jù)治理
說說數(shù)倉(8)-關(guān)于增量
說說數(shù)倉(9)-上下游約定
說說數(shù)倉(10)-任務注釋


最近幾年工作中,接觸到一些關(guān)于數(shù)倉建模的工作,說是建模,其實個人感覺自己也就入個門而已,有一點兒自己的理解,這里會簡單整理下自己的想法結(jié)合找到的一些資料,分享給大家看看,可以多多交流。

什么是數(shù)據(jù)倉庫

數(shù)據(jù)倉庫(DataWarehouse),一般縮寫成DW、DWH。數(shù)據(jù)倉庫是一個面向主題的(Subject Oriented)、集成的(Integrate)、相對穩(wěn)定的(Non-Volatile)、反映歷史變化(Time Variant)的數(shù)據(jù)集合,用于支持管理決策。
--來自智庫百科

從字面上來看,數(shù)據(jù)倉庫就是一個存放數(shù)據(jù)的倉庫,它里面存放了各種各樣的數(shù)據(jù),而這些數(shù)據(jù)需要按照一些結(jié)構(gòu)、規(guī)則來組織和存放。這里我們會遇到一個問題就是同樣是存放數(shù)據(jù)的倉庫,那數(shù)據(jù)庫和數(shù)據(jù)倉庫是一樣的嗎?

數(shù)據(jù)庫 VS 數(shù)據(jù)倉庫

數(shù)據(jù)庫就是我們常用的關(guān)系型數(shù)據(jù)庫(MySQL、Oracle、PostgreSQL...),還有什么非關(guān)系型數(shù)據(jù)庫,它主要存放業(yè)務數(shù)據(jù),那數(shù)據(jù)倉庫有有些什么數(shù)據(jù)呢?
說到他們的區(qū)別,我們一般會提到OLTP和OLAP,
OLTP:on-line transaction processing,聯(lián)機事務處理,主要是業(yè)務數(shù)據(jù),需要考慮高并發(fā)、考慮事務
OLAP:On-Line Analytical Processing,聯(lián)機分析處理,重點主要是面向分析,會產(chǎn)生大量的查詢,一般很少涉及增刪改


他們的區(qū)別,面試時也會提到,主要從幾個點談談就行。

大數(shù)據(jù)

數(shù)據(jù)倉庫其實是一套體系,他不是一門什么技術(shù),而是整合了很多已有的技術(shù),來更好地組織和管理數(shù)據(jù)。
傳統(tǒng)數(shù)倉的話,主要是基于關(guān)系型數(shù)據(jù)庫,后面還有一些分布式的數(shù)據(jù)庫像Greenplum,還有很多公司會提供基于硬件的一整套解決方案。在傳統(tǒng)數(shù)倉開發(fā)時,由于硬件的性能有限,所以有很多的要求,而隨著硬件價格的下降、云服務器的廣泛使用,還有大數(shù)據(jù)技術(shù)的成熟發(fā)展,數(shù)倉的很多場景都變了,有些規(guī)則都不需要去嚴格遵守了,這樣也可以剩下很多的成本。

后記

上面大概整理了數(shù)倉的基本概念,一些常見的問題,最主要的其實是基于Hadoop和傳統(tǒng)數(shù)倉的區(qū)別,這個后面會再深入整理下,這回先說到這里,后面如果有概念性的東西,還會整理在這一章。

附錄

數(shù)據(jù)倉庫-智庫百科
OLTP vs. OLAP

20190318更新

剛剛有朋友說,搜數(shù)倉發(fā)現(xiàn)了這篇文章,感覺想我寫的,截圖給我看,我一看,哈哈哈,還真是我寫的,還是簡書溜。我說這篇文章咋有這么多的閱讀量呢。
我看了看這篇文章,寫的還是少了些,于是回來更新下一點點內(nèi)容。

再往前幾年,數(shù)倉這個東西是有點兒神秘的,感覺很高大上,而現(xiàn)在,起碼在互聯(lián)網(wǎng)公司來說,誰都知道數(shù)倉,誰都知道數(shù)據(jù)平臺,誰都可以來說兩句,已經(jīng)大眾化了。
記得以前面數(shù)倉的話,總有幾個必備的面試題:

  • 什么是數(shù)倉?
  • 數(shù)倉的幾個特點是什么?
  • 什么是OLAP?什么是OLTP?區(qū)別是什么?
  • 拉鏈表是什么?怎么實現(xiàn)拉鏈表?
  • 同步又哪幾種方式?
  • 為什么要做增量?怎么做增量?
  • 什么是ETL?

以前很多招聘ETL工程師的,這些崗位主要是基于某一個廠商的工具入手,熟練適用該工具就行了,比如Datastage,以前玩兒過一個報表工具叫Cognos,IBM的一個工具,當時寫了很多文章,有幾百篇,也有很多崗位是招Cognos工程師的,后來不玩兒這個。

傳統(tǒng)行業(yè)喜歡叫數(shù)倉,互聯(lián)網(wǎng)公司喜歡叫數(shù)據(jù)平臺(包含數(shù)倉,偏向建模)。我記得數(shù)倉這一概念也是從傳統(tǒng)行業(yè)發(fā)起的,它涉及的資料其實都是好多年之前的了,最近也找過,但是沒什么新的內(nèi)容,概念還是那些概念,只是技術(shù)更新迭代了,所以也導致很多的觀點不太適用了。

就目前互聯(lián)網(wǎng)數(shù)倉這一崗位,感覺更加偏重業(yè)務+建模思想,面試不太好考察這些內(nèi)容的,去年招聘的時候,就是問些基本問題,聊聊以往主要的工作內(nèi)容,還會問問SQL題,真的想了解下建模的話,還是找本書借鑒性的看看,還是很有益處的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容