跳至主要內容

什麼是資料庫管理系統 (DBMS)?

什麼是資料庫管理系統 (DBMS)?

資料庫管理系統 (DBMS) 是一種軟體技術,可管理資料庫中的資訊。資料庫是以電子方式儲存的資料集合,可讓您讀取、寫入、刪除及更新資料。DBMS 可在提高可用性、可靠性和效能的同時,讓您輕鬆儲存資料。其還提供工具來識別資料關聯,並根據需要在系統中執行分析。DBMS 可協助組織以井然有序的方式,管理少量和大量資料。

資料庫管理系統有何優點?

資料庫管理系統 (DBMS) 對於管理各種類型的數位資料至關重要。優點包括:

讓資料井井有條

對使用者而言,資料需要以特定方式彙整才能發揮作用。結構化和非結構化資料都需要特定的儲存與作業組態。資料庫管理系統可確保資料以特定格式彙整,並且可加以操控,無需擔心資料庫或作業故障。

為使用者提供結構化的方式來管理資料

DBMS 允許使用者使用可重複的編碼指令來管理和操控資料,而不需要了解資料是如何儲存的,或作業是如何在較低層級運作的。使用者知道如何使用特定 DBMS 後,就可以處理任何使用相同基礎資料庫類型的資料庫,並且可以將這些技能轉移到其他資料庫類型。

各種整合的功能

由於 DBMS 各不相同,有些提供更廣泛的功能集。例如,許多 DBMS 具有用於備份、資料備援、資料驗證的內建功能,以及傳輸中和靜態資料的加密功能。

資料庫管理系統執行哪些功能?

資料庫管理系統是一個軟體系統,可讓多個使用者和應用程式輕鬆建立、讀取、更新和刪除資料。資料庫管理員會透過專門的工具和介面來管理資料庫,這些工具和介面可讓他們監控效能、實作安全措施、處理備份、最佳化查詢,以及維護資料完整性。

讓資料更容易存取

藉由 DBMS 中以瀏覽器為基礎的介面,使用者可以透過網頁表單、直接儀表板或第三方分散式網路輕鬆存取資料。除了視覺工具之外,使用者還可以使用應用程式、資料操作語言 (DML)、查詢語言或 API 連線存取資料並與其互動。

DBMS 還提供工具和機制,可根據需要操控、分組、彙總和轉換資料。使用者可以動態修改資料,確保資料結構和格式正確,適用於各種應用程式。

管理中繼資料

DBMS 會維護用來儲存中繼資料或資料相關資料 (例如資料結構、資料表和資料欄名稱、資料類型、限制、索引和關係) 的字典。如此,應用程式能夠使用結構抽象 (而非複雜的編碼) 處理資料。
透過中繼資料管理,您還可以在不破壞應用程式的情況下改進資料設計。結構描述變更 (例如新增、修改或移除資料列和資料欄) 會自動反映在中繼資料表中。

處理備份與復原

DBMS 提供管理備份和快照的直覺化介面,簡化資料庫備份流程。資料庫管理員可以將備份儲存在雲端儲存區等第三方位置,以便在發生事故時快速復原。部分 DBMS 還可以按預先確定的間隔提供自動資料備份,或持續進行備份。大多數都提供復原工具,能以最小的努力將資料庫完全或部分還原到先前的狀態。 

提供使用者管理控制

DBMS 允許資料庫管理員有效率地管理資料庫使用者,並監管使用者動作。他們可以設定使用者帳戶、定義資料存取原則、修改限制以控制對基礎資料的存取。 

基本資料作業包括建立、讀取、更新和刪除 (CRUD)。管理員可以在使用者、角色或群組層級的基礎上,設定每個作業的可用性。例如,有些使用者可能只有資料庫的讀取存取權,無法建立或變更項目。

許多 DBM 系統支援使用資料控制語言 (DCL) 來定義複雜的存取控制。

管理效能以進行擴展

