将每个数据库放在自己的环境中是不是有任何优势?
Posted
技术标签:
【中文标题】将每个数据库放在自己的环境中是不是有任何优势?【英文标题】:Is there any advantage to putting each database in it's own environment?将每个数据库放在自己的环境中是否有任何优势? 【发布时间】:2017-01-02 19:21:07 【问题描述】:为每个数据库创建一个单独的环境有什么好处吗?我收集到环境中的所有数据库都存储在同一个日志文件链中,在一个目录中。我想知道使用单独的环境是否可以加快清理速度等等。
谢谢
【问题讨论】:
【参考方案1】:存储在不同环境中的数据库往往具有更好的数据局部性。这可以导致更快的 I/O(读取和写入),因为更高的局部性意味着更好的文件系统缓存。垃圾收集器(清理器)也可以更快地工作,因为对于每个环境,它应该移动更少的数据(更本地化)并且需要更少的查找。如果不同的环境位于不同的物理存储设备(HDD、SSD)上,这些优势可能会更加明显。
不过,也有一些缺点。首先,JE 缓存效率会降低。其次,您将无法在单个事务中读取/更新数据库。
因此,将数据库存储在不同环境中的典型情况是:
-
对存储在不同数据库中的数据的一致性没有具体要求,即可以在不同环境中的多个事务中或多或少地连续读取/更新数据。
所有环境中的整个数据都不适合内存,因此数据库操作需要一些 I/O。
不同的环境可以位于不同的存储设备上。
【讨论】:
以上是关于将每个数据库放在自己的环境中是不是有任何优势?的主要内容,如果未能解决你的问题,请参考以下文章
成功者不是先有钱,而是先有胆——激励一下自己(比起微软初期,以及QQ的初期,我的条件要好太多了),我的四大优势+环境优势