構建高效的企業級Java應用系列(一)架構篇——4
4:數據和處理程序要盡可能靠近為什么要使這二者盡可能的靠近?其實數據存放在哪里,離處理程序有多遠并不會產生什么問題。但是一旦當我們需要使用數據的時候,每次都通過網絡獲取數據成本顯得過高。所以需要將處理程序和數據盡可能的靠近,以減少或避免數據來回相傳輸的開銷。
使它們靠近的方法無非就是那么兩種:要么讓數據靠近處理程序(通過在處理程序附近緩存數據——中間件技術);要么讓處理程序靠近數據(在數據附近進行處理——存儲過程實現)。
至于使用哪種方式或者兩者結合,來減少數據傳輸開銷則需要視情況而定。例如,有時候數據不能到達處理程序的時候,就需要將處理程序靠近數據庫(具體實現表現為:使用SQL語言的所有功能,包括聚集函數、存儲過程)。這種方法與“將相關邏輯放在會話bean中”形成了對比,并且這種方式嚴重依賴于數據庫提供商,當對于不同產品數據庫的可移植性格外在乎時,這將是非常麻煩的一件工作。無論如何將二者盡可能的綁定在一起,都會是處理時必要產生的通信最小化,也能避免跨越網絡移動數據的開銷。