Top 5 Databases You Should Know in 2020

Wimarshika Thamali
12 min readNov 8, 2020

--

A database is a collection of information that is organized, so that it can be easily accessed, managed and updated electronically from a computer system. Any software development process has a relationship with databases and selecting the most suitable database is one of the main requirement for software architecture. There are lots of databases available to choose which are SQL databases and NoSQL databases. Oracle, MySQL, Microsoft SQL server and PostgreSQL are some examples for SQL databases and Redis and MongoDB are some examples for NoSQL databases. This article presents the top 5 databases in the year 2020.

No 01 : ORACLE DATABASE

Oracle database is the most popular database in the year 2020. Oracle is a multi-model database management system produced and marketed by Oracle Corporation. Oracle database is commonly used for Online Transaction Processing (OLTP) systems, Data Warehousing(DW) and mixed (OLTP & DW) database workloads. Oracle Database is available by several service providers on-prem, on-cloud, or as hybrid cloud installation. Oracle database may be run on third party servers as well as on Oracle hardware. Exclusively for Cloud customers Oracle offers Oracle Autonomous Database providing fully automated operation procedures. Oracle database is really famous among all developers because it is easy to use, well-written documents, amazing new features ( JSON from SQL, Robust Code using Constants for Data Type Lengths feature, long name support, list tag improved, etc).

Oracle v2 is the oldest version of oracle database released in 1979. It is the first commercially available SQL-based RDBMS implementing some basic SQL queries and simple joins. Oracle Database 19c is the latest oracle database version released in 2019. The latest version has Active Data Guard DML Redirection, Automatic Index Creation, Real-Time Statistics Maintenance, SQL Queries on Object Stores, In-Memory for IoT Data Streams, and many more features. Prior to Oracle Database 19c there were two popular older versions called Oracle Database 18c (2018)and Oracle Database 12c Release 2 (2016). Oracle Database 18c takes the management of customer’s enterprise data to the next level, helping customers on their journey to the cloud. Oracle Database 12c offers a wide range of features to help customers meet specific requirements in the areas of performance and scalability, high availability, security and compliance, data warehousing and big data, and manageability, both on-premises and on Oracle Cloud.

Features

  • Oracle NoSQL Database handle big data
  • Supports SQL, and it can be accessed from Oracle relational databases
  • Oracle NoSQL Database using Java/C API to read and write data
  • Distributed database
  • Provides access to the data through the node for the requested key.

Advantages of using Oracle database

  • Portability: Oracle database is ported to all different platforms than all other its competition. It easily runs on almost 20 networking protocols and also on more than over 100 hardware platforms.
  • Backup and recovery: It is good to be used as to take a proper backup of your entire oracle online backup as well as recovery too. With the help of using oracle database, one can easily become able to make point-in-time recovery.
  • High performance: Making a good oracle database provides you with quite good speed and also with large databases.
  • Multiple database support: It easily manages the multiple databases within the same transaction.
  • Oracle database is secure and ensures that user data is not tampered with through prompt updates.

Disadvantages of using Oracle database

  • Pricing can be improved to make it much more competitive with other RDBMS options in the space.
  • Require significant resources for installation.
  • Hardware upgrades may be required to even implement Oracle takes up a lot of space.
  • Many features require additional licensing (either as options or as packs) that increase the total cost
  • It’s hard to find Oracle specialists and Oracle specialists are expensive.
  • Performance is sub-optimal when data size is large.
  • Non-trivial effort to setup. We have to build some automation so developers can save some time to set it up on their local machines.

No 02 : MYSQL

MySQL is the second popular database in 2020. MySQL is developed, distributed, and supported by Oracle Cooperation and it has written in C, C++. MySQL is a database system that runs on a server and it is ideal for both small and large web applications. The data in a MySQL database are stored in tables. MySQL runs on Linux, Windows, OSX, FreeBSD and Solaris. MySQL is customizable and the open-source GPL license allows programmers to modify the MySQL software to fit their own specific environments. MySQL uses a standard form of the well-known SQL data language and intuitive graphical utilizer interface for designing database tables. MySQL supports large databases, up to 50 million rows or more in a table. The default file size limit for a table is 4GB, but there is an ability to increase this. Support for partitioning and replication, as well as for Xpath and for stored procedures, triggers, and views.

MySQL is free and open-source software under the terms of the GNU General Public License, and is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle Corporation). MySQL version 5.1 is the oldest version released in 2008 and MySQL version 8.0 is the latest version released in 2018.

Features

  • Scalable
  • Easy to use
  • High Security
  • Supports Novell Cluster Services
  • Fast
  • Runs on many operating systems

