iT邦幫忙

DAY 20
0

成為資料工程師最初的 28 堂課系列 第 20

資料工程師第 19/28 課: NoSQL 與 Big Data / Modern Database

[修讀原因]

在第四堂課就講了資料庫, 但那個只是個概論, 而真的進到 Big Data 或 Data Science, 一個 Data Engineer 就不能只是懂 SQL 或 Relational Database (E-R Model), 因為就 CAP 理論而言, 沒有一種資料庫能夠完全滿足 Consistency, Availablity, 與 Partition Tolerance, 也就是說, 現在的資料庫, 都有其適用的範圍, 不可能只靠一種資料庫就可以應付所有須求.

尤於 SQL 在十幾年前幾乎是資料庫的標準, 而現代的不少 Database 都跳脫 SQL 的規範與局限, 雖說統稱為 NoSQL, 但事實上這些資料庫差異有時是相當大的.

只是很確定的一點, 現在的 Data Engineer 面對的不再是一種資料庫就夠了, 而是透過不同的介接方式, 去串接不同的系統, 而這些系統都有各自不同的資料庫, 雖然你可以假裝不知道背後是甚麼, 但若對其原理與特性有足夠了解, 就能夠設計出更有效率效能的系統.

但也不是你要學會十幾種資料庫, 就 netflix 而例, 會用上的只有六七種資料庫, 當然這部份是分成 Online, Nearline, Offline 這三種角度, 而為了要配合各種不同的情境才會有這樣的設計, 一個工程師也不太可能所有的資料庫都能精通, 只是若無法至少有用過, 有經驗過, 就很危險, 所以這門課與其說是有教科書, 還不如說是實作的經驗比較實際.

[基本資訊]

  • 課程題目: 現代資料庫
  • 大學學程: 無
  • 困難度: ***
  • 必要度: ****
  • 所須時間: ***
  • 建議書籍: Modern Database Management

[基本介紹]

"現代" 的資料庫可以分成下面幾種應用與角度:

  • Distributed DBs
  • Web-based DBs
  • Object Oriented DBs
  • Semistructured Data and XML
  • Multimedia DBs

而以運作的角度可以分成:

或者是有更精確的定義成:

但這些都是種表面, 因為真正的學習就是當你用過, 當你用來開發過, 當你維護過與實用過, 就會了, 這雖然是種苦工, 但還是有其必要性的.

[修習方式]

開放課程:

電子書:

關鍵字:


上一篇
資料工程師第 18/28 課: 使用者行為/田野調查/社群資料/讀者服務
下一篇
資料工程師第 20/28 課: Mathmatical Model / Pattern Recognition
系列文
成為資料工程師最初的 28 堂課30

尚未有邦友留言

立即登入留言