iT邦幫忙

DAY 5
1

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

資料工程師第 4/28 課: 資料庫概論

雖然說到資料工程師, 大家第一個想到的就是 DBA (Database Administrator), 事實上在我眼中一個好的 Data Engineer 不只是成為 DBA 而已, 而是要更多的 Track 路徑與 Field 領域才能完成, 在講完資料結構後, 拉回來第一件跟 Hacking Skill (Computer Science) 中我雖然選的是 Data Structure 資料結構, 因為資料結構本來就是一個比資料庫更廣的東西, 但往往會被人忽略.

但事實上資料庫也很容易被人忽略, 因此 DBA 的專才就是來補足很多人不夠的地方, 但事實上我一直都認為 DBA 不是個能夠獨立存在的職務, 換句話說: "只是一個 DBA 的 DBA, 絕不是一個好的 DBA", 一個好的 DBA 不只是在系統, 程式, 以及在專業與邏輯上要足夠, 甚至我認為他必須也是一個不差的網管, 不差的程設, 不差的管理與經理人, 這才是好的 DBA, 但現在的 DBA 都被 Focus 在做 Database Administration, 所有的事情都是資料, 資料要儲存都是可以稱為資料庫, 但在之前有太多人誤以為資料庫就是 Relational Database, 這都是不正確的.

幸好在這幾年, 無論就 Data Warehouse, Big Data, 等等概念的興起, 讓大家慢慢了解 Database 不只是 SQL, 更不只是 Relational Database, 甚至在有人發現 ACID Database 的不足之後, BASE 與 Database 的多元性興起, 資料庫又慢慢的不簡單了起來, 但不代表既有的 Database 概念是不須要的, 甚至在未來所謂的資料庫概論會比想像中多更多.

  • 課程題目: 資料庫概論
  • 大學學程: 資訊類科系大三類選修或必修
  • 困難度: ***
  • 必要度: *****
  • 所須時間: ***
  • 建議書輯:
    Database Management System by Raghu Ramakrishnan and Johannes Gehrke

傳統的資料庫學習的東西要了解下面幾種資料庫的模型:

  • Filebase Database
  • Hierarchy Database
  • Network Database
  • Relational Database

事實上真正的資料庫模型不只是這四種, 但學過就好, 因為真正的實務不是只有是去操作資料庫, 因為資料庫真正的事在處理資料, 而要真正的處理資料, 之前要了解的是在轉 Normal-Form, 也就是 Database Normalization, 在 2002 年之前有:

  • 1~5 NF
  • EKNF
  • BCNF
  • DKNF

接下來還有 6NF 做 "no non-trival join dependencies" 的 Normalization.

只是事實上真正很多 Big Data 的實務運作, 做的是反正規(一般)化, 也就是 De-normalization, 但不代表因為真正在用的是 De-Normalization, 不代表就不用學 Normal Form, 因為沒有去 NF, 如何去 De-NF?

在了解 NF 外, 要知道去串連 Relational Database 最重要的靠 Key, 鍵值, 常見的鍵值有:

  • 主鍵
  • 超鍵
  • 候選鍵
  • 外來鍵
  • 代理鍵
  • 自然鍵

這幾種, 雖然說知道了 NF, 知道了 Key 無法讓你成為好的 DBA, 但好的 DBA 是要對這些事須要足夠的經驗.

或許有人問, 現在很多人不是推非結構化的資料庫模型, 或是 No-SQL 的資料庫嗎? 甚至應該說, 如何選用資料庫, 如何把資料庫調校說不定是一個 Data Engineer 跟不是 Data Engineer 的分野都說不定, 但這個不是只靠 "資料庫概論" 就可以了, 或許應該列出個資料工程師所須要的 28 堂課, 是從資料庫1, 資料庫2, .... 一直到資料庫28 都不為過, 雖然這只是個誇張, 這也說之後還是有很多的資料庫的幾堂細項課.

建議線上課程:

  1. http://ocw
    .vu.edu.pk/CourseDetails.aspx?cat=Computer+Science%2fInformation+Technology+&course=CS403
  2. https://itunes
    .apple.com/us/itunes-u/database-management-systems/id405935184?mt=10

建議電子書:

  1. http://it-ebooks
    .info/book/3032/
  2. http://studyonline
    .edu.vn/index.php/e-books/information-technology/622-33ebook-computer-mcgraw-hill-database-management-systswf

其他重要關鍵字

  • E-R Model
  • CAP 理論
  • Replication

上一篇
資料工程師第 3/28 課: 資訊架構學與圖書資訊學
下一篇
資料工程師第 5/28 課: 線性代數
系列文
成為資料工程師最初的 28 堂課30

尚未有邦友留言

立即登入留言