Spring Batch 基本的批處理指導原則
下面是一些關鍵的指導原則,可以在構批量處理解決方案可以參考:
- 請記住,通常皮臉處理體系結構將會影響線上應用的體系結構,同時反過來也是一樣的。在你為批量任務和線上應用進行設計架構和環境的時候請儘可能的使用公共的模組。
- 越簡單越好,儘量在一個單獨的批量應用中構建簡單的批量處理,並避免複雜的邏輯結構。
- 儘量的保持儲存的資料和程式儲存在同一個地方(換句話說就是儘量將資料儲存到你程式執行的地方)。
- 最小化系統資源的使用,尤其針對 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
相關文章
- SpringBatch基本的批處理指導原則SpringBAT
- Spring Boot 之 Spring Batch 批處理實踐Spring BootBAT
- 《Spring Batch 權威指南》之“批處理和 Spring”SpringBAT
- 一文輕鬆搞定批處理框架 Spring Batch框架SpringBAT
- 配置 Spring Batch 批處理失敗重試機制SpringBAT
- Dynamics 365 Web API 批處理(batch requests)WebAPIBAT
- Spring Batch + JPA 處理 Excel 檔案教程SpringBATExcel
- Java後端開發中的任務排程:使用Spring Batch實現批處理Java後端SpringBAT
- 使用Kafka分割槽擴充套件Spring Batch大資料排程批處理 – ArnoldKafka套件SpringBAT大資料
- 物件導向的基本設計原則物件
- 資料共享-spring batch(9)上下文處理SpringBAT
- Spring Boot整合Spring Cloud Task實現批處理操作Spring BootCloud
- 軟體開發中的10條最佳指導原則
- Spring MVC框架處理Web請求的基本流程SpringMVC框架Web
- sqlldr標準輸出未處理導致批處理掛起問題SQL
- hillstone現場故障處理指導手冊
- 簡單介紹Python 處理錯誤的原則Python
- 批處理概述
- 定義和基本導數規則(斜率截距,指數,對數)
- Apache Beam,批處理和流式處理的融合!Apache
- Spring中實現面向寫入的批次和批處理APISpringAPI
- 設計和架構:業務開發指導原則架構
- 物件導向基本原則物件
- flink batch dataset 的基本操作BAT
- 陪你解讀Spring Batch(一)Spring Batch介紹SpringBAT
- SOLID 原則:軟體設計的基本原則Solid
- java當中的批處理Java
- JDBC當中的批處理JDBC
- 用vue優雅地編寫UI元件的幾條指導原則VueUI元件
- 引導分析原則
- Spring Boot整合Spring BatchSpring BootBAT
- 陪你解讀Spring Batch(二)帶你入手Spring BatchSpringBAT
- Spring Batch中透過多執行緒和非同步處理提高效能SpringBAT執行緒非同步
- 物件導向設計的六大原則(SOLID原則)-——里氏替換原則物件Solid
- 開閉原則——物件導向程式設計原則物件程式設計
- 什麼是批處理
- Dynamics CRM 2013 批處理
- bat 批處理字串操作BAT字串