Advantages of using MySQL

  • Data Security : MySQL is globally renowned for being the most secure and reliable database management system used in popular web applications like WordPress, Drupal, Joomla, Facebook and Twitter.
  • High Performance : MySQL features a distinct storage-engine framework that facilitates system administrators to configure the MySQL database server for a flawless performance.
  • Round-the-clock Uptime : MySQL comes with the assurance of 24X7 uptime and offers a wide range of high availability solutions like specialized cluster servers and master/slave replication configurations.
  • The Flexibility of Open Source : The secure processing and trusted software of MySQL combine to provide effective transactions for large volume projects. It makes maintenance, debugging and upgrades fast and easy while enhancing the end-user experience.
  • On-Demand Scalability : MySQL offers unmatched scalability to facilitate the management of deeply embedded apps using a smaller footprint even in massive warehouses that stack terabytes of data. On-demand flexibility is the star feature of MySQL.
  • Reduced Total Cost of Ownership : The dependability and ease of management that accompany MySQL save your troubleshooting time which is otherwise wasted in fixing downtime issues and performance problems.

Disadvantages of using MySQL

  • MySQL does not support a very large database size as efficiently.
  • MySQL does not support ROLE, COMMIT, and Stored procedures in versions less than 5.0.
  • Transactions are not handled very efficiently.
  • There are a few stability issues.
  • It suffers from poor performance scaling.
  • The development is not community driven so it has lagged behind.
  • The functionality tends to be heavily dependent on the addons.
  • Developers may find some of its limitations very frustrating.

No 03 : MICROSOFT SQL SERVER

Microsoft SQL Server is a relational database management system developed by Microsoft. Primary function of Microsoft SQL Server is storing and retrieving data as requested by other software applications — which may run either on the same computer or on another computer across a network. This is written by C,C++. Microsoft SQL Server is the most widely used commercial DBMS. It constrained to Windows, but this is an advantage when the enterprise uses mostly Microsoft products. It is platform dependent and both GUI and command based software. It supports SQL language which is an IBM product, non-procedural, common database, and case-insensitive language. MySQL version 1.0 (OS/2) is the oldest version released in 1989 and MySQL version 15.0 (SQL server 2019) and MySQL version 12.0 (Azure SQL database — 2014) are latest versions.

Features

  • High Performance
  • Platform dependent
  • Install different versions in one machine
  • Generates scripts for data movement

Advantages of using Microsoft SQL Server

  • Better Security Features : SQL Server 2008 uses Policy-Based Management to detect security policies that are non-compliant. This feature allows only authorized personnel access to the database. Security audits and events can be written automatically to log files.
  • Enhanced Performance : The MS SQL server has built-in transparent data compression feature along with encryption. Users don’t need to modify programs in order to encrypt the data. The MS SQL server has access control coupled with efficient permission management tools. Further, it offers an enhanced performance when it comes to data collection.
  • Optimized data storage : With Microsoft SQL Server, you don’t have to have another data storage from the same database if you’re using a different device. This allows you to manage data easily and efficiently with minimal troubleshooting and maintenance. Consequently, you can save time and work on other important aspects of your business.
  • Installation Is Streamlined : It can be installed via a setup wizard and the prerequisite updates are detected and downloaded by the installer automatically. The complexity of installing the software is minimized significantly because of automatic installation of updates. You can also install other components to modify the software for your business without any complex processes as well. So if you’re looking for a database management software that provides convenience, Microsoft SQL Server is the way to go.
  • Lower Cost Of Ownership : SQL server includes effective data management and data mining tools along with disk partitioning. Your server’s optimum maintenance can be ensured by following effective data management practices.
  • Data recovery support : In the case of power interruption or server shutdowns, data may become corrupted, which poses a big problem for businesses that have little to no backups stored. Microsoft SQL Server eliminates the risk of losing data by having features for data recovery and restoration. As a result, you will have more peace of mind knowing that your data is secured through caching, log files, and frequent backups, no matter what may happen to your server.

Disadvantages of using Microsoft SQL Server

  • Hardware restrictions : Newer versions of Microsoft SQL Server need advanced technologies to run. So, if your hardware is comprised mainly of older hardware, you might need to invest in newer machines in order to use Microsoft SQL Server. Moreover, if your business needs a larger database, you also need to increase your hard drive space.
  • Cost : There is a free version of Microsoft SQL Server that you can use. But for more advanced databased applications and features, you will have to make a sizeable investment for higher versions of the software.
  • Restricted compatibility : Making additional investments in Microsoft software may be needed if your business uses little to no Microsoft infrastructure. These extra commitments might also cost your company more, but they will allow you to use Microsoft SQL Server on your platform.
  • There can be problems when connecting with software that is not owned by Microsoft.
  • Ideal for only large organizations

No 04 : Postgre SQL

PostgreSQL also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with Atomicity, Consistency, Isolation, Durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is designed to handle a range of workloads, from single machines to data warehouses or Web services with many concurrent users. It is the default database for macOS Server, and is also available for Linux, FreeBSD, OpenBSD, OSX and Windows.

