我正在考虑使用BDB XML,就像在内存应用程序数据存储中一样。它是具有定义记录和数据记录的XML数据,我提供了像数据访问请求的XPath。它运行良好,除了内存溢出问题,在某些情况下发生无法避免(因此,只是蚂蚁以避免mem溢出),并且仍需要数据进行进一步处理(因此,它无法获得输出流)。所以,我打算使用分隔或XMl文件将数据缓存到磁盘,也尝试BOOST序列化。那就是当我想到使用一些嵌入式数据库,它可以给我磁盘缓存(需要时),在磁盘缓存上加密(我仍然在某些情况下对磁盘进行一些加密的XML缓存,但它们与内存溢出事物无关) )。现在,我需要:
那么,我应该使用BDB XML吗?它是最突出的解决方案并提供C ++ API(我的应用程序是在平台无关的C ++中),它提供了用于访问的XPath 2.0(它需要),但我想逐个节点地构建和使用XML,并且主要是按节点逐个访问并且想要在没有明确的磁盘容器的情况下使用它,这需要在exec期间经常清除并在之后删除,但是需要它不使用比指定缓冲区更多的内存并在需要时使用磁盘。
答案 0 :(得分:0)
没有。查看Joel的"back to Basics"列。
从根本上说,BDB-XML是生成和使用XML的好方法,而XML又是交换数据的好方法。但XML不适合在内存中使用,因此BDB-XML甚至不应该考虑。