Microsoft AZ-104: Azure 資料庫與資料服務 — 學習指南
屬於 Microsoft Azure Administrator Associate AZ-104 — 學習指南. 使用經過驗證的解答練習: Microsoft 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
Azure 的資料庫與資料服務涵蓋了受控關聯式引擎、全球分散式 NoSQL、記憶體內快取、大規模分析,以及整合/協調流程。作為一名管理員,您必須了解購買模型、服務層級、網路與安全性拓撲、備份/DR 語意,以及如何組合服務以達到效能、成本和彈性的最佳化。本節重點介紹您日常設定的操作選項和平台功能:佈建模型 (DTU vs vCore)、彈性集區、備份與長期保留、異地複寫與容錯移轉、VNet 植入的受控執行個體、Cosmos DB 的分佈與一致性、開源關聯式資料庫的 HA/讀取複本、Synapse 引擎,以及 Data Factory 執行階段。
Azure 關聯式資料庫 (SQL Database, Managed Instance, MySQL/PostgreSQL)
Azure SQL Database 提供兩種購買模型。DTU 模型將 CPU、記憶體和 IOPS 捆綁成「資料庫交易單位」(Database Transaction Units),並分為基本、標準和進階層級;此模型簡單但不透明,適合穩定、可預測的工作負載和傳統的規模估算。vCore 模型則公開 CPU 的世代/數量和記憶體,並搭配儲存空間和 IOPS 的控制項。vCore 實現了規模估算的透明度,並可享有 Azure Hybrid Benefit 和保留容量折扣。在 vCore 模型中,服務層級對應到不同的工作負載和可用性模式:「一般用途」使用遠端的 Premium SSD 或 Azure Premium 儲存體,搭配標準的可用性架構;「業務關鍵」將運算和儲存都放在本機 SSD 上,並具備多個複本、低延遲和整合的讀取相應放大功能;「超大規模」透過頁面伺服器將運算和儲存解耦,以實現近乎即時的擴展和支援極大型資料庫。對於單一資料庫,無伺服器運算層級 (vCore) 能彈性擴展 CPU,並可自動暫停以降低閒置成本。
彈性集區在多個資料庫之間共享運算資源,以較低的總成本來吸收突發性、錯開的工作負載。集區有 DTU (eDTU) 和 vCore 兩種版本。您可以設定每個資料庫的最小/最大上限以抑制「吵雜的鄰居」效應,並設定集區的上限以控制支出。當突發流量短暫且不相關時,超額訂閱是可以接受的。集區的規模取決於總平均耗用量加上為並行性保留的餘裕空間;監控每個資料庫和集區的指標對於維持 SLO 至關重要。
備份是自動的。Azure SQL 會維護完整、差異和交易記錄備份,並支援在保留期間內 (通常為 7-35 天,取決於層級和儲存體組態) 將資料庫還原到任何時間點 (PITR)。長期保留 (LTR) 可將每週的完整備份在 RA-GRS 儲存體中保存數年;您可以將 LTR 備份還原為一個新的資料庫,放在同一個訂用帳戶和區域集中的任何伺服器上,如果啟用了異地備援備份儲存體,還可以進行跨區域還原。還原會建立一個新的資料庫;它們不會就地覆寫。
異地複寫選項包括適用於單一資料庫和集區的主動式異地複寫 (最多四個可讀取的次要資料庫,採非同步複寫),以及在邏輯伺服器範圍的自動容錯移轉群組。容錯移轉群組將多個資料庫 (或整個伺服器) 與異地 DR、一個讀寫接聽程式端點、一個用於卸載讀取流量的唯讀端點、基於健康狀態的自動容錯移轉,以及基於 DNS 的重新導向捆綁在一起。「業務關鍵」層級還透過本機的可讀取複本提供讀取相應放大功能,無需處理跨區域的複雜性即可立即卸載讀取工作負載。
Azure SQL Managed Instance (MI) 提供近 100% 的 SQL Server 引擎相容性,包括 SQL Agent、跨資料庫查詢、CLR、連結的伺服器、Service Broker,以及從 Azure Blob Storage 原生備份/還原 .bak 檔案的功能。MI 是 VNet 植入的:您將它部署到一個專用、委派的子網路中,該子網路具有私有 IP 和 NSG/UDR 控制項;請預先規劃子網路大小和位址空間,因為之後要調整子網路大小會很複雜。移轉路徑包括 Azure Database Migration Service (線上/離線轉換)、原生備份/還原至 URL 到 MI,以及從地端 SQL Server 到 MI 的交易式複寫。當您需要單一資料庫未提供的功能介面對等性或執行個體範圍的功能時,請選擇 MI。
Azure Database for MySQL 和 Azure Database for PostgreSQL (Flexible Server) 提供受控的 OSS 引擎,並可控制維護時段、啟動/停止以節省成本、可高載和一般用途的運算、儲存空間自動成長,以及 VNet 整合。Flexible Server 透過同步複寫提供高可用性;您可以選擇跨可用性區域的區域備援 HA 以獲得更強的容錯隔離,或選擇同一區域的 HA 以降低寫入延遲。讀取複本可用於讀取相應放大,並可在區域內或跨區域佈建;它們使用非同步複寫,非常適合分析、報表或讀取密集型的微服務。在需要時可將複本升級以進行容錯移轉或區域擴展,但需注意可能存在的複寫延遲。
分散式資料與快取 (Cosmos DB 和 Azure Cache for Redis)
Azure Cosmos DB 是一個全球分佈式、多模型的資料庫,提供 Core (SQL)、MongoDB、Cassandra、Gremlin (圖形) 和 Table 的 API。API 的選擇決定了用戶端驅動程式的相容性和資料模型語意;在操作上,無論使用哪種 API,您都需要管理輸送量 (佈建的 RU 或自動調整規模) 和分割區。資料由分割區索引鍵進行水平分割,該索引鍵必須展現高基數和均勻的存取分佈,以避免熱分割區;請避免使用單調遞增的索引鍵,並在存在複合存取模式時考慮使用階層式分割區索引鍵。支援跨分割區查詢,但會消耗更多 RU;盡可能依分割區索引鍵將相關資料共置。
一致性層級可針對每個帳戶、資料庫或請求進行調整:強式 (Strong) 保證線性一致性;有限的過時性 (Bounded Staleness) 依時間或版本限制過時程度;工作階段 (Session) (預設) 為工作階段提供讀取您的寫入 (read-your-writes);一致性前置詞 (Consistent Prefix) 在不需完全一致性的情況下保證順序;最終 (Eventual) 則最大化可用性和效能。對於多區域寫入,請選擇適當的衝突解決原則 (LastWriterWins 或透過預存程序自訂) 並定義容錯移轉優先順序。全球分佈功能讓您只需點擊一下即可新增區域;該服務會處理複寫、容錯移轉和延遲最佳化路由,並對輸送量、延遲、可用性和一致性提供 SLA。
Azure Cache for Redis 提供由 Redis 支援的次毫秒延遲。層級的功能依序增強:基本 (Basic) (單一節點,用於開發/測試)、標準 (Standard) (具備 SLA 的複寫式雙節點主/複本)、進階 (Premium) (更大型、叢集化、持續性、VNet 插入、異地複寫,以及像 Bloom 等 Redis 模組)、企業版 (Enterprise) 和企業版 Flash (Enterprise Flash) (以 Redis Enterprise 為基礎,具備進階叢集化、用於多主體寫入的主動式異地複寫,以及由 Flash 支援的更大型快取)。收回原則定義了在記憶體壓力下的行為:noeviction (寫入時發生錯誤)、allkeys-lru/lfu/random (考慮所有索引鍵) 和 volatile-lru/lfu/ttl/random (僅考慮具有 TTL 的索引鍵)。對於工作階段快取,如果您無法承受工作階段遺失,請使用進階 (Premium) 或更高層級以獲得持續性,啟用索引鍵 TTL 以限制增長,並考慮使用叢集化來提高輸送量和擴展性。將快取放置在與應用程式伺服器相同的區域和虛擬網路中,以最小化延遲;使用受控識別 (Managed Identity) 或存取金鑰,並透過 Private Link 或 VNet 插入來強制執行網路隔離。
分析與整合 (Synapse Analytics 和 Data Factory)
Azure Synapse Analytics 統一了資料倉儲、大數據和資料整合。專用 SQL 集區 (先前稱為 SQL DW) 是一個 MPP 引擎,具有雜湊/循環配置資源分佈、複寫資料表和結果集快取功能。您可以向上或向下擴展運算資源以符合 SLA 時間範圍,並可暫停以僅支付儲存費用。可透過工作負載群組和重要性設定來實現工作負載隔離,以保護關鍵查詢。無伺服器 SQL 集區無需佈建即可對 Azure Data Lake Storage Gen2 中的資料提供隨選 T-SQL;您按掃描的 TB 數付費,並可使用檢視表將結構描述外部化以建立語意層。Spark 集區將 Apache Spark 引入 Synapse,提供自動調整規模和隨選叢集,從而啟用筆記本、Delta Lake 和機器學習,並具備整合式安全性和資料血緣;您可以在 Spark 和 SQL 引擎之間共用 lakehouse 資料。
Azure Data Factory (ADF) 可協調資料的移動和轉換。管線 (Pipeline) 協調各種活動 (Activity),例如複製 (Copy)、資料流 (Data Flow) (基於 Spark 的對應流程) 和外部運算 (Databricks、Synapse、Functions)。資料集 (Dataset) 定義資料的形狀和位置,而連結服務 (Linked Service) 則封裝了到來源/目標的連線詳細資料 (驗證、端點)。整合執行階段 (Integration Runtime, IR) 提供運算和網路平面:Azure IR 用於雲端原生的移動和轉換,自我裝載 IR (Self-hosted IR) 用於透過輸出 HTTPS 連接內部部署或私有網路來源,而 Azure-SSIS IR 則用於 SSIS 套件的直接遷移 (lift-and-shift)。觸發器 (排程、輪轉視窗、事件型) 可實現可重複的協調流程;可啟用受控虛擬網路和私人端點,以提供資料外洩保護和合規的連線能力。參數化和 Key Vault 整合支援可重複使用、安全的模式,以利於環境晉升 (開發/測試/生產)。
業務連續性、地理功能與彈性集區
備份與還原策略因服務而異,但共享一些關鍵主題:自動化、定期測試還原,以及將 PITR(用於操作錯誤)與 LTR(用於合規性)分開。在 Azure SQL 中,使用 PITR 來處理意外的 drop 或錯誤的部署;將 LTR 的每週完整備份儲存在 RA-GRS 中,以滿足法規保留要求和跨區域的災難復原還原。對於 MySQL/PostgreSQL Flexible Server,啟用支援異地備援儲存的自動備份,根據策略設定保留期,並驗證對替代伺服器的時間點還原。擁有多个區域的 Cosmos DB 帳戶可啟用自動容錯移轉;當 RPO 必須為零且應用程式能夠確定性地解決衝突時,可將其與多區域寫入結合使用。
Azure SQL 中的異地複寫和自動容錯移轉群組提供 DR 和讀取卸載。當您想要明確管理次要資料庫時,請對單一資料庫/集區使用作用中異地複寫;使用自動容錯移轉群組來組合多個資料庫,並獲得基於 DNS 的接聽程式以及自動容錯移轉。在低延遲讀取很重要但 DR 不是目標的情況下,請使用 Business Critical 的讀取擴展或 Hyperscale 的具名複本,以將分析和報告工作負載與主要資料庫分開。監控複寫延遲和容錯移轉健康訊號,並測試容錯移轉演練以驗證 RTO/RPO。
彈性集區是針對多租用戶 SaaS 和大量小型資料庫的成本優化工具。在基於 DTU 的集區中,分配 eDTU 並設定每個資料庫的上限;在 vCore 集區中,分配 vCore、記憶體和 IO 吞吐量,並設定每個資料庫的最大 vCore 和 IO 治理。透過測量每個資料庫的第 95 百分位使用量並使集區容量與並行模式對齊來進行適當調整;為具有較高 SLO 的租用戶提高每個資料庫的上限,並考慮按工作負載類別(例如,重度與輕度租用戶)分割集區。使用針對集區和每個資料庫限制的警示來及早偵測飽和。當少數資料庫持續達到最大上限時,將它們移至專用計算資源或單獨的集區以維持可預測性。
實務問題情境
Starbucks 需要現代化其全球忠誠度平台,以應對促銷活動期間的流量高峰、減少營運開銷,並在不中斷全球門市營運的情況下支援分析。
- 分割操作資料儲存區:
- 選擇 Azure Cosmos DB (Core SQL API) 來處理客戶互動和獎勵活動,以實現低延遲的全球分佈。在靠近主要客戶群的區域設定多區域寫入,並將一致性設定為 Session,以在「讀取您的寫入」與效能之間取得平衡。選擇高基數的分割區索引鍵,例如 customerId 或複合階層式索引鍵 (customerId, eventMonth),以分散吞吐量並支援常見的查詢模式。
- 實作交易式帳戶和目錄資料:
- 部署 Azure SQL Managed Instance 來處理帳戶餘額、兌換和 SKU/目錄,因為需要近 100% 的 SQL Server 相容性以支援現有的預存程序和跨資料庫邏輯。將 MI 放置在專用的委派子網路中,並根據 VNet 插入的要求配置 NSG 和路由表,從而實現從應用程式子網路和 ExpressRoute 的私有存取。
- 為關聯式工作負載提供全球讀取擴展和 DR:
- 對於使用 Azure SQL Database 的新微服務,使用 vCore Business Critical 以獲得低延遲和讀取擴展。建立一個指向配對區域的自動容錯移轉群組,並提供唯讀接聽程式端點,以支援本地化讀取和自動容錯移轉,從而達成 DR 目標。
- 新增低延遲的工作階段管理:
- 部署具有叢集和資料持久性的 Azure Cache for Redis Premium,用於 Web 和行動應用程式的工作階段權杖。設定 allkeys-lfu 逐出策略,以保留頻繁存取的工作階段。將快取整合到與應用程式層相同的 VNet 和區域中,以最小化延遲。
- 協調資料移動並建立分析:
- 使用 Azure Data Factory 將操作資料(Cosmos DB 變更摘要和 SQL MI)複製到 Azure Data Lake Storage Gen2。採用具有私人端點的 Managed VNet IR 來防止資料外洩。將管線參數化,並使用輪轉視窗觸發器來保證有序處理。
- 透過彈性成本控制實現企業級分析:
- 在 Azure Synapse Analytics 中,使用 serverless SQL pool 對 parquet 資料進行臨時探索,並使用 dedicated SQL pool 來處理具有可預測效能的、經過整理的高並行 BI 模型。建立 Spark 集區以對忠誠度行為進行特徵工程,並在資料湖中寫入 Delta 資料表,以實現 Spark 和 SQL 之間的互通性。
- 治理、備份與保留:
- 設定 Cosmos DB 自動容錯移轉的優先順序,並使用 LastWriterWins 搭配時間戳記欄位來監控衝突。對於 Azure SQL Database 和 MI,驗證 PITR 視窗並啟用 LTR 以滿足合規性保留要求。對於支援輔助性 OSS 服務的 Flexible Server 執行個體(例如,PostgreSQL 中的區域性門市遙測資料),啟用區域備援 HA 並設定讀取複本以供報告使用。
為何選擇這些服務:Cosmos DB 的全球分佈和可調整的一致性解決了全球範圍內對延遲敏感的互動需求;MI 在提供託管操作的同時保留了複雜的 SQL Server 功能;Business Critical 資料庫提供了本地讀取擴展而無跨區域延遲;Redis 確保了在流量高峰期間的次毫秒級工作階段存取;ADF 提供了從私有網路安全、受控的資料移動;Synapse 混合了隨選和預配置的分析功能,以實現具成本效益、可擴展的洞察。這個組合在促銷活動期間滿足了效能 SLO,透過託管的 PaaS 減少了管理負擔,並強制執行了明確的 RTO/RPO 和合規性界線。
← Azure App Service 與 PaaS 計算 · 所有領域 · Azure Monitor、備份與站台復原 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →