略過導覽

擴大還是擴增

雲端運算的資料庫可擴縮性簡介

資料,到處都是資料 - 探討可擴縮性的本質

雲端運算的可擴縮性,是指能夠輕鬆快速增加或減少 IT 解決方案或資源的大小或功率。雖然可擴縮性一詞可意指任何系統處理工作量增加的能力,但當我們討論要擴大還是要擴增時,大多數是指資料庫和資料。

現代化應用程式開發人員最著重資料庫可擴縮性。假設有一款新的應用程式爆紅,需求從一點點使用者成長到全球數百萬人。協助應用程式開發人員持續跟上需求,並將停機時間降到最的重要功能之一,就是有效率地擴縮。

這場關於擴增還是擴大的交談,著重於可擴縮性如何協助我們因應和處理暴增且廣泛的資料、持續變化的資料量及不斷轉變的工作負載模式,這一切都從雲端、行動裝置、社交媒體和巨量資料產生。

擴增還是擴大

在最基本的層級中,資料庫可擴縮性可分為兩種類型:

垂直縮放 (或擴大/縮小),藉由變更效能層級或使用彈性資料庫集區,自動依工作負載需求調整,視需要增加或減少運算能力或資料庫。

水平縮放 (或擴增或縮減) 是新增更多資料庫,或使用稱為分區化的資料分割方法將大型資料庫分割成較小的節點,以便在各伺服器間更輕鬆、更快速地管理。

垂直擴大

當您需要快速回應,以修正使用傳統資料庫最佳化技術 (例如查詢變更或編製索引) 無法解決的效能問題時,會使用垂直縮放。擴大適用於處理目前效能層級無法滿足所有需求的工作負載尖峰。擴大可讓您新增更多資源,輕鬆處理尖峰工作負載。然後,當不再需要資源時,縮小可讓您回到原來的狀態,並節省雲端成本。

擴大的時機:

  • 您看到工作負載達到某個效能限制,例如 CPU 或 I/O 限制。
  • 您需要快速回應,以修正傳統資料庫最佳化無法解決的效能問題。
  • 您需要能讓您變更服務層,以因應延遲需求持續變化的解決方案。

水平擴增

應用程式開發人員在即使以最高效能層級運作,資源也不足以應付工作負載時,會開始考慮擴增或水平縮放。使用水平縮放,資料會分割成跨伺服器的多個資料庫 (或分區),而且每個分區可以獨立擴大或縮小。

分割資料如何改善可擴縮性?當您新增虛擬機器 (VM) 等資源以擴大單一資料庫時,最終會達到實體硬體的限制。因為資料分割區各自裝載在不同的伺服器上,所以當您分割多個分區的資料時,您幾乎可以無限制地擴增系統。

有些類型的資料庫技術 (最知名的是非關聯式或 NoSQL 資料庫) 在開發時納入了獨特的功能,透過分區化來水平擴增資料,以處理大型、無關聯、不確定或快速變更的資料。

而且,有些原本提供擴大或縮小服務的關聯式 (SQL) 資料庫服務,開始提供令人振奮的選項,能夠達到非關聯式資料庫的可擴縮性優勢。超大規模資料庫服務 (例如 Azure SQL Database 超大規模資料庫Azure PostgreSQL Database 超大規模資料庫) 可讓使用者將儲存體快速擴大至 100 TB,提供靈活的雲端原生架構,讓儲存體視需要成長,並在短短幾分鐘內啟用幾乎即時的備份和快速資料庫還原。

擴增的時機:

  • 您有異地分散式應用程式,每個應用程式都應該可以存取區域中的部分資料。每個應用程式只會存取與該區域相關聯的分區,不會影響其他分區。
  • 您有一個全球分區化案例 (例如負載平衡),其中有大量的異地分散式用戶端會將資料插入自己的專屬分區。
  • 即使是服務的最高效能層級也已達最高效能需求,或者單一資料庫放不下您的資料。

自動調整

自動調整是以動態方式自動比對資源,使符合系統效能需求的流程。隨著工作量增加,應用程式可能需要有額外的資源才能維護必要的效能層級,或滿足日益增加的需求。當需求下降,且不再需要額外的資源後,只要讓自動化的服務解除配置未使用的資源,即可節省雲端費用。

自動調整會充分利用雲端託管環境的彈性。透過讓系統操作員不用頻繁決定要新增或移除資源或檢查系統效能,來減輕管理負擔。

