C++ 是否应该在没有磁盘容器的情况下使用Berkeley DB XML?
我正在考虑使用BDBXML,作为内存中的应用程序数据存储。它是具有定义记录和数据记录的类似XML的数据,我为数据访问提供了类似XPath的quiring。它运行良好,除了内存溢出问题,在某些情况下会发生无法避免的问题(因此,只需使用ant来避免内存溢出),并且数据仍然需要进一步处理(因此,它还无法进入输出流)。所以,我打算使用分隔文件或XMl文件将数据缓存到磁盘上,并尝试推进序列化。那时我想到了使用一些嵌入式数据库,它可以给我磁盘上的缓存(当需要时),加密的磁盘上的缓存(在某些情况下,我仍然对磁盘进行加密的XML缓存,但它们与内存溢出无关)。现在,我需要:C++ 是否应该在没有磁盘容器的情况下使用Berkeley DB XML?,c++,memory-management,berkeley-db-xml,C++,Memory Management,Berkeley Db Xml,我正在考虑使用BDBXML,作为内存中的应用程序数据存储。它是具有定义记录和数据记录的类似XML的数据,我为数据访问提供了类似XPath的quiring。它运行良好,除了内存溢出问题,在某些情况下会发生无法避免的问题(因此,只需使用ant来避免内存溢出),并且数据仍然需要进一步处理(因此,它还无法进入输出流)。所以,我打算使用分隔文件或XMl文件将数据缓存到磁盘上,并尝试推进序列化。那时我想到了使用一些嵌入式数据库,它可以给我磁盘上的缓存(当需要时),加密的磁盘上的缓存(在某些情况下,我仍然对磁
- 无性能退化和可靠性
- 需要时(或数据集达到限制时)对内存中数据进行加密的磁盘缓存
- 按需加密磁盘缓存
- 数据访问的XPath兼容性(访问不需要知道数据是否在磁盘上的内存中)
- 不希望在磁盘上创建db容器(在BDBXML的情况下),因为在执行完成后不需要它,删除通常会产生一些代价
- 解决方案需要独立于平台