Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Beginning Cassandra -- Use Kundera? Something else? [closed]

We are in the process of getting our feet wet with Cassandra. None of us have any experience with this particular platform, but are experienced developers with JavaEE, JPA, etc. I came across the Kundera library that provides a JPA implementation compatible with several NoSQL datastores, including Cassandra.

It's tempting to go down this route, as we will be able to get up and running MUCH faster. However, is it the right idea? What are the tradeoffs of using a library like this? How does it affect performance? Is there a huge difference?

I'm curious to know what experiences others have had using this library. And, if there is something else we should look at instead I'd love to hear about it.

like image 897
Shadowman Avatar asked May 01 '13 15:05

Shadowman


1 Answers

Taking Jonathan's (jbellis) to the next level, IMHO, the purpose of ORMs like hibernate or JPA specs is to hide the complexities of SQL since Application developers deal best in objects and not SQL. Similarly, kundera hides the complexities of NoSQL but in an intelligent way that allows it to use the power of NoSQL but still make it easy for developers to use the traditional RDBMS paradigm. However, as Jonathan mentions, you should still understand Cassandra data modeling concepts, otherwise, you will end up creating another SQL like monster even over Cassandra. Kundera does help in this NoSQL modeling by using optimization techniques such as Embedded or One-to-Many relationships automatically converted into multiple Columns rather than creating new Columnfamilies (RDBMS tables equivalents) thus circumventing creating a physical relational model. "A tool is only as good as the skills of the craftsman/woman using it!"

like image 187
indoos Avatar answered Oct 14 '22 16:10

indoos