實作以下幾項功能後,DBMS 支援數以萬計的並行使用者:

  • 索引最佳化,可加快查詢執行速度,減少全表掃描需求。
  • 查詢最佳化,可分析 SQL 查詢並選取最有效率的執行計畫,從而最大限度地縮短 I/O 和處理時間。
  • 分割和碎片化,可將工作負載分配到多個資料庫節點或儲存分割區,從而縮短查詢回應時間並提高容錯能力。
  • 平行查詢執行,以便在多個 CPU 或節點上同時處理任務。
  • 在多台伺服器上複製資料並進行負載平衡,分散讀取和寫入請求,以維持系統的回應能力,並避免故障所造成的資料遺失。

許多 DBMS 軟體也有內建的快取功能,因此經常存取的資料會儲存在記憶體中,以減少重複存取磁碟的需要。使用者可透過整合的工具進一步監控、設定和最佳化資料。

資料庫管理系統如何運作?

資料庫管理系統 (DBMS) 包括數個互連的元件,可提供資料庫管理、交易處理和查詢服務。

資料庫

資料庫是 DBMS 的核心。其是以電子方式儲存的系統資料集合,包括文字、數字、影像、影片和檔案。資料庫有內建的規則和條件,可維持資料一致性。雖然資料庫可以獨立存在,但手動管理資料非常複雜,尤其是當資料庫擴展時。因此,DBMS 提供一個軟體層,可自動處理數個常見的管理任務,例如索引建立、效能最佳化和存取控制。

結構描述

結構描述定義資料庫的結構,包括資料表、資料欄、資料類型、約束和實體關係。DBMS 會將結構描述資訊儲存為中繼資料,讓應用程式理解資料並與之互動,而無需硬編碼結構。使用者可以使用資料定義語言 (DDL) 來定義結構描述。

儲存管理員

儲存管理員負責有效率地儲存、擷取、更新實體裝置上的資料。其可處理:

  • 檔案組織和資料儲存結構,以加快擷取。
  • 索引建立和快取,以加快查找和快取經常存取的資料。
  • 資料壓縮,以減少佔用的儲存空間,同時維持快速存取。
  • 備份和恢復,以管理快照和日誌,從而在發生故障時還原資料。

交易管理員

交易管理員控制所有規則,以確保多個使用者可以在資料庫內執行並行作業,同時維持資料完整性。其可協助確保符合 ACID (不可部分完成性、一致性、隔離性、耐久性)。其可管理:

  • 提交和復原,以在發生故障時完成或撤消更改。
  • 鎖定機制,以防止多使用者環境中發生衝突。
  • 並行控制,以在不影響資料完整性的情況下處理同步讀寫。

查詢引擎

查詢引擎會解釋和執行查詢,允許使用者有效率地擷取、插入、更新或刪除資料。查詢引擎還為使用者提供一種機制,用於建立可以使用資料回答的複雜問題。DBMS 通常利用 SQL 等資料操作語言 (DML) 進行查詢。

查詢引擎功能包括:

  • 分析查詢以尋找最有效率的執行計畫。
  • 使用索引、聯結和彙總函數擷取資料。
  • 以表格或階層格式傳回結構化結果。

使用者介面

介面層可讓使用者與資料庫互動,或透過應用程式及商業智慧工具進行互動。其包含各種可提供額外功能的工具,具體情況依 DBMS 而定。該軟體還會連結並協調所有其他 DBMS 元件。

資料庫管理系統有哪些不同類型?

許多資料庫管理系統產品具有不同的基礎資料庫類型、功能和工具。採用哪一種資料庫管理系統,取決於基礎資料的形式和結構、效能需求、成本限制、可擴展性、整合功能、技術專業知識、資料安全等。我們會在下方分享常見的 DBMS 類型。

關聯式

關聯式資料庫管理系統 (RDBMS) 包含一系列資料點,這些資料點之間有預先定義的關係。資料以表格格式儲存,資料表 (關係) 中的每一個資料列 (記錄) 包含該項目的關聯值 (屬性) 清單。每條記錄都是單一的實體,具有唯一的主索引鍵屬性以供參考。資料表能夠以一對一、一對多或多對多關係連結。關聯式資料庫系統的其中一項範例是 Amazon Aurora

結構化查詢語言 (SQL) 是大多數關聯式資料庫的預設查詢語言。應用程式會使用結構化查詢語言來儲存、更新、刪除和擷取關聯式資料庫管理系統 (RDBMS) 的資料。

非關聯式

非關聯式或 NoSQL 資料庫不會在資料表中儲存記錄,也沒有嚴格的結構描述。相反,資料可以有多種結構,包括:

鍵值儲存區

鍵值儲存區是一種資料庫,其中每條記錄都有唯一的索引鍵 (例如名稱、數字),並具有關聯的值 (例如整數、字串、JSON)。Amazon DynamoDB 是允許鍵值儲存區之資料庫管理系統的其中一項範例。

文件儲存區

文件儲存區是一種經改造的鍵值儲存區,其中每個唯一的索引鍵都有一個包含半結構化資料 (例如 JSON、XML、YAML) 的關聯文件。這種形式的資料庫使用 API 或查詢語言來擷取含義。適用於 JSON 的 Amazon DocumentDB 是文件儲存區 DBMS 的其中一項範例。

圖表

圖形資料庫使用具有節點 (記錄) 和邊 (與其他節點的關係連接) 的圖形式結構。邊也包含與關係相關的屬性。舉例來說,節點可以表示家族譜系及其屬性,例如姓名和年齡,而節點間的邊則表示關係,例如孫女和母親一方。Amazon Neptune 是圖形資料庫管理系統的其中一項範例。

物件導向型

物件導向型或物件資料庫儲存並管理一系列物件執行個體,每個執行個體都有一套自己的相關屬性。物件可以透過外部索引鍵連結,如同關聯式資料庫一樣。 Amazon Aurora 可以用作物件關聯式資料庫管理系統 (ORDBMS),是關聯式與物件導向型資料庫的混合。PostgreSQL 是另一種常用的 ORDBMS。

階層式

階層式資料庫以階層方式組織,一個父節點有許多子節點,並有兩個或更多層級。Amazon DynamoDB 可以是階層式資料庫的 DBMS,巢狀關係以 JSON 表示。

時間序列

時間序列資料庫儲存與特定時間戳記相關的資料。該資料庫可以是關聯式或非關聯式,通常需要串流資料擷取。時間序列資料庫所需的 DBMS 取決於基礎資料。Amazon Timestream 是時間序列資料庫的其中一項範例。

多模型

多模型 DBMS 可同時管理不同類型的資料庫,例如文件和圖形資料庫。其之所以受歡迎,是因為會為使用者提供標準介面來管理各種資料庫,而不需要切換軟體。有些多模型 DBMS 還允許使用者結合不同資料庫類型的查詢。

DBMS 技術的未來趨勢為何?

資料和系統的進步促使 DBMS 技術取得以下進展。

生成式 AI

生成式 AI 可用於:

  • 透過自然語言指令增強資料庫建立和結構描述設計
  • 對查詢進行最佳化和除錯
  • 對基礎資料進行複雜的建模
  • 從 DBMS 輸出產生人類可讀取的報告
  • 依據確定的效率自動重新設定基礎資料儲存,同時維持資料完整性

您可以使用自然語言構建查詢,而無須編寫指令碼,AI 模型會在過程中將自然語言轉換為相應的查詢語言。

向量資料庫

向量資料庫在大型語言模型 (LLM) 自訂中越來越常見,這種流程稱為檢索增強生成 (RAG)。將向量資料庫新增至 LLM,可讓組織快速將自有知識庫整合至既有的 LLM 中。在 RAG 中,向量化處理可幫助您更輕鬆地找到類似單詞和短語之間的關係,從而提高模型準確度和相關性。

目前市面上已出現幾個專門的向量資料庫。此外,部分資料庫還在其現有架構中整合向量資料類型。

Amazon Aurora PostgreSQL 相容版本和 Amazon RDS for PostgreSQL 都支援 pgvector 擴充功能。Amazon NeptuneAmazon MemoryDBAmazon DocumentDB 等其他 AWS 資料庫,也提供向量相似性搜尋的受管解決方案。

代理式 AI 和模型上下文協定 (MCP) 伺服器

代理式 AI 會整合具有生成式 AI 功能的特定工具和資源,以執行不同的任務或角色。AI 代理程式可以彼此互動以執行協同任務,以類似於工作團隊的方式運作,且每個 AI 代理程式都擁有不同角色。在此情境下,會需要管理代理程式狀態、目標和決策流程。

