Apache CouchDB is an HTTP + JSON document database with Map Reduce views and bi-directional replication. The Couch Replication Protocol is implemented in a variety of projects and products that span computing environments from globally distributed server-clusters, over mobile phones to web browsers.
N/A
MySQL
Score 8.2 out of 10
N/A
MySQL is a popular open-source relational and embedded database, now owned by Oracle.
MongoDB and CouchDB are both document stores, but their concurrency models and ability to scale are very different. MongoDB cannot replicate / shard over unreliable links and network partitions have been the cause of data loss in the past. MongoDB has an easier query language …
We looked at MongoDB and Firebase. MongoDB gives us the best working db engine with a very intuitive design. However, it does not work as well offline. Firebase was extremely hard to create searching and indexing. Using a third-party to search didn't work for us or at least it …
MySQL has it's pros / cons. The best things about MySQL are that it is open-source/free and has such a vast community of users. If you want a free database MySQL is the quickest to use, but if you're trying to build a strong foundation for your company, I prefer Postgres. If …
Great for REST API development, if you want a small, fast server that will send and receive JSON structures, CouchDB is hard to beat. Not great for enterprise-level relational database querying (no kidding). While by definition, document-oriented databases are not relational, porting or migrating from relational, and using CouchDB as a backend is probably not a wise move as it's reliable, but It may not always be highly available.
From my own perspective and the tasks that I perform on a daily basis, MySQL is perfect. It has a reasonable footprint, is fast enough and offers the security and flexibility I need. Everyone has their preferred applications and, no doubt, for larger data warehouses or more intensive applications, MySQL may have its limits, but for the area that I operate in, it's a great match.
It can replicate and sync with web browsers via PouchDB. This lets you keep a synced copy of your database on the client-side, which offers much faster data access than continuous HTTP requests would allow, and enables offline usage.
Simple Map/Reduce support. The M/R system lets you process terabytes of documents in parallel, save the results, and only need to reprocess documents that have changed on subsequent updates. While not as powerful as Hadoop, it is an easy to use query system that's hard to screw up.
Sharding and Clustering support. As of CouchDB 2.0, it supports clustering and sharding of documents between instances without needing a load balancer to determine where requests should go.
Master to Master replication lets you clone, continuously backup, and listen for changes through the replication protocol, even over unreliable WAN links.
Security: is embedded at each level in MySQL. Authentication mechanisms are in place for configuring user access and even service account access to applications. MySQL is secure enough under the hood to store your sensitive information. Also, additional plugins are available that sit on top of MySQL for even tighter security.
Widely adopted: MySQL is used across the industry and is trusted the most. Therefore, if you face any problems, simply Google it and you shall land in plenty of forums. This is a great relief as when you are in a need of help, you can find it right in your browser.
Lightweight application: MySQL is not a heavy application. However, the data you store in the database can get heavy with time, but as in the configuration and MySql application files, those are not very heavy and can easily be installed on legacy systems as well.
Although you can add the data you require as more and more data is added, the fixity of it becomes more critical.
As the demand, size, and use of the system increase, you may also need to change or acquire more equipment on your servers, although this is an internal inconvenience for the company.
Because our current solution S3 is working great and CouchDB was a nightmare. The worst is that at first, it seemed fine until we filled it with tons of data and then started to create views and actually delete.
For teaching Databases and SQL, I would definitely continue to use MySQL. It provides a good, solid foundation to learn about databases. Also to learn about the SQL language and how it works with the creation, insertion, deletion, updating, and manipulation of data, tables, and databases. This SQL language is a foundation and can be used to learn many other database related concepts.
Couchdb is very simple to use and the features are also reduced but well implemented. In order to use it the way its designed, the ui is adequate and easy. Of course, there are some other task that can't be performed through the admin ui but the minimalistic design allows you to use external libraries to develop custom scripts
I give MySQL a 9/10 overall because I really like it but I feel like there are a lot of tech people who would hate it if I gave it a 10/10. I've never had any problems with it or reached any of its limitations but I know a few people who have so I can't give it a 10/10 based on those complaints.
The support staff is friendly, knowledgeable, and efficient. I only had to get part way through my explanations before they had a solution. They will walk you through a fix or actually connect in and fix the problem for you--or would if you can allow it. I've done it both ways with them. They are always forthcoming with 'how to do this if it happens again' information. I love working with MySQL support.
it support is minimal also hw requirements. Also for development, we can have databases replicated everywhere and the replication is automagical. once you set up the security and the rules for replication, you are ready to go. The absence of a model let you build your app the way you want it
MongoDB has a dynamic schema for how data is stored in 'documents' whereas MySQL is more structured with tables, columns, and rows. MongoDB was built for high availability whereas MySQL can be a challenge when it comes to replication of the data and making everything redundant in the event of a DR or outage.