I need to perform chronologically operations on huge time series implemented as IList. The data is ultimately stored in a database, but it would be pointless to send tens of millions of queries to the database.
Currently, ILIM in memory throws an OutOfMemory exception when trying to save more than 8 million (small) objects, although I will need to handle tens of millions.
After some research, it seems the best way to do this is to store the data on disk and access it through the IList wrapper.
Memory mapped files (introduced in .NET 4.0) seem like the right interface to use, but I'm wondering what is the best way to write a class that IList should implement (for easy access) and handle the memory mapped file internally.
I am also interested to hear if you know about other ways! I was thinking, for example, about the IList shell using data from db4o ( someone mentioned here using a memory mapped file as an IoAdapterFile, although perhaps using db4o adds performance cost and works directly with a memory mapped file).
I met this question in 2009, but it did not give useful answers or serious ideas.
Erwin mayer
source share