優化數據成本的建議

適用於此 Azure Well-Architected Framework 成本優化檢查清單建議:

CO:10 將數據成本優化。 具有數據優先順序的數據支出。 數據優化應該包括數據管理 (分層和保留) 、磁碟區、復寫、備份、檔格式和記憶體解決方案的改善。

本指南說明優化工作負載數據成本的建議。 優化數據成本牽涉到根據數據的重要性和存取頻率,將儲存和管理數據的相關費用降到最低。 適當的數據管理可以大幅降低額外負荷成本,並配合數據公用程序的費用。 忽略優化數據成本可能會導致費用擴大、資源配置效率不佳,以及因為儲存解決方案錯誤和不必要的數據保留而造成財務浪費。

定義

詞彙 定義
數據生命週期管理 在整個生命週期中管理數據的程式,從建立到刪除。 此程式牽涉到根據數據的價值和使用模式來組織、儲存、保護和封存數據。
資料備援 跨多個儲存系統或位置儲存重複數據復本的做法。 數據備援的目的是要改善數據可用性和容錯。
資料分層 一種儲存策略,涉及根據數據的存取頻率分類數據,並據以儲存在儲存層上。
保留原則 數據在刪除之前應保留的持續時間。 它會指定數據必須保留的時間週期,以符合法律、法規或商務需求。

主要設計策略

在特定工作負載中,您可以藉由減少與儲存和管理數據相關聯的費用,來優化數據成本。 有各種策略和最佳做法可將數據儲存和處理成本降至最低。 目標是將數據成本與數據優先順序一致。 您必須根據其重要性或存取頻率,將成本層指派給數據類型。

工作負載數據成本的主要因素是存取頻率、存取延遲和記憶體數量。 下列指引包含將這些成本驅動因素的成本優化的策略。

清查數據

您必須先產生數據的清查,才能優化數據的成本。 檢查數據存取,並判斷其在工作負載及其作業中的重要性。 識別經常存取哪些數據,以及較不常存取哪些數據。 下列清查動作可協助您有效地設定記憶體資源:

  • 收集數據存取資訊: 進行數據稽核以識別和編錄所有數據存放區。 根據數據集對商務營運的重要性、投資報酬率和使用頻率,決定數據集的價值。 從您的數據記憶體解決方案收集存取記錄、使用計量或分析。

  • 識別數據類型: 根據數據類型將數據分類,例如個人資料、財務數據、智慧財產權或操作數據。 瞭解每個數據類型的敏感度和重要性。

  • 識別存取模式: 識別數據存取中的模式,例如每日、每周或每月使用模式。 您應該瞭解該資料的延遲、檔案大小和數據有效性需求。

設定數據的優先順序

數據優先順序是根據敏感度和重要性,將重要性層級分類和指派給數據類型的程式。 數據優先順序應該符合環境的重要性。 例如,生產數據比生產前數據更重要。

使用下列步驟,評估各種數據類型對工作負載的重要性:

  1. 定義優先順序層級: 根據對組織的價值、法規需求,以及數據遺失的潛在影響,為數據 (建立優先順序層級,例如高、中和低) 。 目標是將數據優先順序與適當的數據解決方案保持一致。

  2. 指派標籤: 為每個數據集加上其敏感度和重要性的標籤。 視數據結構和使用方式而定,您可以在數據列、數據行或檔案層級套用標籤。 對於資料庫,您可以使用特殊工具來標記數據,並將數據的敏感度和重要性與特定數據列和數據行產生關聯。 此方法可針對數據的管理和存取提供細微的控制。

優化數據管理

數據管理是儲存、移動和保護工作負載數據的程式。 藉由優化數據管理,您可以將費用與數據優先順序保持一致,並從您的數據衍生更多價值。 請考慮下列數據管理策略。

優化數據生命週期管理

請務必在整個生命週期中管理數據。 生命周期的階段包括數據建立 (或擷取) 、記憶體、使用量、共用、保留和處置 (刪除或封存) 。 數據生命週期管理的目標是要優化數據儲存解決方案,同時符合相關的法規和原則。

資料記憶體有三個重要成本元件:

  • 記憶體成本:與儲存數據相關聯的費用,例如每 GB。

  • 交易成本:鏈接至數據作業的成本,例如寫入作業、讀取作業和數據擷取 (每 GB) 。 讀取和寫入數據可能會有不同的成本。

  • 延遲成本:與存取數據的速度或延遲相關聯的費用。

