What is the difference between MySQL, MariaDB, SQLite, PostgreSQL, Oracle, MS SQL and IBM DB2 ? Which one is better than the other ? Do they work with regular SQL language ?
Hi,
You can find several differences between the database systems. Each of them has some advantages and disadvantages. There are usually available multiple versions of each database systems, for example standard version, enterprise version etc. They might be free or they might be available for a fee. It depends on your technological or business needs and preferences.
MySQL - is a relational database. Standard version is free and open-source. MySQL is the most popular open source database, because is simple and it can fully cover the needs of small or medium sized company websites. MySQL is fast, easy and reliable. It is used in case of some large webs like Wordpress, Uber, Shopify etc.
MariaDB - is a relational database, that was created as a fork from MySQL. Standard version is free and open-source. MariaDB offers better performance than MySQL and it also has some new features and extensions. MariaDB Server 10.3 introduces Oracle compatibility, allowing to use PL/SQL. Even though MariaDB is generally considered to be better than MySQL, it doesn't include all the MySQL functionality. MariaDB is used by Samsung, Wikipedia, Virgin Media O2 etc.
SQLite - is a simple relational database, that doesn't need a database server to operate (MySQL and MariaDB do need a database server). This makes SQLite much cheaper and suitable for smaller projects. SQL can cover the needs of small projects, but it is generally not as good as MySQL or MariaDB.
PostgreSQL - is an open-source object-relational multi-model database. It is considered to be the most advanced database. PostgreSQL supports SQL and PL/pgSQL, advanced data types like as arrays, hstore or user-defined types. In comparison to MySQL is a bit slower, but more complex. It is suitable for using of complex queries and frequent write operations.
Oracle DB - is an object-relational multi-model database, often used for big size enterprise deployments. Oracle database is primarily built to be commercial and paid. It is more powerful than MySQL, it supports both SQL and PL/SQL language, it allows to use more indexes, is has a performance optimization and other useful features. Oracle DB is very scalable, easily programmable and portable.
Microsoft SQL Server - is a relational database with the primary function of storing and retrieving data as requested by other software applications. It is suitable for small and medium size deployments. MS SQL server supports a wide variety of transaction processing, analytics applications and business intelligence.
IBM DB2 - is a relational database with possibility to incorporate object-oriented concepts. It offers a high stability and reliability.
These databases work with SQL, but in some cases there are differences in syntax, so for example, if something works on MySQL, it may not work on Oracle DB or Microsoft SQL Server. But if you have experience with SQL, you should quickly learn the differences in syntax.