先簡單定義: 「資料庫 Database」就是一般的概念,「網路資料庫 Networked / Online Database」是透過網路來存取的資料庫,「分散式資料庫 Distributed Database」則是把同一個邏輯資料庫拆成多個節點分散儲存與運算的系統。
其實「資料庫」跟「網路資料庫」不容易區分開來,只能說某些資料庫更適合使用在網路上,提供使用者同時存取,就能夠稱為「網路資料庫」。
也就是「資料庫 Database」本身只是資料儲存與管理的系統,而「網路資料庫 Networked / Online Database」通常指的是部署在伺服器上,讓多個使用者可以透過網路「同時」連線存取的資料庫。也就是說,多數常見的資料庫系統,只要配合網路與伺服器架構,就可以成為網路資料庫。
早期使用的 Microsoft Access 資料庫,大多都使用在單機上,但是其實他也可以透過網路同時連線存取,只是連線存取的效能不一定可以滿足需求。
我們來嚴謹的定義一下「資料庫」與「網路資料庫」:
「資料庫」定義 : 資料庫是依照某種資料模型 (data model) 與結構化規則 (structured rule),持久化儲存的一組相關資料及其描述(中介資料/詮釋資料,metadata),它的目標是支援一致性、一體化管理、共享、查詢與更新。
「網路資料庫」定義 : 網路資料庫是一種部署與存取型態,指透過網路(含區域網路或網際網路,Internet)提供多用戶/多應用程式連線存取的資料庫。 通常採Client-Server架構,使用特定通訊協定與驅動程式(例如 JDBC/ODBC 等)。
因此可以說「網路資料庫」並不是一種有別於「資料庫」的新資料模型或新類別,而是指可透過網路存取的資料庫:也就是利用特定的部署方式與系統架構,讓既有的資料庫能經由網路提供給多位使用者或多個應用程式進行並行存取。
簡單來說,「網路資料庫」本質上是存取/部署型態的描述,而非資料庫邏輯型態的分類。
那麼「分散式資料庫」又跟以上兩者有何差別呢 ?
「分散式資料庫」也不是一種全新的資料模型名詞,而是更偏向「架構與資料放置方式」的分類。
「分散式資料庫」定義 : 資料實體分布在多個機器/站台,由分散式資料庫管理系統 (DDBMS, Distributed DBMS) 協調;對使用者或應用程式而言,理想狀態是呈現單一資料庫的使用體驗(常稱「分散透明性」,distribution transparency),也就是物理上分散、邏輯上統一。
也就是說使用者或應用程式在使用分散式資料庫的時候,是不會感覺到有什麼「分散」的狀態,分散式資料庫重點是資料實際放哪裡、怎麼協調,由系統去管理一致性、容錯、同步。
我們來結論一下,資料庫、分散式資料庫、網路資料庫差別是什麼?
可以用以下表格來說明 :
| 名詞 | 分類的主軸 | 關鍵特徵 |
| 資料庫 | 概念/本體 | 有組織、可管理的持久資料集合 |
| 網路資料庫 | 存取方式 | 透過網路提供多用戶並行存取 |
| 分散式資料庫 | 架構/資料位置 | 多節點存放、由 DDBMS 協調、對外像一個整體 |
0 留言