Databases are the cornerstone of any software application. You will need one or more databases to develop almost any type of software application: web, enterprise, embedded systems, real-time systems, AI, ML, HPC, blockchain, IoT, and many others.
Twenty years ago, choosing a database was much easier. In most cases, you can pick one of these relational database systems
sql database free and be good to go. But in modern software development, choosing the right database is one of the most challenging tasks.
With the rise of microservices, cloud, distributed applications, global scaling, semi-structured data, big data, fast data, low-latency data: traditional SQL databases are now joined by various NoSQLs. NewSQL and cloud databases.
Currently there are as many as 343 databases. Here, I will filter out ten databases based on the following criteria:
In 1995, two software engineers, Michael Widenius and David Axmark, created the open source relational database management system (RDBMS) MySQL. Since its inception, MySQL has quickly become popular in the industry and community with its enterprise-level features, free and flexible (GPL) community license, and upgraded commercial license. Among open source databases, PostgreSQL focuses on innovation and advanced features, while MySQL focuses on robustness, stability, and maturity.
Today, MySQL is one of the most popular and widely used SQL databases. It is also one of the most commonly used databases in web applications. Some of the world's largest web-scale applications (e.g. Facebook, Uber) use MySQL.
5 main features
An open source RDBMS with two licensing models: Free Community Server and Proprietary Enterprise Server.
Provides ACID transactional guarantees (using the InnoDB engine). As far as CAP is concerned, it provides immediate consistency.
Provides horizontal partitioning (sharding) through its Shared Nothing MySQL Cluster. Therefore, it provides high availability and high throughput with low latency and near-linear scaling.
With its MySQL cluster, it offers multi-master ACID transactions.
Multi-model database, supporting both structured data (SQL) and semi-structured data (JSON).
When to use MySQL
Structured data (SQL) with ACID transactional guarantees.
Horizontal scalability is a key requirement, especially when writing large amounts of data.
Multi-master ACID transactions are a fundamental requirement.
Data security is a critical function.
A converged database is required, that is, one database for both OLTP and OLAP workloads.
commentaires