一、數(shù)據(jù)庫(kù)、數(shù)據(jù)集市、數(shù)據(jù)倉(cāng)庫(kù)
概念介紹
數(shù)據(jù)倉(cāng)庫(kù)其實(shí)就像“農(nóng)貿(mào)市場(chǎng)”,把各種供貨商手上的貨源收集起來,按照一定的規(guī)則擺放整齊供客戶挑選,同時(shí)可以通過整個(gè)農(nóng)貿(mào)市場(chǎng)的銷售經(jīng)營(yíng)情況進(jìn)行一些細(xì)致的分析,對(duì)整個(gè)市場(chǎng)有更好的了解,從而促銷相應(yīng)的采購(gòu),銷售策略等等。數(shù)據(jù)倉(cāng)庫(kù)是構(gòu)建面向分析的集成化數(shù)據(jù)環(huán)境,為企業(yè)提供決策支持,它出于分析性報(bào)告和決策支持的目的而創(chuàng)建。
那什么是數(shù)據(jù)集市呢?數(shù)據(jù)集市可以比喻成各種專區(qū),賣蔬菜農(nóng)產(chǎn)品的,賣水產(chǎn)海鮮的,賣肉禽的等等。數(shù)據(jù)集市其實(shí)就是一個(gè)面向小型的部門或工作組級(jí)別的小型數(shù)據(jù)倉(cāng)庫(kù),只專注于某一個(gè)方面的主題分析。
數(shù)據(jù)倉(cāng)庫(kù)本身并不生產(chǎn)數(shù)據(jù),數(shù)據(jù)來源于外部,并且開放給外部應(yīng)用,這也是為什么叫倉(cāng)庫(kù),不叫工廠的原因。例如農(nóng)貿(mào)市場(chǎng)并不種植蔬菜、養(yǎng)殖各種水產(chǎn)禽類,而是從各供貨商獲取材料。數(shù)據(jù)集市可以從自己的數(shù)據(jù)源獲取數(shù)據(jù),也可以從數(shù)據(jù)倉(cāng)庫(kù)中獲取某一主題的數(shù)據(jù)。
那從供貨商到農(nóng)貿(mào)市場(chǎng)的中間過程,其實(shí)就是所謂的“ETL”過程。ETL就是extract,Transform和load,指的是清洗,轉(zhuǎn)換和加載。我們都知道,供貨商提供的貨不是什么都要的,我們要篩選出有價(jià)值的,暢銷的品種,有些壞的,不新鮮的菜在進(jìn)農(nóng)貿(mào)市場(chǎng)的過程中就需要去除掉。而不同的供貨商提供的貨可能也存在一些一樣的種類,那么在搬運(yùn)到農(nóng)貿(mào)市場(chǎng)中就需要做一些歸類合并,按照更好的一種陳列方式擺放整齊供客戶挑選。這個(gè)從供貨商搬運(yùn),清洗,轉(zhuǎn)換,加載各種菜的過程就是ETL過程。
在這個(gè)過程中,還涉及到ETL的方式和頻率。比如水產(chǎn)海鮮,很多都是速凍空運(yùn)過來的,一些需求量比較小的比如澳龍可能幾天才送一次,而一些蔬菜是人們?nèi)粘P枰模蠖际侵苓吺卟舜笈锂a(chǎn)的,就會(huì)由貨車每天運(yùn)輸進(jìn)農(nóng)貿(mào)市場(chǎng)。
這些菜被運(yùn)送到農(nóng)貿(mào)市場(chǎng)后,會(huì)根據(jù)一定的規(guī)則進(jìn)行擺放讓客戶挑選。我們可以根據(jù)不同的規(guī)則對(duì)這些菜進(jìn)行管理,就像數(shù)據(jù)倉(cāng)庫(kù)的技術(shù)框架一樣,我們可以選擇一般的技術(shù)框架或者大數(shù)據(jù)技術(shù)框架,不同的選擇最終決定了我們數(shù)據(jù)倉(cāng)庫(kù)的使用效果和投入成本。
因此,數(shù)據(jù)倉(cāng)庫(kù)的本質(zhì)還是一個(gè)數(shù)據(jù)庫(kù),它將各個(gè)異構(gòu)的數(shù)據(jù)源,數(shù)據(jù)庫(kù)的數(shù)據(jù)統(tǒng)一管理起來,并且完成了相應(yīng)數(shù)據(jù)的剔除,格式轉(zhuǎn)換,最終按照一種合理的建模方式來完成源數(shù)據(jù)的組織形式的轉(zhuǎn)變,以更好的支持前端的可視化分析。
區(qū)別
數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖與關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)之間的主要區(qū)別在于:
關(guān)系數(shù)據(jù)庫(kù)用于存儲(chǔ)和整理來自單個(gè)來源(例如事務(wù)系統(tǒng))的結(jié)構(gòu)化數(shù)據(jù),而數(shù)據(jù)倉(cāng)庫(kù)則用于存儲(chǔ)來自多個(gè)來源的結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)湖的不同之處在于它可存儲(chǔ)非結(jié)構(gòu)化、半結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)。關(guān)系數(shù)據(jù)庫(kù)創(chuàng)建起來相對(duì)簡(jiǎn)單,可用于存儲(chǔ)和整理實(shí)時(shí)數(shù)據(jù),例如交易數(shù)據(jù)等。關(guān)系數(shù)據(jù)庫(kù)的缺點(diǎn)是它們不支持非結(jié)構(gòu)化數(shù)據(jù)庫(kù)數(shù)據(jù)或現(xiàn)在不斷生成的大量數(shù)據(jù)。這使得我們只能在數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)湖間做出選擇。盡管如此,很多企業(yè)仍然繼續(xù)依賴關(guān)系數(shù)據(jù)庫(kù)來完成運(yùn)營(yíng)數(shù)據(jù)分析或趨勢(shì)分析等任務(wù)。
內(nèi)部或云端可用的關(guān)系數(shù)據(jù)庫(kù)包括Microsoft SQL Server、Oracle數(shù)據(jù)庫(kù)、MySQL和IBM Db2、以及Amazon Relational Database Service、Google Cloud Spanner等。
延伸閱讀:
二、Navicat是什么
Navicat是一套快速、可靠和全面的數(shù)據(jù)庫(kù)管理工具,專門用于簡(jiǎn)化數(shù)據(jù)庫(kù)管理和降低管理成本。Navicat圖形界面直觀,提供簡(jiǎn)便的管理方法,設(shè)計(jì)和操作MySQL、MariaDB、SQL Server、Oracle、PostgreSQL和SQLite的數(shù)據(jù)。
Navicat提供一個(gè)直觀和設(shè)計(jì)完善的用戶界面,用于創(chuàng)建、修改和管理資料庫(kù)的所有對(duì)象,例如表、視圖、函數(shù)或過程、索引、觸發(fā)器和序列。我們的表設(shè)計(jì)器幫助用戶創(chuàng)建和修改數(shù)據(jù)庫(kù)的表,讓設(shè)置高級(jí)選項(xiàng),如關(guān)系、限制、觸發(fā)器和更多。
使用Navicat瀏覽和修改數(shù)據(jù),插入、編輯、刪除數(shù)據(jù)或復(fù)制和粘貼記錄到數(shù)據(jù)表形式的數(shù)據(jù)編輯器,Navicat將運(yùn)行相應(yīng)的命令(例如INSERT或UPDATE),免除寫復(fù)雜的SQL。廣泛的數(shù)據(jù)編輯工具令編輯工作更為方便,例如外鍵查找、set/enum選擇器和記錄篩選。