Avatar
0
Hihi Teacher
Hihi Teacher
Hỏi về Spring Batch
Xin chào mọi người, thời gian gần đây em có tìm hiểu về Spring Batch.Em có vài câu hỏi muốn hỏi là:
  1. Điểm mạnh và nổi bật nhất của Spring Batch có phải là chỉ để tối ưu hiệu năng khi  import 1 số lượng cực lớn data của  1 resource (file,...) vào đích (DB,...) không ạ? Ngoài ra thì người ra dùng Batch Processing để làm những gì nữa ạ?
  2. Mong anh Dũng và mọi người cho em xin lộ trình các kiến thức cần học khi tìm hiểu sâu về Spring Batch với ạ.Em đã có biết cơ bản về Job, Step, Processer, Writer, Reader.

Em cám ơn rất nhiều!

  • Answer
spring batch
Remain: 5
3 Answers
Avatar
tvd12 Teacher
tvd12 Teacher
  1. Spring Batch không liên quan gì đến hiệu năng em ạ. Nó chỉ đơn giản là 1 thư viện hỗ trợ việc lập lịch và xây dựng các chuỗi hành động khi đến thời điểm mà batch chạy mà thôi.
  2. Các thành phần cơ bản của spring batch cũng chỉ có vậy, em nắm chắc là được em ạ.
  • 0
  • Reply
Dạ em cám ơn anh đã trả lời em ạ.

Nhưng em có một thắc mắc muốn hỏi anh là các chức năng của Spring Batch thì theo em thấy thì Spring Boot cũng có thể làm được.Nên em nghĩ chắc vì 1 lí do nào đó cao siêu ( ban đầu em nghĩ là xử lí theo batch thì sẽ tối ưu hiệu năng hơn) thì Spring Batch mới xuất hiện.Nhưng theo anh nói việc sử dụng Spring Batch ko giúp việc tối ưu hiệu năng vậy anh cho em hỏi là tại sao người ta lại ra đời Spring Batch vậy anh trong khi Spring Boot cũng có thể làm được ạ?

 –  Hihi 1639125844000
Cái này anh cũng không rõ em ạ. Anh thấy nó cấu hình tiện hơn đó, kiểu chạy cái này xong đến cái này, tái sử dụng đc 1 ít cấu hình, nhưng anh cũng chẳng dùng bao giờ.  –  dungtv 1639542061000
Avatar
Em hiểu thế nào là batch ?
  • 0
  • Reply
Dạ theo hiểu là Batch Processing là xử lý theo mẻ, tức là mỗi lần connect database ta sẽ insert, update, delete một nhóm bản ghi. Việc xử lý theo mẻ như vậy giúp ta tiết kiệm thời gian (tăng hiệu năng) trong mỗi lần kết nối tới database.  –  Hihi 1639212667000
Avatar
dohai2105 Teacher
dohai2105 Teacher
Batch dùng khi lượng data phải di chuyển lớn ko thể kết thúc trong vài s như lướt web. Ví dụ ngân hàng hết mỗi ngày phải chạy batch để validate lại data của ngày hôm đó, các trang thương mại kiểu amazon hết ngày cũng phải chạy batch để tổng hợp báo cáo cho lãnh đạo. Batch rất quan trọng hầu như hệ thống lớn nào cũng có.

Spring batch là 1 library tích hợp với  spring nên nó sẽ có các chứng năng của spring plus theo các tính năng hỗ trợ batch. Ví dụ Spring batch có chunk em insert 1 triệu bản ghi em có thể set chunk là 100k thế cứ đọc 100k là vào db, sáng ra xem log thấy batch chết ở 700k thì chạy tiếp chỗ còn lại thui.

Master thì chạy test debug xem cách các Java champion viết thư viện :v. Đùa thui làm 1 2 lần là quen thui.

 

 

 

  • 0
  • Reply
Cám ơn anh đã chia sẽ ạ !  –  Hihi 1640161146000