"conveyor belt" cache architecture
- by Andrew Matthews
I'm producing an application with a few peculiar internal communication characteristics that make the usual suspects for data storage and transport (Qs and RDBMSs) ill-fitted. I'm wondering whether there is a product out there that matches the following characteristics:
all data put into it is peristent
all reads are delivered out of memory
data is universally available
data lives where it is most needed
data is versioned (nice to have)
updates are transactional (I'd like ACID characteristics)
data is potentially replicated, but always in sync
works on windows
is based on or has bindings for .NET
is really fast
is really robust
is redundant
is scalable
I'm looking at things like Microsoft codename "Velocity", but I am not sure whether it fits all of the above characteristics. Likewise, Memcached is not a perfect fit either. The current version of this app opts for an RDBMS with a signaling system for inter-system sync, but latency is too high and versioning of the DB is a pain. I need all the robustness, but with none of the trade-offs.