I have a general question about large in-memory objects and distributed computing.
I have a large object like Class.Object that stores a lot of data like upwards of 200,000 objects and counting. As it is right now is a simple object created and running in memory and the clients call the data in it. Because speed is also important, I’m serializing this monster into the desk like C# BinaryFormatter and loading and running them. This is a WCF project so the object stays in the memory. My question is how should I scale this across multiple server kind of like distributed computing. Is there a tool in C# like “database sharding” or something like that. Is there a database that I can save this information to. This object isn’t just like a simple database table. It has references up and down the classes. Everything is being referenced. There are hashtables etc. Google seems to do this kind of monster indexes using “shards” and splitting the data across different servers. Is there a tool and mechanism to do this in .NET. What is the approach here? I’m using Windows Server AppFabric to save it in memory and load it, but it seems like I need to split this monster object into pieces?
Any pointers and help is appreciated.
Never listened personally about some already ready to run db sharding solutions in .NET. Would be interesting to read from other posts on this question.
But for general knowledge and may be also pretty useful link can be this one:
CodeProject destributed computing with Silverlight
Excelent article, by me.
Good luck.