Just getting my head around the possibilities with Infinity. Lots of interesting things going on, but I have yet to find if/where I can glue my DB access code into Infinity.
I gather it was not really the original idea with memcached (http://code.google.com/p/memcached/wiki/TutorialCachingStory), but here is my reasons for centralizing DB access code...
Our Potential Setup - as much as possible in cloud:
- NoSql or big DB (Amazon RDS or MySql cluster),
- Memcached servers e.g. Infinispan (fast scalable cache),
- Game servers (shards, fast, responsive, 1-to-many realtime communication); writes & reads cache
- Game clients (realtime, dynamic); Clients have read access to Memcached servers
- Other servers e.g. account system, web servers, community server; reads & some writes cache
Why centralize DB access code in above setup?
- well, I would sleep much better if I knew where to modify direct DB access code.
Why centralize DB access code in Infinispan servers?
- adding front end servers would be extra latency and extra administration
What I would love?
- that I could register a plugin to my infinispan servers that
A) would be completely hidden from clients e.g. no ekstra protocol stuf
B) would save cache updates to DB e.g. delayed (transactions would be nice),
C) would fetch data from DB when not in cache.
It might be that this already is on the roadmap or maybe partly implemented. I have just downloaded the trunk and cachestore seems to be relevant, but any one that can summarize a status for me and point me in the right direction?
I see it as a solution to modify Infinispan source code... at least after learning the many new terms and technologies in this domain.
Thanks in advance,
Edit: We dont expect to have the clients in a cloud
Title was edited by: Keld.Oelykke
How do you usually access your DB? Do you have any existing stuff that needs migrating? Infinispan can act as a layer between Hibernate and the underlying SQL database. Alternatively, if you are looking for a NoSQL solution, Infinispan's Map-like API is probably what you want, where you can specify any of a number fo cache stores we ship, which will persist stuff to disk.