什麼是 SQL 資料庫?

SQL 資料庫是一個資料收集,視覺化為包含列和欄的表格。資料的儲存方式與試算表類似,其中的欄表示資料屬性,列描述資料所涉及的實體或物件。大多數 SQL 資料庫使用結構式查詢語言 (SQL) 進行使用者資料互動,因此得名。這些資料庫是關聯式資料庫,因為您可以儲存表格之間的資料關係。

例如,產品表格包含產品名稱、類型、成本等欄,而列包含個別產品的值。客戶表格包含客戶名稱和聯絡詳細資訊的欄。您可以建立第三個表格,將客戶資料與他們購買的產品連結。

SQL 資料庫有哪些優勢?

SQL 資料庫廣泛運用在各個產業中,因為使用者可從邏輯上直覺地實作和使用這些資料庫。

有效的資料管理

SQL 資料庫提供定義完善的結構描述和關聯式表格,因此您可以預測性地組織資料。限制對輸入的資料強制執行規則,導致準確的資料擷取。一組四個屬性 (不可部分完成性、一致性、隔離性和耐久性 (ACID)),可確保資料有效性。

  • 不可部分完成性可保證操作序列 (交易) 的所有部分都已完成或都未完成。
  • 一致性可確保交易將資料庫從一個有效狀態帶到另一個狀態。
  • 隔離性可防止交易互相干擾。
  • 耐久性可確保交易一旦確認,即使系統故障也會永久保存。

您可以確保所有序列資料庫操作都已成功完成,或是在發生錯誤時復原。

高效能

SQL 資料庫可以處理大量資料量並擴展以滿足業務需求。其提供各種索引和最佳化技術,即使資料大小增加也能確保查詢效能快速。複寫、叢集和容錯移轉機制等功能可確保高可用性。這些功能有助於維護資料庫運行時間,並防止意外中斷期間的資料遺失。

易於使用

SQL 是一種標準化語言,在各種資料庫系統中使用,且變更最少。其允許在不同以 SQL 為基礎的系統之間輕鬆遷移。SQL 資料庫也與各種資料工具相容,包括商業智慧 (BI) 平台、分析軟體和報告工具。您可以存取來自廣泛活躍社群的廣泛資源、工具和支援。

SQL 資料庫如何運作?

SQL 資料庫或關聯式資料庫可搭配基礎儲存引擎使用。儲存引擎負責磁碟上的實體資料儲存。不同的 SQL 資料庫使用不同的儲存引擎。例如,MySQL 使用 InnoDB 和 MyISAM。儲存引擎會摘要您的心理資料模型,因此您可以處理資料,而不必擔心其實體儲存。儲存引擎的選擇會影響效能、交易處理和其他資料庫功能。

結構描述

結構描述會定義資料庫的結構,包括表格、資料庫的關係和限制。其做為資料儲存和組織方式的藍圖。SQL 資料庫中的表格由列 (記錄) 和欄 (欄位) 組成。每欄都有特定的資料類型 (例如整數、文字、日期),並儲存特定資訊。每一列代表單一記錄。

SQL 語言

SQL 是結構式查詢語言,用於與所有關聯式資料庫管理系統進行互動。選取、插入、更新和刪除等命令可管理表格內的資料。建立、變更和捨棄等命令可定義或修改資料庫結構。

其他機制

儲存引擎使用不同的機制來最佳化資料庫效能。例如,索引是儲存引擎用來加快資料擷取速度的特殊查詢表格。索引是在欄或一組欄上建立,可協助快速找到資料,而無需搜尋表格中的每一列。

SQL 資料庫技術有哪些範例?

許多不同的關聯式資料庫系統實作 SQL 資料庫。我們在下方提供一些範例,但這並非完整的清單。

MySQL

MySQL 通常用於 Web 應用程式,尤其是做為 Linux、Apache、MySQL 和 PHP LAMP 堆疊的一部分。其提供複寫、資料分割和各種儲存引擎,以最佳化工作負載。

PostgreSQL

PostgreSQL 是一個開放原始碼物件關聯式資料庫系統,可以擴展 SQL 語言以其他功能,包括對 JSON、XML 和自訂資料類型的支援。通常用於需要大規模資料管理的應用程式。PostgreSQL 支援進階功能,例如全文搜尋、編製索引和交易完整性。

