将每个数据库放在自己的环境中是否有任何好处?

时间:2017-01-02 19:21:07

标签: berkeley-db-je

为每个数据库创建单独的环境有什么好处吗?我认为环境中的所有数据库都存储在同一个日志文件链中,位于一个目录中。我想知道使用单独的环境是否会加速清洁等等。

感谢

1 个答案:

答案 0 :(得分:1)

存储在不同环境中的数据库往往具有更好的数据位置。这可以导致更快的I / O(读取和写入),因为更高的位置速率意味着更好的文件系统缓存。垃圾收集器(清理器)也可以更快地工作,因为对于每个环境,它应该移动更少的数据(更本地)并且它需要更少的查找。如果单独的环境位于不同的物理存储设备(HDD,SSD)上,这些优势可能会更加明显。

然而,有一些缺点。首先,JE缓存的效率会降低。其次,您无法在单个事务中读取/更新数据库。

因此,在不同环境中存储数据库的典型案例是:

  1. 对于存储在不同数据库中的数据的一致性没有特定要求,即可以在不同环境的几个交易中或多或少地连续读取/更新。
  2. 所有环境中的整个数据都不适合内存,因此数据库操作需要一些I / O.
  3. 单独的环境可以位于不同的存储设备上。