NoSQL 資料庫讓您能夠以靈活的資料結構和多種資料模型來儲存資料。這些資料庫對開發人員來說相對容易使用,並具備現代應用程式所需的高效能與功能性。NoSQL AWS 資料庫 能夠儲存大量資料,同時仍能提供低延遲。
作為 AWS 資料庫產品的一部分,您可以從六種 NoSQL 資料庫類型中進行選擇,此外還有各種託管和自託管資料庫服務可供選擇。這些資料庫服務旨在支援您的雲端原生工作負載,並與現有的 AWS 資源無縫整合。
在本文中,您將學到:
NoSQL 這個術語最初由 Carlo Strozzi 於 1998 年提出,用以指稱一種不使用 SQL 的開源關聯式資料庫。之後在 2009 年,這個詞再次被用來泛指非關聯式資料庫。此術語可代表「無關聯式資料庫」或「不僅限於關聯式資料庫」,具體取決於其應用之資料庫架構。
NoSQL 資料庫的發展源於網路資料的增長,這促使人們需要更快速地處理和處理非結構化資料。這些系統可以建構於分散式架構上,讓系統具備可擴展性,並能在資料或使用者來源附近進行處理,意味著更高的速度。這對大數據的發展尤為重要,促使包括Google、Facebook和Twitter在內的眾多科技公司採用了NoSQL系統。
在 AWS 中有六種 NoSQL 資料庫模型可供選擇。
鍵值資料庫允許您以成對形式儲存資料,每對包含一個唯一識別碼與一個資料值。這提供了彈性的儲存結構,因為值不需分配到表格,且可容納任何數量或結構的資料。這些資料庫能夠管理大量資料或請求。鍵值資料庫的應用場景包含遊戲應用程式、電子商務系統以及高流量應用程式。
AWS 服務:Amazon DynamoDB
文件資料庫的結構與鍵值資料庫相似,不同之處在於其鍵值對以文件形式儲存,這些文件採用標記語言編寫,例如 JSON、XML 或 YAML。你可以透過連結文件來儲存資料的階層結構。文件資料庫的應用場景包含使用者檔案、目錄管理及內容管理。
AWS 服務:Amazon DocumentDB、DynamoDB
寬欄位資料庫基於表格結構,但不採用嚴格的欄位格式。每一列不需要在每個欄位都有值,且可將包含不同資料格式的列與欄段組合在一起。寬欄位資料庫的應用場景涵蓋路線規劃、車隊管理及工業維護等領域。
AWS 服務:Amazon Keyspaces(適用於 Apache Cassandra)
圖資料庫的結構是由邊與節點所組成的集合。節點是個別的資料值,邊則是這些值之間的關聯。這些資料庫讓你能夠在有機網路中追蹤複雜關聯的資料,而非在結構化表格中。圖形資料庫的應用場景包括推薦引擎、社交網絡及詐欺偵測。
AWS 服務:Amazon Neptune
時間序列資料庫將資料儲存於按時間排序的資料流中。資料不是依據值或 ID 排序,而是依據收集、匯入或其他包含於中繼資料的時間戳排序。這些資料庫讓你能夠根據時間區間來管理與查詢資料。時間序列資料庫的應用場景涵蓋工業遙測、DevOps 以及物聯網(IoT)應用。
AWS 服務:Amazon Timestream
分佈式帳本資料庫基於記錄資料值相關事件的日誌。這些日誌是透明、不可變的,並可透過密碼學方式驗證,以證明資料的真實性與完整性。帳本資料庫的應用場景涵蓋銀行系統、註冊系統、供應鏈系統及記錄系統。
AWS 服務:Amazon Quantum Ledger Database (QLDB)
您可能僅需根據所需的資料庫類型,即可選擇相應的資料庫服務。然而,在做出選擇前,了解 AWS 所提供服務的功能會更有幫助。若這些服務未能提供您所需的功能或能力,您可改為尋找第三方選項。
Amazon DynamoDB 是一款文件型與鍵值型資料庫。它是一項全託管服務,包含備份與還原、記憶體快取、安全性,以及多區域、多主分佈等功能。DynamoDB 預設支援原子性、一致性、隔離性、持久性 (ACID) 交易及加密功能。
Amazon ElastiCache 是一種記憶體內資料儲存服務,可取代基於磁碟的資料庫使用。它提供對 Memcached 和 Redis 的全託管支援,並可透過記憶體分片進行擴展。其設計旨在支援低於一毫秒的響應時間,通常用於佇列處理、即時分析、快取及會話儲存。
Amazon Neptune 是一種完全託管的圖資料庫服務,專為儲存數十億個關係的資料而最佳化。它支援多種圖模型和查詢語言,包括 W3C 的 RDF、Property Graph、SPARQL 和 TinkerPop Gremlin。
Neptune 包含時間點復原、多區域資料複製、連續備份和唯讀副本等功能。它支援 ACID 交易,並提供傳輸中和靜態資料加密。
Amazon Timestream 是一款完全託管的時間序列資料庫,配備自適應查詢處理引擎。它是一項無伺服器服務,可自動為您管理硬體和軟體的維護和佈建。
Timestream 包含自動資料壓縮、分層、保留和彙總功能。它還包含用於資料近似、平滑和插值的內建分析功能。
Amazon QLDB 是一個帳本資料庫,可用於追蹤資料變更。它完全託管,旨在幫助您避免使用關聯式資料庫或區塊鏈管理帳本資料所需的複雜設定。
QLDB 提供類似 SQL 的 API、完整的事務支援和靈活的文件資料模型。它包含自動擴展、符合 ACID 標準的事務、多區域可用性以及使用 Kinesis Data Streams 進行資料串流等功能。
Amazon DocumentDB 是一款完全託管的文件資料庫,與 MongoDB 完全相容。DocumentDB 架構將運算與儲存資源分離,以提升擴展性與彈性。它還包含對多達 15 個讀取複本的支援、橫跨三個可用區域的資料複寫以確保持久性,以及免費使用 AWS 資料庫遷移服務。
Amazon Keyspaces 是一款託管式寬欄位資料庫,與 Apache Cassandra 相容。你可以用它來遷移 Cassandra 工作負載與應用程式,並繼續使用 Cassandra 原生程式碼與工具。它包含自動擴展功能,並允許您在隨需資源與預先配置資源之間進行選擇。
NetApp Cloud Volumes ONTAP 是領先業界的企業級儲存管理解決方案,可在 AWS、Azure 和 Google Cloud 上提供安全可靠、實證肯定的儲存管理服務。Cloud Volumes ONTAP 支援高達 368TB 的容量,並支援各種使用案例,例如檔案服務、資料庫、DevOps 或任何其他企業工作負載,並具有一系列強大的功能,包括高可用度、資料保護、儲存效率、Kubernetes 整合等。
具體來說,Cloud Volumes ONTAP 有助於解決雲端中的資料庫工作負載挑戰,並彌合基於雲端的資料庫功能與其運行所在的公有雲資源之間的差距。
Cloud Volumes ONTAP 支援管理雲端 SAN 儲存的進階功能,可滿足 NoSQL 資料庫系統的需求,以及可直接從雲端大數據分析叢集存取的 NFS 共用。
此外,內建的儲存效率功能直接影響雲端部署中 NoSQL 的成本。快照和資料複製等功能所提供的資料保護和靈活性,讓 NoSQL 資料庫管理員和大數據工程師能夠有效管理大量資料。