這篇的主題是因為有朋友提到 Database vs Data warehouse 的差別,所以就開始爬文想說來看一下他們的差異。
在開始研究以後發現除了 Database (資料市集), Data warehouse (資料倉儲)還有一個叫做 Data lake (資料湖)。 其實有很多文章都做了他們的比較,我後面會貼上他們的連結,在這邊我主要就以自己唸完的心得去寫。最後面再貼上一些別人做好的比較表格。
Database (資料市集)
Database 應該算是平常我們最常聽到的,他基本上就是為了儲存資料用的。一般來說 Database 都是儲存 structured data,一個好的比喻就像是做一份 Survey 他每個問題是固定的,所以他資料的 column 都是事先確定好的。當然在 Database 裡還是有分 SQL vs NoSQL,但兩者其實他們的 field 都是預先設定好的。市面上有些比較有名的 Database 像是 Oracle, PostgreSQL,MongoDB,Redis,Elasticsearch,Apache Cassandra。
Data Warehouse (資料倉儲)
Data Warehouse 其實就是大一點的 storage location 把很多不一樣的 sources 集結在一起。然後利用這些 Data去做很多 Business Intelligence 跟 Data Discovery/Storage。基本上是一個 Tool 去做很多的資料整理跟分析。最近幾年很流行的 Snowflake 的產品就可以算是一種 Data Warehouse。
Data Lake (資料湖)
Data Lake 顧名思義就是一個 Large Storage 儲存著很多 Raw Data。他在資料格式上比起 Data Warehouse 跟 Data Base就相較起來彈性很多。在這邊讀下來是說,大部分的使用者其實就是 Data Scientists 跟 Engineers。他們利用 Data Lake 來做 Research 跟Testing ,然後有可能再把它資料作成 Data Warehouse 會使用到的情況。 中小型公司就比較不會有需求需要用到這個。我們熟知的 Amazon S3,Azure 都屬於 Data Lake。
比較
主要因為很多網頁其實都有做過這個 Comparison,就覺得直接貼過來就可以。我覺得從個 High Level 這個圖片基本上Capture了他們的不同。
Link:
Data Storage Explained: Data Lake vs Warehouse vs Database
Data storage is a big deal. Data companies are in the news a lot lately, especially as companies attempt to maximize…www.bmc.com
https://aws.amazon.com/tw/data-warehouse/?nc1=h_ls