我目前正在研究一个需要使用千兆字节的科学数据集的项目。数据集的形式是非常大的数组(30,000个元素)的整数和浮点数。这里的问题是它们太大,太适合内存,所以我需要磁盘解决方案来存储和使用它们。为了使这个问题变得更加有趣,我仅限于使用32位体系结构(因为这是为了工作),我需要尝试最大限度地提高此解决方案的性能。在磁盘C++上存储科学数据集的最佳方法
到目前为止,我已经和HDF5一起工作了,但是我发现它工作起来有点复杂。所以,我认为下一个最好的尝试是尝试一个NoSQL数据库,但是我找不到将数组存储在数据库中的一种好方法,并且不会将它们转换为字符数组并将它们存储起来,这导致了很多糟糕的指针头痛。
所以,我想知道你们的建议。也许你在使用HDF5时不那么痛苦,同时最大限度地提高性能。或者,也许你知道一个适用于存储这种类型数据的NoSQL数据库。或者,也许我正朝着这个完全错误的方向前进,而你想对我产生一些感觉。
无论如何,我会很感激的智慧任何话,你们可以给我:)
30,000个元素可能没有(完全)适合Apple II的内存,但当然应该适合于任何现代和有能力的内存。 –
是的,你是正确的,但是数组对应于数据集中的一个元素,将会有数百万个这样的数组,所以它会更像30000 * 1,000,000,这将难以存储在内存中 – Andrewziac