雖然應用程式有兩種主要擴縮方式 (垂直或水平),但自動化垂直縮放較不常見,因為擴大通常需要在重新部署時暫時停用系統。

自動調整在水平縮放中較常見,因為擴增或縮減表示只新增或移除資源的執行個體,而在佈建新資源時,您的應用程式會繼續執行且不被中斷。當需求下降時,資源會無痛關閉,而不需要停機和解除配置。

包括 Microsoft Azure 在內的許多雲端系統提供者都支援自動的水平縮放。

  • 資料庫是已儲存並經過整理的任何相互關聯資訊集合,更容易管理和存取。當新的資料和資料類型以飛快的速度產生時,將資料保持有序、可存取和安全就變成了挑戰。包含一層管理工具的資料庫管理系統 (DBMS) 經常用來處理巨量資料。

    新的資料庫類型和技術持續出現,以因應從雲端、行動裝置、社交媒體和巨量資料產生的龐大資料。

    深入了解資料庫
  • NoSQL 資料庫 (通常稱為非關聯式或「不只是」SQL) 是一組多樣化的資料庫技術,使用與傳統關聯式 (SQL) 資料庫不同的方式處理資料的儲存和擷取。

    NoSQL 資料庫不需要預先定義的結構描述,而且能夠使用多個資料模型,所以在處理大量非結構化資料和擴縮巨量資料的資料庫專案時非常有效率。

    深入了解 NoSQL 資料庫
  • PostgreSQL 是穩固的開放原始碼資料庫,可處理關聯式和非關聯式查詢,以可靠性和資料完整性著名。PostgreSQL 廣泛用於金融服務、製造、政府地理資訊系統和 Web 技術等領域。開發人員使用 PostgreSQL 建立應用程式,系統管理員則信賴其保護資料的能力。

    深入了解 PostgreSQL
  • 快取是開發人員和 IT 專業人員為改善系統效能和可擴縮性常用的技術。快取會暫時將經常存取的資料複製到所在位置接近應用程式的快速儲存體中。如果這個快速資料儲存體比原始來源的位置更接近應用程式,快取就可以更快提供資料,大幅改善用戶端應用程式的回應時間。開發人員通常會將應用程式設計成快取已處理的資料,然後重新規劃快取以處理要求,因此速度比標準資料庫查詢更快。

    深入了解快取
  • 資料分區化是一種水平資料分割,可讓您將大型資料庫分成較小的資料庫,以便在各伺服器間更輕鬆、更快速地管理。

    深入了解資料庫分區化
  • 平台即服務 (通常是縮寫為 PaaS) 是雲端提供者提供的服務,可為應用程式開發、測試、傳遞及管理提供隨選環境。平台即服務讓開發人員能更簡單快速地建立 Web 或行動應用程式,而無須費心設定或管理開發所需的伺服器、儲存體、網路與資料庫等基礎結構。

    深入了解 PaaS

使用 Azure 探索雲端可擴縮性

發掘一個擴大或擴增的全方位方法,在內部部署、多重雲端和邊緣環境各方面都適合您自己的案例。Azure 資料庫服務系列提供完全受控的關聯式、NoSQL 與記憶體內部資料庫選擇,橫跨了專屬與開放原始碼引擎,可滿足新式應用程式開發人員的需求。

自動化基礎結構管理 (包含可擴縮性、可用性及安全性的自動化解決方案) 可節省您的時間與金錢。

相關產品與服務

Azure SQL

SQL 雲端資料庫系列提供靈活的應用程式移轉、現代化和開發選項

Azure Cosmos DB

快速的 NoSQL 資料庫支援開放式 API 及任何規模

Azure PostgreSQL

完全受控、具有智慧且可調整的 PostgreSQL

Azure SQL Database

雲端中的智慧型受控 SQL

Azure SQL 受控執行個體

雲端中受控且永遠保持在最新狀態的 SQL 執行個體

虛擬機器上的 SQL Server

以最低的 TCO 將您的 SQL Server 工作負載移轉到雲端

適用於 MySQL 的 Azure 資料庫

完全受控、可調整的 MySQL 資料庫

Azure Maria DB

適用於應用程式開發人員的受控 MariaDB 資料庫服務

Azure Cache for Redis

讓應用程式具備高輸送量及低延遲資料快取,加速應用程式

利用受控資料庫無限擴縮

專注於建置應用程式,將資料庫交由 Microsoft Azure 管理,讓工作變簡單

準備就緒 - 開始設定免費帳戶