[hibernate-dev] hibernate/jpa for non-relational databases

Tomasz Chodakowski chodakowski at wp.eu
Sun Oct 11 10:38:52 EDT 2009


  I would like to get your opinion on providing Hibernate-backed JPA 
implementation for non-relational storage.

   Given rising popularity and variety of key-value stores and the fact 
that often they provide subset of functionality found in relational 
databases, it might make sense (especially for web-scale companies that 
most likely will be using number of storage technologies) to leverage 
Hibernate model for key-value stores. Perhaps only a subset of features 
and subset of the querying capabilities.

    As relations between entities in key-value stores are done on client 
side, the possible implementation could include some form of relational 
engine (similar to what Carbonado[1] and Oracle's DPL[2] do for 
BerkeleyDB) to provide (partial) support for query language. Providing 
caching, entity lifecycle management, validation and even transactions 
should be rather easy as those are orthogonal concerns.

  WDYT? Do you see Hibernate/JPA catering for scenarios that leverage 
key-value stores? Do you see any major impediments either in Hibernate 
implementation or JPA philosophy that would make such extension not 
worth the effort?


ps: sample project along similar lines of thinking: 

[1] http://carbonado.sourceforge.net/
[2] http://www.oracle.com/database/berkeley-db/je/index.html

More information about the hibernate-dev mailing list