在此技術平台中,模型上下文協定 (MCP) 伺服器是 AI 代理程式的協調員,負責管理多個資源。用於資料庫服務的 MCP 伺服器,可讓 AI 應用程式和代理程式與資料來源和服務輕鬆整合。在代理式 AI 系統中,MCP 伺服器會協調自主 AI 代理程式與相關資料庫之間的互動,確保資料流程和處理富有效率。

代理式 AI 和 MCP 伺服器需要能提供可擴展且可靠之基礎結構的資料庫,以同時處理來自多個自主代理程式的狀態管理、複雜查詢和資料處理需求。當資料庫作為 MCP 伺服器整合時,可協助組織在傳統資料庫作業和基礎結構內的代理式 AI 互動中維持一致的效能、安全性和可靠性。

多個資料庫服務可與 MCP 伺服器整合,使 AI 代理程式和應用程式能夠透過自然語言查詢或程式化介面與資料來源互動。MCP 伺服器會充當中介,將來自 AI 模型的請求轉換為適當的資料庫操作和查詢。

零 ETL 整合

零 ETL 是指去除傳統上移動、清理資料,並將其合併到資料庫中的擷取、轉換和載入階段。相對地,系統會即時複製並快速擷取資料。

透過零 ETL,可以對串流式交易資料執行近乎即時的查詢,或快速結合多種類型的資料庫,進行機器學習作業。

部署選項

資料庫和 DBMS 所使用的基礎結構和部署方式對速度、可擴展性、可用性、成本和易用性都很重要。選項包括內部部署、雲端部署、邊緣部署、容器化部署、無伺服器和混合式部署。

大型國際資料庫業務可能選擇容器化、分散式的部署組態,而製造業務則可能選擇將邊緣與雲端部署結合。例如,Biblica 將其 Microsoft SQL Server 移轉至 AWS,以有效處理流量高峰。

AWS 如何協助您滿足 DBMS 要求?

AWS 雲端資料庫為各種企業提供廣泛的專用資料庫管理系統選擇。AWS 資料庫支援所有後端任務,例如伺服器佈建、修補、設定和備份。您可以專注於應用程式開發,AWS 則負責持續監控和自動執行擴展。

例如,Amazon Aurora 是 AWS 開發的雲端原生關聯式資料庫引擎,與 MySQL 和 PostgreSQL 相容。其結合了傳統企業資料庫的速度、可靠性和易用性,以及開放原始碼資料庫的簡易性和成本效益。

Amazon Relational Database Service (Amazon RDS) 是上述項目的另一個例子,這是一項受管服務,可讓您輕鬆在雲端設定、操作和擴展關聯式 DBMS。此服務不僅可用於管理耗時的資料庫管理任務,讓您能夠挪出時間專注於應用程式和業務,也提供經濟實惠且可調整大小的容量。透過 Amazon RDS,您可以存取 PostgreSQLMySQLMariaDBSQL ServerOracleDb2 等常用資料庫引擎的功能。

AWS 還提供多種 NoSQL DBMS 服務,可滿足您的所有 NoSQL 需求。例如:

  • Amazon DynamoDB 是一項無伺服器、全受管鍵值資料庫服務,可提供延遲不到 10 毫秒的一致效能,並且具有無限的可擴展性。
  • Amazon DocumentDB (with MongoDB compatibility) 為全受管原生 JSON 文件資料庫,可讓您輕鬆且經濟實惠地以幾乎任何規模操作關鍵文件工作負載,而無需管理基礎結構。
  • Amazon Neptune 是一項無伺服器、全受管圖形資料庫服務,具備卓越的可擴展性和可用性,能夠在幾秒鐘內查詢數十億個關係。
  • Amazon Timestream 也是專門建置的全受管時間序列資料庫引擎,適用於從低延遲查詢到大規模資料擷取的工作負載。

AWS 雲端資料庫可提供高效能、安全且可靠的基礎,以支援任何規模的生成式 AI 解決方案和資料驅動型應用程式。

歡迎立即建立免費帳戶,開始在 AWS 上使用 DBMS。