

Evaluating MongoDB vs. Postgres for a Particular Use-Case - mig_
http://www.ansible.com/blog/how-we-chose-mongodb-for-ansible-tower-system-tracking-feature

======
oneweekwonder
> Side note. Many other databases (i.e Riak, CouchDB, Cassandra) were looked
> at for this in-depth comparison.

Out of interest: What was wrong with CouchDB for your use case?

~~~
mig_
Before the deeper evaluation we simply made a table of pros and cons of all
the different databases. Below are what we considered the pros and cons of
CouchDB for our use case.

Pros:

    
    
      * Projection feature
         address “weird” Ansible data format requirements.
         allow for a more compact and logical structure to be presented to the api.
      * Built in support for compaction
      * Built-in versioning
    

Cons:

    
    
      * couchdb versioning may not align with our notion of versioning
      * Requires a lot of space
      * Views instead of arbitrary queries
      * Performance not so predictable. (see how reads trigger version logic) (Colleague has had experience with this problem)
    

Edit: I found some other notes ...

    
    
        CouchDB appears to be a strong candidate. I am worried about the space requirements/consumptions. CouchDB uses views of data rather than queries.
    

Database comparison by feature matrix:
[http://i.imgur.com/6bdIvwE.png](http://i.imgur.com/6bdIvwE.png)

