跳到主要內容

這些題目為學習目的而獨立製作,並非 AWS 官方考題、實際考題、外流題或考題庫。

SAA-C03High-Performing Architectures難度:標準

SAA-046

希望對累積於 S3 的數 TB 存取日誌,每月僅執行數次臨時性的 SQL 分析。若希望避免分析平台的常態運作成本與基礎設施管理,下列哪項服務最為合適?

選項

解析與正確答案

閱讀解析與正確答案(劇透:建議先自行作答)

正確答案:B. 以 Amazon Athena 對 S3 上的資料直接執行 SQL 查詢

解析

Amazon Athena 為可對 S3 上的資料直接執行 SQL 的無伺服器查詢服務,僅依掃描的資料量計費。既不需要建置叢集也不需要常態運作,因此最適合執行頻率較低的臨時分析。

各選項解析

A. 將日誌匯入 Amazon RDS for PostgreSQL 執行個體,並以 SQL 彙總

RDS 為常態運作的執行個體計費,也需要匯入數 TB 日誌的處理與確保儲存空間,不適合臨時性的分析用途。

B. 以 Amazon Athena 對 S3 上的資料直接執行 SQL 查詢

正解。只要將資料表定義註冊至 Glue 資料目錄,即可在資料留於 S3 的狀態下立即查詢。

C. 建立 Amazon Redshift 的佈建叢集,載入日誌後進行查詢

Redshift 的佈建叢集在啟動期間會持續計費,也需要載入日誌的作業,對於每月數次的使用而言屬於過度的架構。

D. 啟動 Amazon EMR 叢集,並以 Spark SQL 彙總

EMR 叢集雖也可採用僅在需要時啟動的營運方式,但需要叢集的組態管理與作業的實作,若目的僅為 SQL 分析,營運負擔過大。

實際使用情境

Amazon Athena 為可對置於 S3 的資料直接執行標準 SQL 的無伺服器查詢服務。不需要將資料載入其他資料庫,只要將資料表的結構描述註冊至 AWS Glue 資料目錄即可查詢。支援 CSV、JSON、ORC、Parquet、Avro 等格式,廣泛用於 CloudTrail 日誌、VPC 流量日誌、ALB 存取日誌、CloudFront 日誌等 AWS 輸出日誌的分析用途。計費為依查詢所掃描資料量的用量制,不會產生依叢集啟動時間的費用。 左右成本與效能的是「如何減少掃描量」。若將資料轉換為 Parquet 或 ORC 等資料行導向格式,由於僅讀取必要的資料行,相較於 CSV 或 JSON 可大幅減少掃描量。此外,若將 S3 的索引鍵設計以年 / 月 / 日等切分並進行分割,並於 WHERE 子句指定分割資料行,即可不讀取範圍外的檔案。資料量增加後也可併用壓縮(Snappy / GZIP)。就分析平台的選項而言,若為反覆執行的固定儀表板或要求次秒回應的 BI 用途則選 Amazon Redshift,若為大規模 ETL 或機器學習的前處理則選 Amazon EMR 或 AWS Glue,如此區分使用。 SAA-C03 中,若出現「希望直接以 SQL 分析 S3 上的資料」「希望以無伺服器開始」「臨時性的分析」「依查詢量計費」等關鍵字,Athena 即為正解。誤答則排列出 Redshift 叢集(常態運作的成本)、載入 RDS(匯入負擔)、EMR 叢集(營運負擔)等。反之,若條件為「日常性地高速執行大量彙總」「眾多使用者同時檢視儀表板」,則 Redshift 為正解,此判讀方式亦應一併掌握。

相關連結

相關術語