views:

86

answers:

2

What is the best non-ORM database to work with Scala? I find this link link text, but this does not answer my question fully.

Could be considered desirable features performance, scalability and facility to write complex structures of relationships between data.

Thanks

+2  A: 

The best solution is probably not to worry about it...

Abstract away from the problem by using the pluggable-persistence support in Akka: http://doc.akkasource.org/persistence

Then you can try them all, and take your pick based on profiling results :)

Kevin Wright
+3  A: 

Do you mean non-relational? There are Scala client libraries/wrappers for many NoSQL databases, including Cassandra, MongoDB, Redis, Voldemort, CouchDB, etc.

If by "complex structures of relationships between data" you mean that you'd prefer not to have to normalize, any NoSQL database should do reasonably well.

However, note that none of them--to my knowledge--will do anything like enforcing a referential integrity constraint or dereferencing object navigation paths for you. For that you may want to consider a graph database or OODBMS; unfortunately I'm not aware of any that's open source, liberally licensed and clusterable.

Update: I just found OrientDB which actually meets all threetwo of these criteria.

Update 2: OrientDB's clustering support isn't released yet. As a wise man once said, two out of three ain't bad.

Alex Cruise