• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

Transactional Non-Replicated Database Cache

 
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,

I am looking for a transactional, non replicated, (possibly open source) database cache.

My App <--> Cache <--> Database Driver

The intent is that my application will be TOTALLY ignorant of the transactional cache. I will just bind it with the right name in the JNDI explorer, and connect the cache to the database. What open source cache implementations are there out there ?

Again, i am NOT looking for an Object cache like JBossCache or JCache. Any help is appreciated :-)

Dushy
 
Ranch Hand
Posts: 1143
1
Eclipse IDE Oracle Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dushy,
Do you mean somethig like this:

http://www.opensymphony.com/

Good Luck,
Avi.
 
Dushy Inguva
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Avi,

Thanks for the reply. I don't think OSCache (the cache product of opensymphony.com) is quite what I'm looking for.

What I am looking for is kind of like an in memory database which does transactions, some basic caching and ultimately stores the updates to the database. I'm already running on DB2 and am looking for a cache to front my database. I am running on a mainframe with few users so I seriously doubt i will be doing clustering.

Here is an example of what I have in mind.
1. User 1 executes a "SELECT NAME FROM USERTABLE WHERE ID = 1234"
2. The database driver the application is using is actually a proxy to the actual driver. This driver has a cache defined. Since this is the first time the application has executed this statement, the cache queries the database. The cache system caches result and since I guarantee that the database will NOT be updated outside the scope of the cache, it should be fine.
3. User 2 executes a "SELECT NAME FROM USERTABLE WHERE ID = 1234"
4. Since no one updated the USERTABLE, the cache does NOT hit the database, but returns a result from the cache.
5. User 2 performs an update on the user table with the id 1234, and commits
6. Since the table has been updated, the cache system either (depending on how smart it is) evicts the result of the select operation, or updates it's state in memory and avoids another select hit to the database
7. User 1 invokes "SELECT NAME FROM USERTABLE WHERE ID = 1234", the cache returns the correct result.
8. And yes, the cache should have basic caching features like max size, a couple of choices of algorithms like LRU or FIFO to manage the lifecycle of the cached data.

I think there are open source products like this, I'm not searching hard enough !!!
 
Ranch Hand
Posts: 1879
MySQL Database Suse
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
what about hypersonicsql database?
 
Dushy Inguva
Ranch Hand
Posts: 264
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jamie,

You are right the hypersonic database does support in memory mode of operation. But I am looking for a generic in memory cache to front my already existing database (DB2 v7.0 on a mainframe)
 
Hey, I'm supposed to be the guide! Wait up! No fair! You have the tiny ad!
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic