Working with Databases (Part-1)
So, in the first part of this article we will list all the databases.
All databases are listed with Its Pros and Cons.
So, let’s start with :
Developed by: Apache
A CouchDB server hosts named databases, which store documents. Each document is uniquely named in the database, and CouchDB provides a RESTful HTTP API for reading and updating (add, edit, delete) database documents.
Documents are the primary unit of data in CouchDB and consist of any number of fields and attachments. Documents also include metadata that’s maintained by the database system. Document fields are uniquely named and contain values of varying types (text, number, boolean, lists, etc), and there is no set limit to text size or element count.
The CouchDB document update model is lockless and optimistic. Document edits are made by client applications loading documents, applying changes, and saving them back to the database. If another client editing the same document saves their changes first, the client gets an edit conflict error on save. To resolve the update conflict, the latest document version can be opened, the edits reapplied and the update tried again.
Single document updates (add, edit, delete) are all or nothing, either succeeding entirely or failing completely. The database never contains partially saved or edited documents.
- Distributed Updates and Replication
- Security and Validation
- ACID Properties
Pros of CouchDB
- Serialized objects can be stored as unstructured data in JSON formatted documents highly desirable for Web and Mobile Applications.
- RESTful HTTP API provides flexible and seamless database operations.
- Scalable distributed high availability solution with replication capability for redundant data storage.
Cons of CouchDB
- NoSQL DB can become a challenge for seasoned RDBMS users.
- The map-reduce paradigm can be very demanding for first-time users.
- JSON format documents with Key-Value pairs are somewhat verbose and consume more storage.
Developed by: Oracle Corporation
Written in C, C++
- Latest version: 8.0.2121
- Download: MySql
- Easy to use
- High Security
- Supports Novell Cluster Services
- Runs on many operating systems
PROS OF MYSQL
- supports large databases, up to 50 million rows or more in a table
- Implement a variety of user interfaces
CONS OF MYSQL
- No built-in support for XML or OLAP
- Support is available for the free version
- Take a lot of time and effort to create incremental backups
Developed by: PostgreSQL Global Development Group
Written in C
Companies who use PostgreSQL: Apple, Cisco, Fujitsu, Skype, and IMDb
Latest version: 12.3
- Support for tablespaces, as well as for stored procedures, joins, views, triggers, etc.
- Multi-version concurrency control (MVCC)
- Point-in-time recovery
- Foreign keys
- Asynchronous replication
PROS OF POSTGRESQL
- Predefined functions
- A number of interfaces
- Supports JSON
CONS OF POSTGRESQL
- Less-mature replication software
- Configuration can be confusing
MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system, intended to remain free and open-source software under the GNU General.
Latest Version: 10.5.8GA
Written in: C , C++ , Perl
Pros and Cons
- High availability through the MariaDB TX Cluster.
- Performance improvement with proxy for MariaDB, MaxScale.
- Great support, respond quickly to questions.
- Constant evolution of the product.
- Improving the migration of databases from MySQL to Maria DB, by default they are done easily but as there is an error it is costly to solve it.
- Some minor bugs in MariaDB version updates.
Download : MariaDB