PostgreSQL was developed based on POSTGRES 4.2 at Berkeley Computer Science Department, University of California. The original name of PostgreSQL is Postgres. Major enhancements in PostgreSQL 10 include Logical replication using publish, Declarative table partitioning, Improved query parallelism, Stronger password authentication based on SCRAM-SHA-256, Improved monitoring and control, Significant general performance improvements etc.

Features

  • 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

Advantages of using Postgre SQL

  • Open Source DBMS : Only PostgreSQL provides enterprise-class performance and functions among current Open Source DBMS with no end of development possibilities. Also, PostgreSQL users can directly participate in the community and post and share inconveniences and bugs.
  • Function : SQL functions called ‘Store Procedure’ can be used for server environment. Also, we support languages similar to PL/SQL in Oracle such as PL/pgSQL, PL/Python, PL/Perl, C/C++, and PL/R.
  • Diverse indexing techniques : PostgreSQL not only provides B+ tree index techniques, but various kinds of techniques such as GIN(Generalized Inverted Index), and GiST(Generalized Search Tree), etc as well.
  • Diverse Community : One of the characteristics of PostgreSQL is that there are a wide variety of communities. Regarding PostgreSQL as Open Source DBMS, users themselves can develop modules and propose the module to the community. The development possibility is superiorly high with collecting opinions from its own global community organized with all different kinds of people. Collective Intelligence, as some might call it, facilitates transmission of indigenous knowledge greatly within the communities.
  • Diversified extension functions : PostgreSQL supports different kinds of techniques for geographic data storage such as PostGIS, Key-Value Store, and DBLink.
  • Flexible Full-text search : Full-text search is available when searching for strings with execution of vector operation and string search.

Disadvantages of using Postgre SQL

  • If we see the architecture of Postgre (Structured query language). in the above diagram, this creates separate services for every client. Which turns into a lot of memory utilization.
  • If we do comparison PostgreSQL is not good when it comes to performance.
  • It is not much popular than other database management systems.
  • This also has a lack of skilled professionals.
  • When it comes to speed PostgreSQL is not worthy as compared to other tools.
  • Making replication is more complex.
  • Installation is not easy for the beginner.

No 05 : MongoDB

MongoDB is a cross-platform document-oriented database program which is classified as a NoSQL database program. This is the most popular NoSQL DB. MongoDB uses JSON-like documents with optional schemas. This is developed by MongoDB Inc. (2007) and licensed under the Server Side Public License (SSPL). MongoDB Fortifies a wide range of programming languages like Scala, Groovy, Clojure, and Java — eminently more than NoSQL rival Cassandra. MongoDB is Best for dynamic queries and for defining indexes. MongoDB uses a flexible structure which can be easily modified and extended rather than an SQL database. A schema can be written without downtime. Fortifies Linux, OSX, and Windows, but the DB size is circumscribed to 2.5 GB on 32bit systems. MongoDB uses MMAPv1 and Wired Tiger storage engines. MongoDB version 1.0 is the oldest version released in 2009 and MongoDB version 4.4 is the latest version released in 2020.

Features

  • Provides high performance
  • Auto-sharding
  • Run over multiple servers
  • Supports Master-Slave replication
  • Data is stored in the form of JSON style documents
  • index any field in a document
  • It has an automatic load balancing configuration because of data placed in shards
  • Supports regular expression searches
  • Easy to administer in the case of failures

Advantages of using MongoDB

  • First and foremost, it is very easy to install and setup the MongoDB.
  • The very basic feature of MongoDB is that it is a schema-less database. No schema migrations anymore. Since MongoDB is schema-free, your code defines your schema.
  • The ability to derive a document-based data model is one of the most attractive advantages of MongoDB. Because, the way it stores the data in the form of BSON (Binary JSON), ruby hashes etc, helps to store the data in a very rich way while being capable of holding arrays and other documents.
  • The document query language supported by MongoDB plays a vital role in supporting dynamic queries.
  • Very easy to scale.
  • Due to the structuring (BSON format — key value pair) way of the data in MongoDB, no complex joins are needed.
  • Performance tuning is absolutely easy compared to any relational databases.
  • No need of mapping the application objects to the data objects.
  • Enables faster access of the data due to its nature of using the internal memory for the storage.
  • Since, it is a NOSQL database, then it is obviously secure because no sql injection can be made.
  • MongoDB can also be used as a file system, which helps in easier way of load balancing.
  • MongoDB supports, the search by regex and fields as well.
  • MongoDB can be run as windows service as well.
  • Good amount of documentation is available.
  • MongoDB does not require a VM to be run.
  • MongoDB follows regular release cycle of its newer versions.

Disadvantages of using MongoDB

  • MongoDB will start to struggle with very large datasets even when well-indexed.
  • Doesn’t support joins
  • Data Size is High
  • Nesting of documents is limited
  • Increase unnecessary usage of memory
  • Complex aggregation queries can be tricky in MongoDB when compared with an SQL-based database.
  • Scaling a Mongo database can be expensive.
  • Aggregation can be a little hard to learn.

--

--

No responses yet