The Internet age is making data more accessible than ever. “Data” and “analyzing Data” are becoming a necessity for many professions. Data is stored in “databases”, and the technology for storing it in databases has improved over time. Databases that were popular for data storage were Microsoft SQL Server and Oracle. With the rapid growth of data, things changed slowly and open-source databases were created. In this post, we will be looking at a few open-source databases.
MongoDB:
MongoDB, an open-source database written in C++ by MongoDB Inc., is called MongoDB. Data was stored in tables as rows or columns. It was difficult for database developers to think of data differently in the 1990s.
All this changed in 2000, when MongoDB adopted the “NoSQL” way of handling data. MongoDB uses dynamic schemas. The database structure, such as the type and field of the field, does not need to be first defined. MongoDB database has one of its greatest features: the ability to add or delete fields dynamically. This allows us to change the database’s structure.
MongoDB defines a table as a “collection”, row as a document, and column as a field. MongoDB uses its own query language, the MongoDB query languages. It has two main advantages: high scalability, and high availability.
Expedia.com and Cisco are just a few examples of organizations that have adopted MongoDB. (Flexible enough for any industry.
MySQL:
MySQL is a classic open-source RDBMS that was released in 1995. In 2010, Oracle acquired it. It uses the traditional terminology and concepts of RDBMS, including tables, primary keys and foreign keys, relationships, and more.
It is written in C and C++ and uses SQL (or ‘StructuredQuery language’) for querying, inserting, and updating records. It can store up to 50,000,000 records in a single table. MySQL does not have the rich data model or dynamic schema of NoSQL databases such as MongoDB, but it is still used by legacy systems. It cannot be completely replaced by NoSQL database.
Alcatel-Lucent and Pinterest are just a few of the many organizations that use MySQL.
Sometimes, an organization might need to use both NoSQL or SQL databases to meet all its business requirements.
PostgreSQL:
PostgreSQL, or simply Postgres, was first released in 1996. It is an open-source object relational database management software system. It is written in the C programming language and is one the most popular open-source databases for startups. (Oracle’s greatest database foe: Could it have been Postgres?
It can be used on all major operating systems. Some limitations are listed below:
Maximum database size in Postgres: Unlimited
Maximum Table size in Postgres: 32TB
Maximum row size in Postgres is 1.6TB
Maximum rows/table in Postgres: unlimited
Postgres supports MVCC, or ‘Multiversion Concurrency Control. MVCC allows transaction isolation for each session of a database. This avoids “read locks” and promotes better performance in multiuser environments.
Apple, University of Alabama, Birmingham and University of California, Berkeley have all created products and solutions using Postgres open-source database.
Cassandra:
Apache Cassandra, originally developed by Facebook in 2008, is an open-source distributed database management system that can handle the huge amount of data streaming from various sources. It is a column-oriented database.
Cassandra’s key features include constant up-time, which ensures 24/7 access to information and fault tolerance. It also offers scalability. This is achieved by using a “ring” design rather than the traditional master-slave model. Each node in a cluster has the same role, so it is possible to add nodes without major problems. Data is replicated across multiple data centres which offer low latency.
Cassandra is used by many organizations, including Facebook’s Instagram, Cisco Webex, and Netflix.
This post featured some popular open-source databases. In the next post, we will discuss more technical topics.
* Images from Google
Bibliography Flexible enough to suit any industry. (n.d.). Retrieved from mongodb.com: https://www.mongodb.com/who-uses-mongodbOracle’s biggest database foe: Could it be Postgres? (n.d.). Retrieved from techrepublic.com: http://www.techrepublic.com/article/oracles-biggest-database-foe-could-it-be-postgres/