MariaDB

MariaDB 是由原始開發人員在 Oracle 收購後建立的 MySQL 分叉。其已經引入了幾項改進,包括新的儲存引擎和其他功能,例如 JSON 支援、動態欄和執行緒集區。因為其穩定性和可擴展性,可用於各種企業級應用程式。

Microsoft SQL Server

Microsoft SQL Server 是由 Microsoft 開發的關聯式資料庫管理系統。其透過 Always On 可用性群組提供記憶體內處理、進階分析和高可用性。

Oracle Database

Oracle Database 是由 Oracle Corporation 開發的多模型資料庫管理系統。此系統以其可擴展性、效能和安全功能而聞名。Oracle 支援許多資料模型,包括關聯式、文件、圖形和鍵值存放區。其提供 Real Application Clusters (RAC)、Automatic Storage Management (ASM) 和資料安全選項等功能。

IBM Db2

IBM Db2 以其高效能、進階分析功能以及對大型企業應用程式的支援而聞名。其提供記憶體內處理、AI 整合和進階安全選項。

NoSQL 和 SQL 資料庫有何不同?

NoSQL 資料庫是無結構描述,並且不遵循 SQL 資料庫實作的嚴格表格結構。您通常會將資料以鍵值對的形式儲存在文件中。其更適用於非結構化資料,例如社交媒體文章、電子郵件等,這些資料做為表格儲存的效率不高。SQL 資料庫是關聯式的,但 NoSQL 資料庫是非關聯式資料庫管理系統。

可擴展性

NoSQL 資料庫是專為分散式運算而設計的。您可以透過新增更多伺服器或節點來將負載分散到多部機器,藉以橫向擴充。現代 SQL 資料庫可讓您執行相同的操作,但通常會導致效能的取捨。

靈活性

SQL 資料庫需要預先定義的結構描述,這意味著必須預先知道資料結構,而且對結構描述的變更可能很複雜。相較之下,NoSQL 資料庫允許動態和不斷演進的資料結構,因此適用於具有不斷變化或不可預測之資料要求的應用程式。NoSQL 資料庫也使用更靈活的查詢語言,可根據其特定資料模型進行自訂。但是,大多數在某種程度上與 SQL 相容。

一致性

SQL 資料庫優先考慮資料一致性和可靠性。根據使用案例,NoSQL 資料庫會犧牲部分一致性,以獲得更高的可用性和分區容限。

使用案例

SQL 資料庫適用於需要複雜的 SQL 查詢、交易和結構化資料的應用程式,例如財務系統和企業資源規劃 (ERP)。相較之下,NoSQL 資料庫在涉及大量非結構化或半結構化資料、高可擴展性需求和快速開發的情況中表現出色。

AWS 如何支援您的 SQL 資料庫要求?

Amazon Relational Database Service (Amazon RDS) 是受管服務的集合,方便在雲端設定、操作和擴展 SQL 資料庫。您可以使用您選擇的 SQL 資料庫引擎執行 RDS。

  • Amazon Aurora 能整合高階關聯式資料庫的速度和可用性,並具備開源資料庫的簡易性和成本效益。
  • Amazon RDS for Oracle 提供符合成本效益、可調整大小的硬體容量,可讓您迅速部署 Oracle 資料庫的多個版本。
  • Amazon RDS for SQL Server 可讓客戶輕鬆設定、操作和擴展雲端的 SQL Server。
  • Amazon RDS for MySQL 讓您能夠存取熟悉的 MySQL 資料庫引擎功能。
  • Amazon RDS for PostgreSQL 可管理無差別、耗時的資料庫管理任務,讓您能夠在幾分鐘內部署並開始使用。
  • Amazon RDS for MariaDB 可在雲端中設定、操作和擴展 MariaDB 部署。
  • Amazon RDS for Db2 可讓您只要按幾下即可在雲端設定、操作及擴展 Db2 資料庫。

立即建立免費帳戶,開始使用 AWS 上的 SQL 資料庫!

AWS 上的後續步驟

查看額外的產品相關資源
進一步了解資料庫服務 
註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入