tags:

views:

2521

answers:

6

What can you tell about speed of couchdb and mysql databases?

I mean, very simple requests like getting one row (or one document) by unique id and simple requests like getting the 20 ids/rows/documents with the biggest date (of course, using indexes and views etc - don't really know how it works in CouchDB but I'm pretty sure there is something. Please don't send me learn how CouchDB works: I'm going to learn it, but I need a perfomance comparison anyway).

Thanks!


As I realized from the links in the first answer, while I have only one server for DB, it's a lot better to use MySQL?

+3  A: 

Firstly, note that CouchDB is not a relational SQL database like MySQL. I am not sure whether the query you describe can be expressed in CouchDB (but I'm no expert on this).

That being said, here are some links:

Thomas
yeah, I understand :) I hoped there will be a difference in perfomance. What about query: yeah, it can get data with parameters, but I have to create a special view for this type of query before running it.
valya
what about links: they made me sad :( So, as I realized, while I have only one server for DB, It's better to use MySQL?
valya
I would recommend to run your own experiments with the type of queries you expect. But yeah, it seems CouchDB is still somewhat immature when it comes to performance.
Thomas
+6  A: 

I found this article linked to in another SO question about MySQL vs CouchDB performance, but I don't know if it counts.

Kaleb Brasee
A: 

I would recommend that you set up a test yourself. Why ? CouchDb and MySql are very different beasts, and how you would choose to organise data in each would be very dependent on your problem domain. Consequently how you query them will differ as well.

I think that some dummy data in each and some benchmarking by yourself will be more worthwhile than looking at the results of some arbitrary test. I realise this will take some time in itself, but I think it's the best way forward.

Brian Agnew
A: 

One of the best analogies I've heard is that CouchDB does not want to be a Ferrari, it wants to be a Honda, i.e. not the fastest, but the most reliable.

michaelg
+1  A: 

One way that couchdb could facilitate a dramatic speed improvement, is with its replication. It can replicate across high latency connections, perhaps even down to a client site if the security infrastructure supports it. This way you could have multiple databases at multiple physical locations without killing yourself in complexity.

When I did some comparisons on my own, I found couch to be about half the speed of oracle for a scenario with high numbers of inserts 100k inserts while readers were reading. This of course is not couch's strength, as the readers had to rebuild the views while inserts were occurring.

Nathan Feger
A: 

Exactly. The main diference is that: Relational vs Non Relational. And it depends of what you need. There is a movement about this: http://en.wikipedia.org/wiki/NoSQL

And, another good no-relational db:

www.mongodb.org

mRt