下列考慮是數據生命週期管理的基礎:

  • 使用數據階層處理: 數據階層處理的目標是要讓存取和保留與最符合成本效益的儲存層保持一致。 儲存層的範圍從經常/立即存取 (經常性存取) (經常性存取,到經常/延遲存取 (冷) 。

    使用與數據存取和保留需求不一致的層級會比較高。 例如,應用程式經常存取的數據應該位於經常性存取記憶體中。 應用程式不常存取的數據應該位於冷記憶體中。 有效地管理這些層面有助於確保有效率的數據儲存。

  • 請考慮合規性需求: 實作數據階層處理需要仔細考慮合規性需求和數據控管原則。 合規性和法律需求通常會驅動數據存取和保留。 建立數據保留原則,以確保符合法律、法規和商務需求。

  • 定義數據生命周期原則。 數據生命周期原則會根據預先定義的準則,指定在儲存層之間移動數據的時機和方式。 這些原則可確保在所需的持續時間內將數據保留在適當的層中。 例如,原則可以指出數據必須保留於經常性存取層 30 天、非經常性存取層 90 天,以及封存層一年。 根據法律需求、產業法規或內部原則等因素來設定保留期間。

  • 使用自動化:保留原則可以觸發階層之間的數據移動。 您應該先使用平臺功能將原則自動化,再建置任何自定義解決方案。

    當特定層的保留期間到期時,原則可以自動將數據移至下一個較低的成本層。 例如,當經常性存取層的保留期間結束時,原則可以將數據移至非經常性存取層。 此原則可確保數據會根據其存取模式和成本需求持續優化。

取捨:管理數據保留原則需要持續監視和維護。 它可能會對數據管理程式造成更多額外負荷。 這也可能會影響記憶體成本。 較長的保留期間或使用較高成本的儲存層可能會增加儲存費用。

風險:數據生命週期管理的實作不佳可能會導致數據遺失或重要數據的存取有限。 您應該備妥適當的備份和復原機制,以降低數據遺失的風險。

優化數據分割

將數據分割優化牽涉到策略性地將數據組織成不同的區段,並合併類似的數據類型,以有效率地配置記憶體資源。 它可讓您量身訂做記憶體資源配置給數據優先順序。

為了有效地優化數據分割,您可以依類型和使用模式來分類數據。 然後,您會根據數據區段的操作相似性和需求,將數據區段放在最有效的解決方案上。 例如,您會在資源上放置需要高效能記憶體的數據,且擷取時間更快。 封存數據會使用成本較低的資源,且擷取時間較慢。

這種方法可確保高需求數據會使用更快的記憶體,以獲得最佳效能,且較不存取的數據會使用較便宜的記憶體。 同樣地,當數據類型共用使用模式時,您應該將它們分組在單一資源上,以減少額外負荷、簡化管理和改善數據處理。

最小化數據傳輸

將數據傳輸最小化是指減少跨網路移動的數據,以減少數據傳輸成本。 它會減少工作負載行動的數據量,並降低網路使用量費用。 若要將數據傳輸降至最低,請考慮下列建議:

  • 使用正確的位置。 將數據放在更接近其使用者的位置。 數據鄰近性可減少網路移動,以加速存取並優化成本。
  • 使用快取。 請考慮快取的優點,以將數據傳輸降到最低。
  • 使用內容傳遞網路。 內容傳遞網路可以儲存較接近用戶的經常讀取靜態數據。 它可減少整個網路的數據移動,並協助卸除頻寬使用量。

優化安全性與合規性

某些生產數據需要更高的安全性和合規性需求。 這些量值可能會造成與數據保護、加密、備份、保留和稽核相關的額外成本。

您必須確保資料儲存解決方案中的變更符合這些需求。 安全性與合規性需求較低的數據通常有機會將成本優化。

優化數據量

尋找減少您儲存之數據量的策略可協助降低成本。 藉由變更數據的存取範圍並實作下列技術,您可以有效地優化預存數據的磁碟區:

  • 擷取較少的數據:深入瞭解您要擷取的數據。 判斷您的用途是否不需要任何專案。 修改您的程式、設定或組態,只擷取基本數據。

  • 壓縮數據:壓縮可藉由減少數據的大小來節省成本。 在寫入一次、永不讀取或很少讀取案例中,其最有效。 它更適合用於較冷的記憶體。

    取捨:壓縮和解壓縮數據會增加CPU時間。

  • 刪除不必要的數據:實作原則以簡化儲存相關信息的程式。 評估備份和快照集的保留期間,並刪除不再需要的數據。 您可能想要有導致最終數據刪除的程式,例如第一個封存數據並啟用虛刪除期間。 刪除數據之前,請務必考慮復原性。

  • 重複資料刪除:實作重複資料刪除技術,以消除重複數據。 重複資料刪除可藉由確保您只儲存唯一的數據區塊來減少記憶體需求,因此您可以節省成本。 使用哈希演算法和數據區塊的比較。 定期執行重複數據刪除程式,以識別並消除重複的數據。

  • 優化用戶行為:在收集用戶產生數據的工作負載中,教育使用者有效儲存數據的重要性。 鼓勵他們定期檢閱和刪除不必要的檔案和數據。 實作不建議過多數據記憶體的記憶體配額或定價模式。

優化數據復寫

數據復寫牽涉到建立多個數據複本,並將其儲存在其他地理位置或區域中,以取得可靠性。 復寫可確保如果某個位置或區域發生失敗或中斷,您仍然可以從其他位置的複寫複本存取數據。

此備援有助於改善數據的可用性和復原能力。 它會將數據遺失和停機的風險降至最低。

若要優化成本優化的數據復寫,請考慮下列指導方針:

  • 評估數據復寫需求:評估工作負載的特定需求,並判斷所需的數據復寫層級。 請考慮數據重要性、復原時間目標 (RTO) ,以及恢復點目標 (RPO) 等因素。

  • 選擇正確的復寫策略:選取符合成本優化目標的複寫技術。 請考慮工作負載的服務等級協定 (SLA) 需求。

    評估同步復寫、異步復寫或兩者的組合等選項。 根據數據一致性需求和網路頻寬考慮等因素做出決策。 評估工作負載所需的可用性層級,並評估區域性與區域備援的需求。

  • 優化網路頻寬:藉由實作壓縮和數據重複數據刪除技術,將網路頻寬的使用降到最低。 這些技術可以減少復寫期間傳輸的數據量,這可節省成本。

  • 監視和優化複寫頻率:定期檢閱並根據您的工作負載變更需求調整複寫頻率。 微調復寫頻率可藉由減少不必要的複寫額外負荷來協助優化成本。

優化備份

備份是定期的快照集或數據複本,您可以建立和儲存與主要記憶體分開。 如果數據損毀、意外刪除或系統失敗,您可以使用備份將數據還原至其先前的狀態。

以下是優化備份的一些技術:

  • 數據分類:根據數據的重要性和備份優先順序來分類您的數據。 分類可協助您專注於備份重要數據的資源,同時將數據備份成本降到最低。

  • 增量備份:不要每次執行完整備份,請考慮實作增量備份。 累加備份只會擷取上次備份之後所做的變更,這可降低記憶體和網路頻寬需求。

    取捨:增量備份需要更多步驟和時間才能還原數據。 您需要先還原完整備份,然後依序套用每個累加備份,直到到達所需的還原點為止。

  • 備份壓縮:在備份程式期間啟用壓縮,以減少備份檔的大小。 壓縮備份需要較少的儲存空間,因此您可以節省成本。

  • 備份儲存層:評估備份保留原則,並考慮將較舊的備份移至低成本的儲存層,例如冷記憶體或封存記憶體。 將較不常存取的備份儲存在符合成本效益的記憶體選項中,有助於將成本優化。

  • 備份保留期間:根據商務需求和合規性法規,檢閱並調整備份的保留期間。 維護較長持續時間的備份可能會導致額外的記憶體成本。

  • 備份頻率:分析各種數據類型的備份頻率。 根據數據變更的頻率和數據的重要性來調整備份排程。 這些做法有助於消除不必要的備份,並減少記憶體成本。

優化檔案格式

檔格式會藉由優化數據的輸入/輸出 (I/O) 模式和查詢模式,來影響成本優化。 某些檔案格式符合特定案例。 將檔格式與您的工作負載需求一致,可以改善工作負載的效能。

以下是常見格式的考慮:

  • Avro:當您處理大量寫入的 I/O 模式,或查詢模式需要完整擷取多個記錄數據列時,Avro 檔格式是不錯的選擇。 Avro 的串行化和還原串行化程式有效率,因此它與 Kafka 等訊息總線相容,可快速連續產生一系列事件和訊息。

  • Parquet 和 Optimized Row Columnar (ORC) :在大量讀取 I/O 模式的案例中,或查詢模式將焦點放在記錄的特定數據行時,Parquet 和 ORC 檔格式 excel。

    這兩種格式都是單欄式記憶體,這表示數據會依數據行儲存,而不是依數據列儲存。 數據行記憶體可讓您改善壓縮和有效率的讀取作業。 只需要擷取必要的數據行,因此您可以避免不相關數據的不必要的 I/O。

優化記憶體解決方案

評估並選取最適合您資料的儲存方法和系統。 這項工作可能包括切換資料庫、使用不同的記憶體類型,或新增快取機制。 輕鬆管理是當您選擇記憶體解決方案時要考慮的另一個因素。

藉由針對數據的特定需求和特性量身打造記憶體解決方案,您可以達到更好的成本效益,同時符合效能和延展性需求。 有與切換資料庫或交換服務相關聯的成本,但將數據儲存在錯誤的記憶體解決方案中可能會花費您額外的成本。

以下是幾個使用案例:

  • 切換資料庫:您可以考慮切換至更符合您需求的資料庫系統。 例如,如果您使用關係資料庫,如果數據更面向檔或需要彈性的架構,您可能會探索移至 NoSQL 資料庫的選項。

  • 從關係資料庫移至一般檔案存放區:在某些情況下,將數據儲存在一般檔案中,而不是傳統的關係資料庫,可提供簡單性和成本效益等優點。 一般檔案非常適合特定類型的數據,例如不需要複雜查詢的記錄檔或數據。 例如,您可以將二進位映像儲存在 SQL 資料庫中,但將二進位影像儲存在特別用於處理二進位數據的記憶體服務中會更有成本效益。

  • 從基礎結構即服務 (IaaS) 移至平臺即服務 (PaaS) :IaaS 資料庫解決方案可以是耗時且耗用大量資源的屬性,可讓技術小組注意到核心工作。 數據量成長,以及手動調整、備份和基礎結構維護的挑戰,可讓 PaaS 解決方案更具成本效益且更有效率。

  • 新增快取:若要減少主資料庫伺服器上的資源使用量,請考慮使用快取解決方案來快取複雜的查詢結果。 將資料庫伺服器重設大小有助於將成本優化。 在適用的使用案例中,請考慮搭配快取數據使用存留時間 (TTL) ,以減少記憶體需求並降低成本。

  • 查詢優化與數據記憶體存放區:查詢優化的存放區是專為快速擷取和分析而設計。 它們著重於快速數據擷取和讀取,但不會經常更新。 它們非常適合時間序列數據和快速存取最近數據,但不適用於繁重的交易式工作。

    數據儲存區會處理大量的彈性數據,特別是非結構化或半結構化數據。 雖然數據記憶體存放區可以支援分析,但複雜的工作可能需要特殊化資料庫。 在 NoSQL 使用案例中,它們最適合用來儲存許多變數數據,例如記錄或使用者產生的內容。

Azure 指導

清查數據Microsoft Purview 是一系列的數據控管、風險和合規性解決方案,可協助您的組織控管、保護及管理整個數據資產。 Microsoft Purview 解決方案提供整合式涵蓋範圍,並協助解決遠端用戶連線的最新增加、整個組織的數據分散,以及傳統IT管理角色模糊的問題。

優化數據管理:Azure 記憶體和 Azure Data Lake Storage 有不同的數據存取層。 它們也提供 數據生命週期管理原則 ,可將數據階層處理和保留自動化。

您可以使用以規則為基礎的原則,將 Blob 資料轉換為適當的存取層,或在生命周期結束時過期數據。 此原則可讓您將 Blob 從非經常性存取 (或冷) 立即轉換為經常性存取,以優化效能。

優化備份Azure 備份 服務提供多項功能來簡化備份。 它透過磁碟快照集提供原生資料庫備份和記憶體備份等功能。 它支援虛擬機備份、長期保留和備份管理。

以下是一些服務的功能:

  • 監視:您可以使用備份中心作為單一窗格,以每天監視作業和備份清查。 備份中心提供備份報表的介面,其使用 Azure 監視器記錄和 Azure 活頁簿。

  • 報告:備份報告提供下列功能:

    • 配置和預測已取用的雲端記憶體。
    • 稽核備份和還原。
    • 識別各種數據粒度層級的重要趨勢。
    • 取得備份成本優化機會的可見度和深入解析。
  • 保留容量:當您認可保留一年或三年時,Azure 備份 儲存體保留容量可讓您折扣儲存在保存庫標準層的備份數據。 保留會在保留期間內提供固定數量的備份儲存體容量。

  • 封存層:您可以使用 Azure 備份 來儲存備份數據,包括長期保留 (LTR) 備份數據,視貴組織的合規性規則所定義的保留需求而定。 在大部分情況下,較舊的備份數據很少存取,而且只會針對合規性需求儲存。 除了快照集和標準層之外,Azure 備份 支援封存層中的 LTR 點備份。

優化記憶體解決方案:Azure 有許多記憶體解決方案。 它們提供各種特性和功能,可協助您根據特定需求將成本優化。 Azure 有指引可協助您 選擇正確的數據存放區

若要選擇最適合的記憶體解決方案和組態,請務必評估您的數據存取模式、保留需求和效能需求。 使用 Azure Advisor 之類的工具來定期監視和優化記憶體使用量,可協助您進一步優化成本。

成本優化檢查清單

請參閱一組完整的建議。