I need a way to store large-numbers of variously sized XML data in a simple key/value store. So far I have tried two simple approaches:
- RAM: Store everything in a ConcurrentDictionary instance
- Problem: limited resources at project launch, a single server with 8GBs of RAM!
- Note: Windows AppFabric could be a solution here in the future if we get more capable servers.
- HDD: Store every value in its own file on the hard disk, with keys mapping to paths
- Problem: latency
- Question: how much of a difference could using an SSD make in the most optimistic scenario here?
Is there a ready-to-use database solution that could provide the middle-way, providing very fast read-access times while utilizing the HDD?
Write-access is only necessary for maintenance so any solution that specializes in least latency for read-only scenarios would work best. The data server should be communicable using WCF.