It’s easy to keep track of data using a basic spreadsheet, right? Up to a certain point, it is. However, the situations are very different when you’re working with information about ten items, and, say, a few thousand of them. That’s why no matter what kind of websites you create, sooner or later you will start looking into smarter data storage solutions. This is where database management systems come in.
It’s rather common to separate all database management systems into two groups, based on whether you can use SQL on them. In this tutorial, we will introduce you to the ones that support it. If by any case you need a reminder on SQL, be sure to take this interactive SQL course.
Getting the terminology down
Before we start exploring the world of database management systems, we should make sure we understand fully what is it we’re dealing with. First of all, we have data. Developers use this term to define all the information that is kept in the memory of the computer. For example, an e-commerce website would normally be storing data that relates to the user, such as their name, address, orders, and possibly banking information.
By entering their details on the webpage, the user sends their data to its server, which then stores it in a database. Without one, it would be hard to actually access and use the data: a database is what brings in the structure. It is a system in which you can store, update, manipulate, and access your data. To put it simply, each database consists of data and a method to access it conveniently.
Now, what is a database management system (DBMS for short)? It is a special kind of software that you use to create and manipulate your databases. You could say a database management system is an intermediary between the database and the user or the application that uses its data.
While there are various models, most agree relational database management systems are the most popular. The data they contain must be related in nature. The standard way of working with such databases is using SQL – the Structured Query Language. When asked to name a few relational database management system examples, most mention the most well-known ones: MySQL, Oracle, Microsoft SQL Server, and PostgreSQL. All of them were written in either C or C++.
MySQL: the industry titan
When thinking of SQL database management systems, most users instinctively think of MySQL. It’s only natural: not only the name itself contains 'SQL', but it’s also the most popular system worldwide. David Axmark and Michael "Monty" Widenius started working on it in 1994 and made the first version available to the public in 1995. Since then, MySQL has become an industry standard. The list of its current clients contains such famous names as NASA, Tesla, GitHub, Facebook, and a whole bunch of other giants. What is more, MySQL is simple and completely free to download and use. Developers praise its well-written and extensive documentation as well.
Since 2010, MySQL belongs to the Oracle Corporation. The acquisition caused a huge uproar, as the public feared Oracle will put MySQL to end. Michael "Monty" Widenius even started to work on a replacement database management system, creating a new branch of the MySQL of the time and calling it MariaDB. However, despite the worries, Oracle kept the free and open-source MySQL. It stayed on the top easily due to unique features that were never introduced in MariaDB. A large company owning and supporting the system made it even more reliable too.
The most current version is MySQL 8.0, published in 2018. The team releases small updates every two or three months. The newest version sports updated security, account, resource and table encryption management, as well as a transactional data dictionary. Most companies value MySQL for being very scalable and robust enough to handle huge amounts of data. Additionally, it works well across many different platforms, including but not limited to Microsoft Windows, macOS, and Linux.
Oracle: one step forward
Before Oracle Corporation acquired MySQL, it also had its own relational database management system, called Oracle Database, or simply Oracle. Initially released in 1979, it is now at version 19c, presented in 2020. The letter C in the name stands for the cloud.
When comparing MySQL vs. Oracle, you will notice the latter has a lot more to offer. It supports XML format, has more data types, more storage features, enhanced security and audit vault. And that’s not all! In 2018, Larry Ellison presented the version 18c as the first completely autonomous database management system. Armed with powerful machine learning capabilities, the new Oracle is able to perform a lot of tasks without human intervention, which lowers the risk of errors. The company presents the newest version as self-driving, self-securing, and self-repairing. It’s hard to disagree that it's a huge step toward maximum security and ease of use.
However, the impressive features come at a price. The biggest difference between MySQL vs. Oracle is that while MySQL is free and open-source, Oracle is a commercial product. There are a few payment options available, depending on your exact needs. There is also a free version called Oracle Database Express Edition, but it has certain limitations: you cannot have more than twelve gigabytes of user data, two gigabytes of RAM, and 3 three pluggable databases.
Microsoft SQL Server: flexibility for a price
Another popular relational database management system is called Microsoft SQL Server. The team initially released it in 1989 and introduced some major updates with version 7.0 in 1998. By now, there are two latest versions: Azure SQL database 12.0 (2014) and SQL Server 2017. Confused? Let us explain.
To accommodate users with various needs and preferences, SQL Server offers a few different editions. Apart from the mainstream editions (Standard, Enterprise, Web, Express, and a few others), there are specialized ones. Azure might be one of the most popular. What separates it from simpler types is that it is fully cloud-based. The Developer edition is basically the same as Enterprise – however, it cannot be used as a production server. The list of editions goes on and on – what’s important to note is that Developer and Express are the only two versions that can be used free of charge. To take full advantage of Microsoft SQL Server, you will need to pay – and the costs aren’t low, either.
SQL Server is simple to use, plus, it detects and downloads any updates available automatically. After the initial installation, you can add extra components as well. You can use this database management system in one of the multiple languages, on multiple platforms. Additionally, SQL Server has comprehensive documentation and handy community features, such as forums and even a tech support blog.
PostgreSQL: the late bloomer
The PostgreSQL database management system might seem like the youngest of them all: the team at University of California at Berkeley only formally published it in 1997. However, they did take the first steps in its development as early as 1982.
At first, there was the Ingres project. However, soon after it was done, the team noticed a few clear issues in using relational database management systems. Therefore, three years later, Michael Stonebraker, the leader of the team, started developing what was then known as Postgres (Post Ingres). His project underwent many updates and improvements: in 1994, it finally started to support SQL, and hence was renamed as PostgreSQL in 1996. In January next year, it was finally released to the public. As of now, the latest version is PostgreSQL 12.0, which went public in the fall of 2020.
Choosing the right database management system for you
As you can see, each relational database management system has its own pros and cons. Choosing the right one depends on your priorities: do you need it to be free, or would you rather pay and get more features? Do you prefer cloud solutions, or do you want to try an autonomous system? The choice is yours. All you need to know is SQL – and this BitDegree's online course is a great way to start!