4:数据和处理程序要尽可能靠近
为什么要使这二者尽可能的靠近?其实数据存放在哪里,离处理程序有多远并不会产生什么问题。但是一旦当我们需要使用数据的时候,每次都通过网络获取数据成本显得过高。所以需要将处理程序和数据尽可能的靠近,以减少或避免数据来回相传输的开销。
使它们靠近的方法无非就是那么两种:要么让数据靠近处理程序(通过在处理程序附近缓存数据——中间件技术);要么让处理程序靠近数据(在数据附近进行处理——存储过程实现)。
至于使用哪种方式或者两者结合,来减少数据传输开销则需要视情况而定。例如,有时候数据不能到达处理程序的时候,就需要将处理程序靠近数据库(具体实现表现为:使用SQL语言的所有功能,包括聚集函数、存储过程)。这种方法与“将相关逻辑放在会话bean中”形成了对比,并且这种方式严重依赖于数据库提供商,当对于不同产品数据库的可移植性格外在乎时,这将是非常麻烦的一件工作。无论如何将二者尽可能的绑定在一起,都会是处理时必要产生的通信最小化,也能避免跨越网络移动数据的开销。