Forum: Building VoltDB Clients

Post: ORM - Django backend or Hibernate support

ORM - Django backend or Hibernate support
Adam
Oct 19, 2010
Hi,

Is there any support for ORM with VoltDB. I'm most interested in a Python Django ORM backend. Hiberate would also be interesting. Is there any project to do this? Is it even possible? Do you support SQL JOIN?

Thanks!
ORMs
jhugg
Oct 20, 2010
The good news is that, yes, we support SQL joins.

The bad news is that our stored-procedure-only interface makes running an ORM layer on top of VoltDB very difficult. Current systems like the Django ORM or Hibernate won't work.

It may be possible with some research to build an ORM that extracts transactional pattens from ORM logs and creates a covering set of procedures on the fly, but that sounds like a Ph.D. thesis waiting to happen. If anyone is interested, we'd love to help out. In the meantime, no ORMs.
Hibernate supports stored
jeacott
Jul 8, 2012
The good news is that, yes, we support SQL joins.

The bad news is that our stored-procedure-only interface makes running an ORM layer on top of VoltDB very difficult. Current systems like the Django ORM or Hibernate won't work.

It may be possible with some research to build an ORM that extracts transactional pattens from ORM logs and creates a covering set of procedures on the fly, but that sounds like a Ph.D. thesis waiting to happen. If anyone is interested, we'd love to help out. In the meantime, no ORMs.



Hibernate supports stored procedures - is there a deeper reason it wont work?
sorry if its a dopey question. total voltdb noob.
Hibernate may be able to
awilson
Jul 9, 2012
Hibernate supports stored procedures - is there a deeper reason it wont work?
sorry if its a dopey question. total voltdb noob.

Hibernate may be able to invoke the stored procedure through the VoltDB JDBC driver. We do not have a hibernate dialect. The HypersonicSQL dialect may work as we use the DB's SQL parser. We have not tested whether the HypersonicSQL dialect works though.
RE: ORM - Django backend or Hibernate support // django-roa
sylverboss
Nov 19, 2010
Hello,

I was also looking for a Django/Voltdb ORM and found this :
http://code.welldev.org/django-roa/wiki/Home

Looks like it might work with VoltDB's JSON interface but it's more oriented to work with a RESTful type interface.

SB
RE: django-roa
Adam
Nov 19, 2010
Hello,

I was also looking for a Django/Voltdb ORM and found this :
http://code.welldev.org/django-roa/wiki/Home

Looks like it might work with VoltDB's JSON interface but it's more oriented to work with a RESTful type interface.

SB


Thanks for showing me that. It looks really cool!

However, I think VoltDB's JSON interface can only execute stored procedures which is the main hurdle to adding ORM support. Ideally you would have a system that looks at the code for the models and generates all the Stored Procedures you would need to get the full Django ORM feature set. You could then use django-roa to access it all. It would take a lot of work to complete all that. Hopefully someone will fill in the gaps, because this could be really great.

Thanks!