什麼是分散式資料庫?有哪些好處?

作者:Hightech    |   2019 / 04 / 09

文章來源:知識力   |   圖片來源:Annie


資料庫系統的分類

➤集中式資料庫系統(Centralized Database, CDB):將資料集中儲存在一台資料庫伺服器,這樣容易管理資料但是風險較高,資料傳輸率容易受網路流量影響,而且所有資料都集中給一台伺服器處理,所以伺服器的負擔很重,如<圖一>所示。

圖一、集中式資料庫系統

➤分散式資料庫系統(Distributed Database, DDB):將資料依照特性分散儲存在不同的資料庫伺服器,再以網路將這些伺服器連接起來,如<圖二>所示。

圖二、分散式資料庫系統

分散式資料庫系統的軟體架構

每台資料庫伺服器上都有「分散式資料庫」與「分散式資料庫管理系統」兩種不同的軟體,如<圖二>所示,各自負責不同的功能:

➤分散式資料庫(Distributed Database, DDB):當資料儲存在分散式資料庫時,在邏輯上是屬於同一個資料庫系統,但是實際上資料是分散儲存在以網路連接的不同資料庫伺服器上,這樣可以分散風險,資料傳輸率不易受網路流量影響。

➤分散式資料庫管理系統(Distributed Database Management System, DDBMS):是管理分散式資料庫的軟體,提供資料的分散儲存,但是使用者並不會認為他是在存取分散儲存的資料,對於使用者來說,感覺仍然是一個完整的資料庫,這是分散式資料庫系統很重要的特性,稱為「通透性(Transparent)」。

分散式資料庫系統的資料處理

要將資料分散到許多不同的資料庫伺服器上,必須先將資料進行前處理,首先必須將資料分割成較小的單位才能分散儲存,另外就是必須進行資料備份:

➤資料分割(Data fragmentation):在資料儲存之前,必須先將資料分割成較小的單位稱為「片斷(Fragment)」,然後再以片斷為單位分散儲存在不同的資料庫伺服器,通常是在用戶端的應用程式來處理資料分割的工作。

➤資料複製(Data replication):將資料分散儲存最大的目的就是確保資料不會損毀,因此資料複製建立備份是分散式資料庫系統的重點,其中原始資料庫稱為「主資料庫(Master database)」,複製的資料庫稱為「複製資料庫(Replica)」,在主資料庫和複製資料庫之間需要定時進行同步更新才能確保資料安全。

分散式資料庫系統的特性

➤增加資料庫系統的執行效能:在最近的地方就可以取得所需要的資料。

➤提高可靠性和可用性:就算有些伺服器當機或網路斷線,分散式資料庫系統仍然擁有足夠的妥善率,不會影響整個資料庫系統的運作。

➤更多的彈性和擴充性:因為資料是分散儲存在多台資料庫伺服器,要擴充只要增加伺服器同時進行設定即可,要重新配置資料庫伺服器也很容易。

➤分享的特性:資料庫伺服器的資料可以分享,也可以只讓區域的使用者存取。

➤系統複雜成本高:由於資料是分散儲存在各地的資料庫伺服器,所以分散式資料庫系統的複雜度相當高,相關的應用程式開發成本隨著分散程度而提高。

➤缺乏標準維護不易:目前並沒有分散式資料庫系統的官方標準,每家公司都使用自己的標準因此整合困難,系統維護不易,容易產生資料安全與整合問題。

知識力》授權轉載

【延伸閱讀】

分享
知識力
加入知識力 — 讓你的知識變力量,由區塊鏈與人工智慧架構而成的未來專業社群,讓專家在客觀公正的開放平台上,建立自己的專業度與信任度,讓全世界看到你的專業能力,讓會員不必再到處推文求貴人,各種背景的專家線上讓你選擇,互助合作共同開創事業的高峰。
關注