
數(shù)據(jù)庫(kù):傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。
數(shù)據(jù)倉(cāng)庫(kù):數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的主要應(yīng)用主要是OLAP(On-Line Analytical Processing),支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。
我嘗試著再補(bǔ)充些具體的事例來(lái)說(shuō)明,這樣更可以幫助大家更好理解一些。舉個(gè)最常見的例子,拿電商行業(yè)來(lái)說(shuō)好了。基本每家電商公司都會(huì)經(jīng)歷,從只需要業(yè)務(wù)數(shù)據(jù)庫(kù)到要數(shù)據(jù)倉(cāng)庫(kù)的階段。
電商早期啟動(dòng)非常容易,入行門檻低。找個(gè)外包團(tuán)隊(duì),做了一個(gè)可以下單的網(wǎng)頁(yè)前端 + 幾臺(tái)服務(wù)器 + 一個(gè)MySQL,就能開門迎客了。這好比手工作坊時(shí)期。
第二階段,流量來(lái)了,客戶和訂單都多起來(lái)了,普通查詢已經(jīng)有壓力了,這個(gè)時(shí)候就需要升級(jí)架構(gòu)變成多臺(tái)服務(wù)器和多個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)(量大+分庫(kù)分表),這個(gè)階段的業(yè)務(wù)數(shù)字和指標(biāo)還可以勉強(qiáng)從業(yè)務(wù)數(shù)據(jù)庫(kù)里查詢。初步進(jìn)入工業(yè)化。
第三個(gè)階段,一般需要 3-5 年左右的時(shí)間,隨著業(yè)務(wù)指數(shù)級(jí)的增長(zhǎng),數(shù)據(jù)量的會(huì)陡增,公司角色也開始多了起來(lái),開始有了 CEO、CMO、CIO,大家需要面臨的問(wèn)題越來(lái)越復(fù)雜,越來(lái)越深入。高管們關(guān)心的問(wèn)題,從最初非常粗放的:“昨天的收入是多少”、“上個(gè)月的 PV、UV 是多少”,逐漸演化到非常精細(xì)化和具體的用戶的集群分析,特定用戶在某種使用場(chǎng)景中,例如“20~30歲女性用戶在過(guò)去五年的第一季度化妝品類商品的購(gòu)買行為與公司進(jìn)行的促銷活動(dòng)方案之間的關(guān)系”。這類非常具體,且能夠?qū)緵Q策起到關(guān)鍵性作用的問(wèn)題,基本很難從業(yè)務(wù)數(shù)據(jù)庫(kù)從調(diào)取出來(lái)。原因在于:業(yè)務(wù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)結(jié)構(gòu)是為了完成交易而設(shè)計(jì)的,不是為了而查詢和分析的便利設(shè)計(jì)的。業(yè)務(wù)數(shù)據(jù)庫(kù)大多是讀寫優(yōu)化的,即又要讀(查看商品信息),也要寫(產(chǎn)生訂單,完成支付)。因此對(duì)于大量數(shù)據(jù)的讀(查詢指標(biāo),一般是復(fù)雜的只讀類型查詢)是支持不足的。
然而怎么解決這個(gè)問(wèn)題,此時(shí)我們就需要建立一個(gè)數(shù)據(jù)倉(cāng)庫(kù)了,公司也算開始進(jìn)入信息化階段了。數(shù)據(jù)倉(cāng)庫(kù)的作用在于:數(shù)據(jù)結(jié)構(gòu)為了分析和查詢的便利;只讀優(yōu)化的數(shù)據(jù)庫(kù),即不需要它寫入速度多么快,只要做大量數(shù)據(jù)的復(fù)雜查詢的速度足夠快就行了。那么在這里前一種業(yè)務(wù)數(shù)據(jù)庫(kù)(讀寫都優(yōu)化)的是業(yè)務(wù)性數(shù)據(jù)庫(kù),后一種是分析性數(shù)據(jù)庫(kù),即數(shù)據(jù)倉(cāng)庫(kù)。
最后總結(jié)一下:數(shù)據(jù)庫(kù) 比較流行的有:MySQL, Oracle, SqlServer等數(shù)據(jù)倉(cāng)庫(kù) 比較流行的有:AWS Redshift, Greenplum, Hive等這樣把數(shù)據(jù)從業(yè)務(wù)性的數(shù)據(jù)庫(kù)中提取、加工、導(dǎo)入分析性的數(shù)據(jù)庫(kù)就是傳統(tǒng)的 ETL 工作。現(xiàn)在也有一些新的方法,這展開說(shuō)又是另一件事情了,有機(jī)會(huì)再詳細(xì)說(shuō)說(shuō)。