跳至主要內容

什麼是資料庫儲存?

什麼是資料庫儲存?

資料可存放於資料庫,以供今後擷取與分析。資料庫儲存方案多種多樣,且每種方案在控制性與靈活性方面都有各自的折衷。本指南探討了 AWS 上的各式各樣的儲存模型,並就如何為您的特定使用案例選擇最適合的模型提供了指引。

所有數位資料皆必須存放於某個位置的實體裝置,例如 RAM、快取、暫存器、固態硬碟 (SSD) 或機械硬碟 (HDD)、網路附接儲存裝置 (NAS),以及儲存區域網路 (SAN) 或其他類型的實體儲存裝置。雲端資料儲存依賴於底層實體裝置,這些裝置在其上執行邏輯儲存,並在此基礎上進行虛擬化處理。

如需讓大多數企業資料發揮作用,就必須將資料存放於資料庫中。資料庫管理系統是指位於所存放資料之上的軟體層。此軟體層支援您執行建立資料庫、查詢與分析資料,以及更新及刪除資料等操作。資料庫軟體可與資料本身在實體方式上分開儲存。

關聯式資料庫儲存的運作方式?

關聯式資料庫以資料表格式來存放資料,資料表由資料列與資料欄組成,其中每一列代表一項記錄,而該記錄中的每一欄皆表示屬性。資料庫的資料表資料結構可存放常用、重複及相關記錄,例如客戶詳細資訊或購買記錄。每個資料表皆可與另一個資料表建立關聯:購買記錄可與關聯的客戶建立關聯。

執行於這些資料表之上的關聯式資料庫軟體,透過主鍵和外鍵對關聯進行管理。其可讓使用者執行建立、讀取、更新、刪除,以及寫入操作,還可使用結構化查詢語言 (SQL) 來查詢資料表中的資料。

關聯式資料庫及其底層結構化資料的存放,視乎用於建立資料庫的關聯式資料庫管理系統 (RDBMS) 而有所差異,因為不同的軟體產品處理資料儲存的方式不同。範例包括 SQL Server、MySQL、PostgreSQL、Oracle 及 MariaDB。

受管關聯式資料庫儲存

AWS 提供受管關聯式資料庫儲存,以及適用於各種關聯式資料庫管理系統的作業系統。使用受管服務的益處包括:減少了在基礎結構管理與維護方面花費的時間,以及提高了安全性。

Amazon Relational Database Service

Amazon Relational Database Service (RDS) 是一項針對 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle 及 Db2 等系統提供的受管服務。Amazon RDS 可處理佈建、修補、備份、復原、故障偵測,以及修復等資料庫管理任務,並且設定與部署都很簡單直接。

在儲存方面,Amazon RDS 提供三種不同的底層 Amazon Elastic Block Store (Amazon EBS) 磁碟區類型供您選擇。

  • 適用於大多數資料庫工作負載的一般用途 SSD 儲存體,
  • 高效能佈建 IOPS SSD 提供支援的儲存體,及 
  • 磁性資料儲存可向後相容。

Amazon Aurora

Amazon Aurora 是一項適用於 PostgreSQL、MySQL,以及 DSQL 關聯式資料庫的雲端原生受管服務。Aurora 旨在實現雲端組態優勢最大化 (包括叢集與分散式),相較於傳統的、以雲端為基礎的 RDBMS 服務,其可提供更高效能、高可用性,以及容錯能力。

在儲存方面,Amazon Aurora 資料存放於叢集磁碟區內,這是由 SSD 提供支援的定製化、單一的虛擬磁碟區,並在 AWS 區域內的三個不同可用區域中複寫該資料,以便最大限度地保障資料完整性與資料冗餘。Amazon Aurora DSQL 可提供多區域冗餘,以便在區域端點不可用的情況下保持對資料的存取權。由於 Aurora 儲存體為專屬,其提供的客製化組態可全面自動擴展,以及由 AWS 全面管理,因此無須進行基於使用者的儲存客製化。

自管關聯式資料庫儲存

AWS 上的自管關聯式資料庫管理系統與儲存涉及傳統的系統管理,以及資料庫管理任務。這些任務不是在您的實體基礎結構上執行,而需要在雲端基礎結構上執行。

Amazon EC2 允許您針對任何類型的關聯式資料庫管理系統,來設定執行個體及進行組態設定。如需設定及執行 EC2 執行個體,要求執行安全管理、效能組態設定、監控及維護等任務。 

在底層儲存方面,您可選擇 Amazon EBS、Amazon Elastic File System (EFS) 進行具備完全彈性的儲存,以及暫存於執行個體儲存體。您可視乎資料庫需求的不同,在大容量儲存體與小容量儲存體間進行選擇。

非關聯式資料庫儲存的運作方式?

非關聯式資料庫亦稱為 NoSQL 資料庫,其採用與關聯式資料庫不同的資料結構來存放、存取,以及對資料進行建模。各種非關聯式資料庫支援各種不同的使用案例,且每個資料儲存體皆採用不同的資料庫結構設計。

