3

I am just evaluating some noSQL solutions for a current project. The different systems which caught my attention are currently

The last one is more on hold in my evaluation because they wrote

It is still a new system which has rough edges, bad error messages, and probably plenty of uncaught bugs. Let us know if you find one of these, so we can fix it.

and I am looking for a stable solution. The other thing is that I want a good Java support. For cloudDB, which is written in Erlang, there exist some client libraries and ektorp seems to be the best choice. The problem here is that it seems to me somehow, that ektorp is not so heavily used. If I look into the downloads section is has approx. 400 downloads. OK, most of the people will use it via maven dependency, but still the 400 astonished me. There is an old Stackoverflow question about couchDB Java Libraries, but this also recommends ektorp. Is the a better solution right now?

At the moment Cassandra seems for me the most stable and grown choice, but cloudDB feels so easy and neat, but it lacks somehow Java tools to access it or does it make sense to write an own client to access cloudDB?

Community
  • 1
  • 1
disco crazy
  • 31,313
  • 12
  • 80
  • 83
  • 1
    Your choice will depend on what performance and scalability you need, and what types to lookup/query you need to run - can you give any more detail? – DNA May 10 '11 at 21:03
  • The system will grow approx. by 0.5TB - 1TB of data per month. And on this data there is need to run queries. Because the data is document oriented and has not always every data available and is also flexible in the data attributes attached to the document, I would prefer a non-relational architecture. – disco crazy May 12 '11 at 16:11
  • Finally I went with Apache Cassandra in Combination with Apache Solr and Memcached. – disco crazy Dec 15 '11 at 16:41

3 Answers3

5

It would be good to include Membase Server (from Couchbase, Inc.) in your list. Our engineers wrote most of the memcached and CouchDB projects and have written the spymemcached client (Java client). We have quite a bit of experience with Java in particular.

Membase Server is on a path to be upgraded with a CouchDB storage layer which will provide much better indexing/querying via map reduce as well as the wonderful synchronization that CouchDB has.

You can find more information about the technical us of the product here: http://techzone.couchbase.com/wiki/display/membase/Home

And more information about the company: http://www.couchbase.com/

Perry Sr. Solutions Architect, Couchbase Inc.

Perry Krug
  • 114
  • 1
2

Any particular reason why MongoDB is not part of your list ? It is fairly stable with lot of great features & they have very good list of drivera.

Java driver.

http://www.mongodb.org/display/DOCS/Java+Language+Center

https://github.com/mongodb/mongo-java-driver/downloads

mailboat
  • 1,077
  • 9
  • 17
  • MongoDB is not on my list, because availability is important in the current project. I have done a little research and mongoDB seems not the best choice for this (see e.g. http://blog.nahurst.com/visual-guide-to-nosql-systems) – disco crazy May 11 '11 at 08:33
  • 1
    @Daniel: With MongoDB replica sets and sharing you can have high availability with MongoDB too. See http://www.mongodb.org/display/DOCS/Replica+Sets. – Helmut Zechmann Dec 05 '11 at 20:28
2

Disclaimer: I'm the creator of Ektorp.

Ektorp is currently the most mature solution to my knowledge. One reasons why people don't use it more is probably due to the fact that it is quite easy to write a simple CouchDB client yourself.

The Spring Data project have CouchDB integration on its roadmap but that has not come very far yet.

What Java tools for CouchDB are you missing?

Instead of writing your own client, you could either easily extend Ektorp or you could contribute to the project through Github: https://github.com/helun/Ektorp

Henrik Barratt Due
  • 5,614
  • 1
  • 21
  • 22
  • Hi Henrik, I am pretty new to this whole CouchDB thingy, and my normal way to handle new technologies is to play with them. So I was looking for some easy and fast way to connect and add data from Java and stumbled across your library. And CouchDB seems to be quite a hype topic right now, so I was wondering if lots of Java guys using this. But the idea of contributing to ektorp sounds like a good idea. Currently I am still checking if CouchDB is the right system, but I will definitely use it for a private project. – disco crazy May 12 '11 at 14:44