2015-07-19 161 views
2

我使用Spring批處理來處理大量數據(150 GB)以生成60 GB的輸出文件。我正在使用垂直縮放方法和15個線程(步驟分區方法)。Spring批處理 - 使用內存數據庫處理大文件

作業執行詳細信息存儲在內存數據庫中。 CPU利用率更多的是因爲它運行在單臺機器上,文件大小很大。但服務器具有像32核心處理器一樣的良好配置,並且我正在使用10 GB內存進行此過程。

我的問題是,如果我把它移動到單獨的數據庫它會減少一些CPU利用率?另外,使用內存數據庫進行生產是一個糟糕的選擇/決策?

問候, 桑卡

回答

0

當你在談論從內存移動分貝單獨的數據庫,你只是在談論的批生產運行表(job_instance,job_execution,step_execution,...),右?

如果是這樣,我不會指望CPU使用率會下降很多。根據您的塊大小,數據處理需要更多的CPU使用量,而不是更新批處理運行時表。

如果使用內存數據庫進行生產是一個很好的決定與否,取決於您的需求。需要考慮的兩點:

  • 您丟失了寫入批處理運行時表的任何信息。這可能對調試會話很有幫助,或者只是有一種歷史記錄。但是你也可以在日誌文件中「堅持」這些信息。
  • 您將無法執行可重新啓動的作業。如果你的工作需要數小時才能完成,這可能是一個問題。但對於工作而言,只能從文件讀取,寫入文件,並在幾分鐘內完成,這不是一個真正的問題。
+0

謝謝..我明白了。 – Shankar