可靠性的最佳實踐

本文介紹的最佳實踐可靠性組織架構原則在下麵幾節中列出。

1。設計為失敗

使用三角洲湖

三角洲湖是一個開源的數據存儲格式,將可靠性湖泊。三角洲湖提供ACID事務模式執行,可擴展的元數據處理,結合流媒體和批量數據處理。湖三角洲湖上運行你的現有數據,與Apache火花api完全兼容。三角洲湖磚允許您配置的三角洲湖上基於工作負載模式。看到三角洲湖是什麼?

使用Apache火花或光子分布式計算

Apache火花,磚Lakehouse的計算引擎,基於彈性分布式數據處理。內部引發的任務不返回結果不出所料,Apache火花將會自動地安排失蹤的任務和繼續執行整個工作。這是有利於故障代碼外,像一個短的網絡問題或撤銷VM。使用SQL API和火花DataFrame API提供了這種韌性內置引擎。

磚Lakehouse,光子本機矢量化引擎完全用c++寫的,是高性能計算與Apache火花api兼容。

自動救援無效的或不相容的數據

無效的或不相容的數據可能會導致崩潰的工作負載,依賴一個確定的數據格式。增加端到端的整個過程的彈性,最佳實踐是在攝入過濾無效和不相容的數據。支持拯救數據確保你永遠不會失去或錯過在攝取或ETL數據。獲救的數據列不包含任何數據解析,要麼從給定的模式,因為它不見了,因為有一個類型不匹配,或列套管的記錄或文件不匹配的模式。

  • 磚自動加載程序:自動加載程序是最理想的工具流媒體文件的攝入。它支持獲救的數據JSON和CSV。例如,對於JSON,獲救的數據列不包含任何數據解析,從給定的模式,可能因為它是缺失的,因為有一個類型不匹配,或者因為列的套管不匹配。獲救的數據列是自動加載器返回的模式的一部分_rescued_data默認情況下,當模式被推斷出來的。

  • 三角洲生活表:構建工作流韌性的另一個選項是使用三角洲生活表與質量約束。看到管理數據質量與達美住表。開箱即用的δ生活表支持三種模式:無效的記錄保留,下降,失敗。檢疫發現無效的記錄,期望規則可以定義在一個特定的方式,這樣無效的記錄存儲在另一個表(“隔離”)。看到檢疫無效數據

配置自動重試和終止工作

分布式係統是複雜的,一個失敗可能會波及整個係統。

  • 磚的工作的支持自動重試策略決定什麼時候,多少次失敗運行是重試。

  • 三角洲生活表也自動故障恢複使用升級重試平衡速度與可靠性。看到開發和生產模式

另一方麵,一個任務掛可以阻止整個工作完成,從而導致高成本。磚的工作支持超時配置的終止工作比預期要長。

使用一個可伸縮的生產級模型和基礎設施服務

對於批處理和流媒體推斷,使用磚工作和MLflow部署模型作為Apache火花udf利用作業調度,重試,自動定量等等。看到離線預測

模型服務生產級模型提供了一個可伸縮的和實時的服務基礎設施。處理你的機器學習模型使用MLflow和暴露REST API端點。這個功能使用serverless計算,這意味著相關的端點和磚雲計算資源管理和運行的帳戶。

盡可能使用托管服務

磚Lakehouse平台的利用管理服務Beplay体育安卓版本Serverless計算,模型服務,或三角洲生活表在可能的情況下。這些服務由客戶——沒有額外的努力——由磚可靠和可伸縮的方式,使工作更可靠。

2。數據質量管理

使用分層存儲架構

牧師數據通過創建一個分層架構,確保數據質量的增加,因為數據通過移動層。一個共同的分層方法是:

  • 原始層(青銅):源數據被吸收進入lakehouse進入第一層,應該堅持。當創建所有下遊數據從原始層,重建的後續層這一層是可能的。

  • 策劃層(銀):第二層的目的是保持潔淨,精製、過濾和聚合數據。這一層的目標是提供一個良好的、可靠的基礎分析和報告所有的角色和功能。

  • 最後一層(金):第三層創建業務或項目需求。它提供了一個不同的觀點作為數據產品到其他業務單位或項目,準備數據安全需求(如匿名數據)或優化性能(如preaggregated視圖)。在這一層的數據產品業務被視為真理。

最後一層應該隻包含高質量的數據,可以完全信任從商業的觀點。

提高數據的完整性,減少數據冗餘

複製或複製數據創建數據冗餘和將導致失去誠信,失去了數據沿襲,往往不同的訪問權限。這樣可以減少lakehouse中的數據的質量。暫時的或一次性的副本數據不是有害的,提高敏捷性,有時是必要的實驗和創新。然而,如果這些副本開始運作,經常用於商業決策,他們成為數據倉庫。這些數據豎井的同步對數據完整性和質量有很大的負麵影響,提高問題如“主數據集是哪家?”或“數據集更新嗎?”。

積極管理模式

不受控製的模式變化會導致無效的數據和使用這些數據集的失敗的工作。磚有幾個方法來驗證和實施模式:

  • 三角洲湖支持模式驗證和執行通過自動處理模式的變化,防止不良記錄的插入在攝入。

  • 自動加載程序檢測過程數據添加新列。默認情況下,添加一個新列讓你流停止了UnknownFieldException。自動加載程序支持多種模式模式演化

