It won’t be a surprise if I say that data is one of the most valuable assets of the XXI century. Many organizations and businesses rely on the most popular databases to store, manage and analyze their data to support their business needs.
In this article, we will take a look at the 8 most popular databases and their key features, as well as common use cases.
So, no matter whether you are a database administrator, programmer, or simply would like to learn more about the different databases available, this article will provide you with all the necessary information to start with.
If you find this content useful, please leave a thumb up, or a sub. This way you can help me, so that I can help you 😉
What Does “The Most Popular Databases” Mean?
Well, before we start I wanna make sure that we are on the same page when referring to the “most popular”.
Depending on who wrote the article, this term can have various meanings. For some, it will be the frequency of Google searches. For others, it may be data provided by the https://db-engines.com page.
And for the purpose of this blog post, I decided to use the Stack Overflow Developer Survey 2022 results, which present, as follows:
In the next chapters, I will walk you through each of the 8 most popular databases shortly.
Please keep in mind that this article is a general overview and expect that more thorough continuations will be added in the upcoming weeks 🙂
With that being said, let’s start with the winner- MySQL.
It’s an open-source relational database management system (aka RDBMS). It was created in 1994 by the Swedish company MySQL AB (which was later acquired by Sun Microsystems and then by Oracle Corporation). Originally, it was developed as a proprietary database system but later it was open-sourced under the GNU General Public License.
- It’s free and open-source, so it can be a great choice for smaller companies and organizations preferring to cut costs.
- Moreover, MySQL is widely supported by web hosting providers, which means that it can be easily integrated with web-based applications.
- Additionally, it has a low learning curve and a simple and intuitive user interface, so it is not only a great choice for beginners but also for less experienced teams.
- Finally, a large and active community of users and developers means a lot of online resources and support available.
- First of all, it is not designed for applications that require real-time data processing or high availability. And technically- this is not a drawback, but rather something you should be aware of.
- Whatsoever, MySQL is hard to scale and not intended for large amounts of data.
- Lastly, it does not have built-in support for full-text search or geospatial data and some advanced features that are available in other database systems.
As I mentioned above, I will create a separate blog post about the king of the most popular databases. But for now, I can invite you to check out my other how-to guides with MySQL:
- Deploy Kotlin Spring Boot App with MySQL on Kubernetes
- Spring Boot on Google GKE with Cloud SQL and Kotlin
PostgreSQL (aka Postgres)
Nextly, let’s take a look at the second place with a 3% difference- PostgreSQL (also known as Postgres).
It was created in 1986 by a team of researchers at the University of California and is a powerful and open-source object-relational database management system. PostgreSQL is a highly popular and widely used DBMS, known for its flexibility, reliability, and performance.
- Just like MySQL, PostgreSQL is open-source, free to use, and has a large, active community.
- It is highly reliable and performs well even under heavy workloads. This makes it a good choice for applications that require high availability and scalability.
- Moreover, Postgres comes with support for a lot of features and capabilities out of the box. For example triggers, stored procedures, and multi-row transactions.
- Firstly, PostgreSQL may not be as widely supported or compatible with technologies, as some other database systems.
- Secondly, it may not be as fast or scalable as other database management systems, such as NoSQL databases. And whereas it works well for large datasets, it is not the speed demon.
- Whatsoever, Postgres is a pretty complex system, so it might be a bit difficult to learn.
And just like previously, please expect new articles to come. But, again, if you would like to learn backend development with Kotlin and Postgres, then I can recommend:
- REST API With Spring WebFlux and Kotlin Course
- other tutorials on how to use it with Spring Boot, or Ktor
As the next step, let’s take a while to the no 3 in the most popular databases summary- SQLite.
SQLite is an embedded SQL database engine. The main difference between it and most of SQL databases is that it is self-contained and does not run a separate server process. To put it simply- it’s a library, which reads and writes directly to plain disk files.
It was created in 2000 by Dwayne Richard Hipp using a C programming language and since then, it become the most deployed database engine- used, among others of top web browsers.
- First of all, SQLite is a really lightweight database and it can be successfully used in low-memory environments. With all features enabled, its size can be as little as 750KiB.
- Additionally, the database file format is portable and can be migrated between 32-bit ad 64-bit systems.
- Moreover, SQLite is easy to learn and requires zero configuration, which makes it a great choice for beginners (and not only!)
- Finally, it is really fast and can bring much better performance, than the filesystem.
- Firstly- it’s not suitable for client/server applications. Although it can work over the network, the filesystem latency might be an issue.
- Secondly (and lastly), SQLite is not a good choice for high-volume websites or environments demanding high concurrency. Whereas it does not have a limit for concurrent reads, only one writer can write at any instant in time.
MongoDB (aka Mongo)
And the prize for 4th place in our most popular databases ranking goes to MongoDB.
MongoDB is an open-source document-oriented database. It was created in 2009 by MongoDB Inc., which makes it not only the first NoSQL representative in the ranking but also the youngest one (so far). In contrast to previous examples, MongoDB is an example of a NoSQL database, so instead of tables and rows, Mongo stores JSON-like documents, which are organized in collections.
- First of all, Mongo was built with environments demanding high performance and scalability in mind.
- Secondly, it’s flexible. MongoDB does not require you to define a schema for your collections (SQL tables counterparts), which can help you reduce the time spent on schema changes. Moreover, it can be a great choice everywhere, where a schema is hard to define.
- Finally, just like MySQL and Postgres, MongoDB is widely supported and really easy to learn.
- No out-of-the-box support for joins. Unlike relational databases, Mongo by design does not support joins between collections, so if you have to work with highly connected data sets, then it might not be the best choice.
- Moreover, MongoDB documents cannot exceed 16MB.
- Lastly, the lack of joins oftentimes leads to data duplication, which may become troublesome to maintain in the future.
If you would like to learn Mongo in practice, then check out my practical guides about MongoDB with Spring Boot, Ktor, and Micronaut.
Microsoft SQL Server
Following, the 5th position on the most popular databases list is taken by Microsoft SQL Server.
It was developed by Microsoft and first released in 1989 and is another relational database in our ranking. Microsoft SQL Server lets us communicate using T-SQL (Transact-SQL), which is an extension of SQL bringing additional features, like functions, or local variables. Whatsoever, it comes with an entire range of products, which we can optionally configure together to make it a really powerful tool.
- Firstly, Microsoft SQL Server has really good support and documentation.
- Additionally, it’s relatively easy to set up and use.
- Whatsoever, SQL Server provides a range of security features to protect against unauthorized access to the data and ensure data integrity.
- Lastly, a strong point is data recovery in case anything happens.
- First of all, pricing. And although there is a free option available, Enterprise or Standard editions are pretty expensive.
- Secondly, compatibility. Prior to the SQL Server 2017, it could be run on Windows-based servers, but this is the first version, which can be deployed on Linux.
- Lastly, it may require additional Microsoft software purchases to fully make use of it in your case.
And the 6th most popular database of 2022 is Redis.
It was created by Salvatore Sanfilippo, also known as antirez, in 2009, which makes it a relatively young database in our summary.
Redis is an open-source, in-memory data structure store that is commonly used as a database, cache, and message broker. It is known for its high performance, flexibility, and scalability, making it a popular choice for a wide range of applications. Whatsoever, it is oftentimes used in conjunction with Microservices and containers, to support the needs of modern, distributed applications.
- As the first one- Redis is an in-memory data store, which results in much higher data processing, than disk-based databases.
- Additionally, it’s highly scalable and can be easily expanded to support the growing needs of our application.
- Lastly, Redis is an open-source project with a large community and a huge amount of online resources to use and learn from. Moreover, it is compatible and pretty easy to use with most of the popular frameworks.
- So the first advantage is the disadvantage, as well. The in-memory data store is actually faster, but we have to keep in mind that it is more expensive.
- Moreover, it is a key-value store (like a dictionary), which means that the application(s) connecting to Redis have to be aware of the structure, which requires additional config.
- Lastly, Redis is doing fine when dealing with key-based operations, but is not that efficient, when it comes to searching through the data set.
If you would like to learn more about it in detail, then check out my more detailed article: Redis Database Explained
As the one before last in the most popular databases list, let’s see what exactly MariaDB is.
First of all, MariaDB is a fork of the MySQL DBMS, created by the original developers of MySQL in response to the acquisition of MySQL by Oracle Corporation. The acquisition raised concerns among many users and developers about the future direction of the MySQL project, which resulted in MariaDB being released in 2009.
It’s known for its performance, reliability, and ease of use, and is used by many organizations around the world. Moreover, it is designed to be backward-compatible with MySQL and can be used as a drop-in replacement for it in most cases.
- Firstly, MariaDB is known for its performance and reliability.
- Additionally, it is an open-source project with a large and active community of users and developers. And I know that this argument repeats often in this article. But trust me- a wealth of resources, such as documentation and tutorials, available online comes with plenty of other perks.
- Thirdly, as mentioned above it can be used as a MySQL drop-in replacement in most cases. This allows companies to replace the database without changing the other tools. However, please remember that this is not always the case and sometimes may require additional work.
- And lastly, it is widely supported by various programming languages and frameworks.
- As the first one, some of the MySQL Enterprise Edition features are not available out of the box. And although this can be done through plugins, this is an additional, independent tool we have to incorporate.
- Whatsoever, migrating from MySQL may result in additional adjustments and config.
- And as the last thing- the support may be pretty expensive.
And finally, we come to the last position in the top 8 most popular databases of 2022- Elasticsearch.
Elasticsearch is an open-source, full-text search and analytics engine created by Shay Banon in 2010.
It is designed to be scalable and flexible, making it a popular choice for building search and data analysis applications. Moreover, it’s based on the Lucene search engine library and provides a RESTful API for interacting with the data. Elasticsearch is known for its powerful search and analytics capabilities, and can be used to search, analyze, and visualize data from a variety of sources, including structured, unstructured, and time-series data.
- Elasticsearch is an open-source project, supported by a large and active community of users.
- Similarly, it’s compatible with plenty of programming languages and frameworks, which helps in its implementation.
- Lastly, it is a highly scalable search and analytics engine, which is intended for fast full-text searches. Thus, it can be a great solution for website searches.
- Elasticsearch may not be as fast or efficient as some other search and analytics platforms in certain scenarios- for example, a large amount of data.
- Moreover, it is more difficult to learn compared to similar tools. But this comes with being more powerful, as well.
- Lastly, Elasticsearch should not be used as primary storage.
The Most Popular Databases Summary
And that’s all for this article about the 8 most popular databases. As I already mentioned, this is the initial, bird’s-eye view post and you can expect more detailed articles to come.
Let me know your thoughts in the comments section below!