非關聯式資料庫包括:鍵值儲存體資料庫、文件資料庫、寬欄型資料庫、圖形資料庫、記憶體資料庫和搜尋資料庫。

受管非關聯式資料庫

AWS 針對每種非關聯式資料庫類型,提供各種受管服務。

  • Amazon DynamoDB 是一項受管鍵值儲存體與文件資料庫服務,其底層採用客製化、分散式 SSD 儲存體。
  • Amazon DocumentDB (with MongoDB compatibility) 是一項原生 JSON 文件資料庫受管服務,其採用客製化、分散式的、基於 SSD 的儲存體。
  • Amazon Keyspaces (適用於 Apache Cassandra) 是一項與 Apache Cassandra 相容的寬欄資料庫受管服務,其採用客製化、分散式、基於 SSD 的儲存體。
  • Amazon Neptune 是一項圖形資料庫受管服務,其採用客製化、分散式、基於 SSD 的儲存體。  
  • Amazon MemoryDB 是一項與 Valkey OSS 及 Redis OSS 相容的記憶體資料庫服務,其採用客製化、分散式、基於 SSD 的儲存體。 
  • Amazon ElastiCache 是一項與 Valkey、Redis 及 Memcached 記憶體快取相容的記憶體快取服務,且由 RAM 與 EBS 資料儲存體提供支援。  

Amazon DynamoDB、Amazon DocumentDB、Amazon Keyspaces、Amazon Neptune 與 Amazon MemoryDB 皆採用客製化、專屬、由 SSD 提供支援的儲存體類型。

儘管 Amazon ElastiCache 可善用 EBS 儲存體,但其不提供基於儲存的選項,或者檔案層級儲存體的使用者存取權。ElastiCache 是一種快取類型的非關聯式資料庫。

自管非關聯式資料庫

在 AWS 上設定及存放非關聯式資料庫,遵循與關聯式資料庫所用類似的基礎結構模式。 

您可藉助 EC2 執行個體,來執行包括 MongoDB、Redis 與 HBase 在內的任何類型的 NoSQL 資料庫。視乎使用案例的不同,底層資料可存放於 Amazon EBS、Amazon Elastic File System (EFS) 進行具備完全彈性的儲存,以及暫存於執行個體儲存體。

其他類型的資料庫儲存有哪些?

並非一切企業資料皆可完美地適應關聯式資料庫或非關聯式資料庫格式,且現代化分析往往可適用於其他半結構化與非結構化資料類型。 

舉例來說,您可在 Amazon S3 上的 Apache Avro 資料檔案中存放半結構化資料,然後依原樣對資料進行分析,而非重新構建資料來適應資料庫。S3 可用做針對任意資料類型採用的儲存解決方案。

如何在資料庫儲存類型間做出選擇?

選擇使用受管資料庫服務,還是自管服務,可確定您對於資料儲存的選擇。

完全掌控環境

若組織希望完全掌控自身資料庫環境,則必須選擇 AWS 上的自管資料庫解決方案。您可將自管資料庫與儲存同時用於關聯式資料庫與非關聯式資料庫。藉助 EC2 自管解決方案,無論資料存放於 EBS、EFS,還是執行個體儲存體中,您都能在您的檔案系統儲存體中,直接存取底層資料。

減少開銷

在存放資料的位置與方式方面,受管服務幾乎未提供任何客製化選項,但其折衷在於減少了與基礎結構管理關聯的開銷。組織之所以移轉至雲端,通常是為了能夠存取受管服務,從而減少基礎結構的管理與維護需求。 

然而,在某些使用案例中,組織需要對資料庫的底層資料進行檔案層級的存取。舉例來說,現有應用程式可能從一個檔案中直接存取資料,氣隙隔離系統可能需要這種組態,或者合規資料完整性義務可能要求檔案層級的存取權。

選擇一項受管資料庫服務,還是自管資料庫組態,視乎每個資料庫的特定使用案例而有所差異。務必細緻考慮您的組織內的每個資料庫,包括其現有的組態與要求,這對於指引您的決策程序有所幫助。 

解決方案必須包括一個備份系統,該系統能在系統發生故障的情況下滿足資料冗餘要求。

AWS 如何為滿足您的資料庫儲存需求提供支援?

若選擇受管資料庫服務,AWS 上的資料庫儲存會更加簡單直接。每項受管服務皆可為您處理存儲,高效地處理資料,無須您的管理員進行額外的組態設定。運用受管服務,即表示 AWS 是您的無接觸式儲存管理員。

若在 AWS 上採用自管式資料庫方法,則可控制您想要以何種方式來存放資料。使用自管式方法,可從實體儲存體中直接存取並擷取資料。

無論是執行 MySQL 移轉,還是建立全新的鍵值儲存體,都能在 AWS 上探索資料庫選項。 

即刻在 AWS 上建立一個免費帳戶,開始建置可滿足您需求的現代資料庫基礎結構。