使用約束和數據的預期

三角洲表支持標準的SQL約束管理條款,確保質量和完整性的數據添加到表中會自動驗證。當違反條件,δ拋出一個湖InvariantViolationException誤差信號,新數據不能被添加。看到約束磚

進一步改進此處理,三角洲生活表支持的期望:期望定義數據質量約束在一個數據集的內容。一個期望由一個描述,一個不變的,一個動作記錄失敗時不變的。預期使用Python修飾符或SQL的查詢約束條款。看到管理數據質量與達美住表

以數據為中心的機器學習方法

工程特點、培訓、推理和監測管道數據管道。他們需要其他生產數據工程過程一樣健壯。在任何毫升應用程序數據質量是至關重要的,所以毫升數據管道應該采用係統的方法來監測和緩解數據質量問題。避免工具,使它從毫升挑戰加入數據預測,模型監測,等等,與其他數據。實現這一點的最簡單的方法是開發毫升應用程序在相同的平台上用於管理生產數據。Beplay体育安卓版本例如,而不是訓練數據下載到筆記本電腦,很難控製和繁殖的結果,安全雲存儲中的數據和存儲可用於您的訓練過程。

3所示。設計自動定量

啟用批處理工作負載的自動定量

自動定量允許根據工作負載集群自動調整。自動定量可以受益許多用例和場景從成本和性能的角度看問題。文檔提供了考慮決定是否使用自動定量和如何獲得最大的效益。

對於流媒體工作負載,磚建議使用三角洲生活具有自動定量的表。看到使用自動定量來提高效率和減少資源的使用

啟用自動定量SQL倉庫

SQL倉庫集的尺度參數的最小和最大數量的集群分布查詢發送到倉庫。默認是一個最小的和一個最大的集群。

處理更多的並發用戶對於一個給定的倉庫,提高集群數量。學習如何磚補充說從一個倉庫和刪除集群,集群排隊和自動定量

使用三角洲住表增強的自動定量

磚增強自動定量集群資源通過自動分配優化集群利用基於工作負載體積,以最小的對管道的數據處理延遲的影響。

4所示。測試恢複過程

創建定期備份

從失敗中恢複過來,需要定期備份可用。磚實驗室項目遷移允許工作空間管理員創建備份通過出口的大部分資產的工作區(該工具在後台使用磚/ CLI API)。看到磚遷移工具。備份可以恢複工作區或用於進口在遷移到一個新的工作空間。

從結構化流查詢故障中恢複

結構化流為流媒體查詢提供了容錯和數據一致性。使用磚工作流,您可以很容易地配置您的結構化流查詢自動重新啟動失敗。重新啟動查詢繼續失敗的人。看到的地方從結構化流查詢故障中恢複

基於三角洲ETL作業時間旅行中恢複過來

盡管徹底測試,在生產工作可能失敗或產生一些意想不到的,甚至是無效的,數據。有時這可以固定一個額外的工作理解的來源問題和修複管道,導致問題放在第一位。然而,通常這不是簡單的,各自的工作應該回滾。使用增量時間旅行允許用戶輕鬆地回滾更改一個舊版本或時間戳、固定管道修複管道,並重新啟動。看到三角洲湖時間旅行是什麼?

這樣做是一個方便的方法恢複命令。

使用磚工作流和內置的複蘇

磚工作流構建的複蘇。當一個任務在一個多任務工作失敗(,因此,所有相關的任務),磚工作流的運行提供一個矩陣視圖,它可以讓你檢查的問題導致了失敗。看到查看運行工作。是否短數據網絡問題或一個真正的問題,你可以修複它,開始修複在磚工作流的運行。它隻有失敗和運行相關的任務和保持成功的早些時候運行的結果,節省時間和金錢。

配置一個災難恢複模式

明確災難恢複模式等進行數據分析平台數據磚是至關重要的。Beplay体育安卓版本對一些公司來說,這是至關重要的,你的團隊可以使用磚平台數據即使在罕見的情況下區域service-wide雲服務提供者中斷,是否引起的地區災難像颶風或地震或另Beplay体育安卓版本一個來源。

磚通常是一個生態係統整體數據的核心部分,包括許多服務,包括上遊數據攝入服務(批/流),原生雲存儲,下遊的工具和服務,如商業智能應用程序,和編製工具。你的一些用例可能特別敏感地區service-wide停機。

災難恢複是一套策略、工具和程序,使重要的技術基礎設施和係統的恢複或延續自然或人為災難。大型雲服務,如Azure, AWS GCP提供許多客戶和內置的防範或一個失敗。beplay体育app下载地址例如,區域是一組建築物連接到不同的電源保證單個功率損耗不會關閉。然而,雲地區的失敗可能發生,破壞的程度及其對組織的影響也各不相同。看到災難恢複

災難恢複策略的核心部分是選擇一個策略(主動/主動或主動/被動),選擇正確的工具集和測試故障轉移恢複

5。自動化部署和工作負載

卓越運營的文章,看看卓越運營——自動化部署和工作負載

6。設置監控、報警和日誌記錄

卓越運營的最佳實踐,明白了卓越運營——設置監控、報警和日誌記錄