SpringBatch基本的批處理指導原則
下面是一些關鍵的指導原則,可以在構批量處理解決方案可以參考:
- 請記住,通常皮臉處理體系結構將會影響線上應用的體系結構,同時反過來也是一樣的。在你為批量任務和線上應用進行設計架構和環境的時候請儘可能的使用公共的模組。
- 越簡單越好,儘量在一個單獨的批量應用中構建簡單的批量處理,並避免複雜的邏輯結構。
- 儘量的保持儲存的資料和程式儲存在同一個地方(換句話說就是儘量將資料儲存到你程式執行的地方)。
- 最小化系統資源的使用,尤其針對 I/O。儘量在記憶體中執行儘可能多的操作。
- 檢查應用的 I/O(分析 SQL 語句)來避免不必要的的物理 I/O 使用。特別是以下四個常見的缺陷(flaws)需要避免:
- 在資料可以只讀一次就可以快取起來的情況下,針對每一個事務都來讀取資料
- 多次讀取/查詢同一事務中已經讀取過的資料
- 產生不必要的表格或者索引掃描
- 在 SQL 查詢中不指定 WHERE 查詢的值。
- 在批量執行的時候不要將一件事重複 2 次。例如,如果你需要針對你需要報表的資料彙總,請在處理每一條記錄時使用增量來儲存,儘可能不要再去遍歷一次同樣的資料。
- 為批量程式在開始的時候就分配足夠的記憶體,以避免在執行的時候再次分配記憶體。
- 總是將資料完整性假定為最壞情況。對資料進行適當的檢查和資料校驗以保持資料完整性(integrity)。
- 可能的話,請實現內部校驗(checksums )。例如,針對文字檔案,應該有一條結尾記錄,這個記錄將會說明檔案中的總記錄數和關鍵欄位的集合(aggregate)。
- 儘可能早地在模擬生產環境下使用真實的資料量,以便於進行計劃和執行壓力測試。
- 在大資料量的批量中,資料備份可能會非常複雜和充滿挑戰,尤其是你的系統要求不間斷(24 – 7)執行的系統。資料庫備份通常在設計時就考慮好了,但是檔案備份也應該提升到同樣的重要程度。如果系統依賴於文字檔案,檔案備份程式不僅要正確設定和形成文件,還要定期進行測試。
https://www.cwiki.us/display/SpringBatchZH/General+Batch+Principles+and+Guidelines
相關文章
- Spring Batch 基本的批處理指導原則SpringBAT
- SpringBatch批量處理策略SpringBAT
- 物件導向的基本設計原則物件
- 軟體開發中的10條最佳指導原則
- sqlldr標準輸出未處理導致批處理掛起問題SQL
- hillstone現場故障處理指導手冊
- 簡單介紹Python 處理錯誤的原則Python
- 批處理概述
- 定義和基本導數規則(斜率截距,指數,對數)
- Apache Beam,批處理和流式處理的融合!Apache
- 設計和架構:業務開發指導原則架構
- 物件導向基本原則物件
- SOLID 原則:軟體設計的基本原則Solid
- java當中的批處理Java
- JDBC當中的批處理JDBC
- 用vue優雅地編寫UI元件的幾條指導原則VueUI元件
- 引導分析原則
- 物件導向設計的六大原則(SOLID原則)-——里氏替換原則物件Solid
- 開閉原則——物件導向程式設計原則物件程式設計
- 什麼是批處理
- Dynamics CRM 2013 批處理
- bat 批處理字串操作BAT字串
- window 批處理檔案
- 物件導向程式設計的基本原則物件程式設計
- 物件導向OO原則物件
- 設計微服務架構前應該瞭解的 5 項指導原則微服務架構
- 不止於物件導向的SOLID原則物件Solid
- 大資料處理的基本流程大資料
- 簡單實現批處理
- Python批處理:檔案操作Python
- MPP架構和批處理架構
- bat批處理常用指令碼BAT指令碼
- 批處理命令之tree命令
- 物件導向設計原則物件
- 依賴倒置原則的基本用法和介紹
- 質量管理三不原則的基本做法
- Windows批處理中的變數和值Windows變數
- 物件導向的六大原則物件