要想成為一名數據工程師,你必須理解數據庫的主要概念。這一概念不僅適用于數據工程師,也適用于使用數據庫的專業人士:數據科學家、機器學習工程師、軟件開發者等。接下來,小編就將介紹數據庫工程師需要掌握哪些技術,一起來看看吧。
數據庫工程師需要掌握哪些技術
Relationalmodel是對數據進行結構化和管理的一種方法。
該模型中的數據被組織成表格。每一個表都有自己的模式,這意味著它有一個預定義的列名,只能把滿足模式的數據寫到表中。每個列有一個數據類型(數字、字符串、Boolean等)。表格中的列通常稱為字段,行稱為記錄。
根據原來的數據庫理論,表格被稱為“關系”,關系模型就是從這里產生的。別把這個定義和表之間的關系搞混了,表之間我們通常用鍵來定義這個關系。在本文稍后的部分中,我們討論鍵。
最終,遵循該模型的數據庫被稱為關系型數據庫,它使用SQL(結構化查詢語言)來訪問存儲的數據。
正規化(Normalization)是使數據適合于關系數據庫的過程。
有時候,標準化就是刪除數據冗余的過程,這很容易理解和實現。正常化可以幫助消除數據冗余,提高數據完整性,簡化數據結構,幫助發現錯誤。
正常化一般有兩種方法:
是表中記錄的唯一標識符。
如果希望建立另一張表的關系,您必須首先創建主鍵。如果表字段包含對其他表的引用,那么這個字段就是外鍵。
假定有一個客戶表,其中包含customer_id字段,這是該表的主鍵。與此同時,orders還包含customers_id字段,并引用customers表,這是orders表的外鍵。
索引是數據庫內部的一種特殊對象,它可以幫助在數據內部進行快速搜索。
設想一下,你有一個包含數百萬條記錄的大表,需要尋找滿足特定條件的子集,比如,某個客戶有多少訂單。在一個表中插入記錄是無序的,因此,為了執行搜索,數據庫需要完全掃描,這意味著從開始到結束都要逐行遍歷,直到找到合格的記錄。
要加速這個過程,我們可以為字段創建索引,該字段存儲字段中每個值的位置。在用索引列執行查詢時,數據庫首先會搜索索引來查找數據的位置,然后根據位置提取所需的行。
交易(transaction)通常指不可分的工作單位。這是必要的,當我們希望在一個數據庫中執行多個操作,并且希望確保所有操作都成功或失敗。
數據庫交易可理解為銀行轉帳,當您需要將資金從一個賬戶轉到另一個賬戶時,需要三個步驟:
Replication將數據庫與其他節點或服務器同步,換句話說,復制就是將數據從一個源復制到另一個源。
復制可以使我們在主副本數據出現問題時避免數據丟失。
資料庫復制優點:
資料庫分片(Shiting)是指以某種方式拆分表格中的資料,并將其傳送給不同節點。
切分是一種水平切分技術。把一個表劃分為幾個邏輯分區,每個分區的模式都相同(因為我們用行而不是用列來劃分數據),每個分區都是原始表的邏輯分區。
當節點之間進行分布時,它們變成物理碎片,一個數據庫節點可以容納多個邏輯碎片。
怎樣實施分割?常見的三種方法:
可以使用多種方法來實現切分,但您必須在所有情況下提供分發密鑰。這個鍵決定了數據在集群中的分布方式。分配鍵的兩種常用方法是基于散列的鍵和基于值的鍵。以上就是數據庫工程師需要掌握哪些技術的內容,感謝您的閱讀。
[免責聲明]
文章標題: 數據庫工程師需要掌握哪些技術
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。