In: Computer Science
How would you compare MySQL, MSSQL, Oracle, SQLite based on current version, operating system, cost, written in, licensing, graphical management tools, and maximum number of records?
Name | Microsoft SQL Server X | MySQL X | SQLite X | |||||||||||||||||||||||||||
Description | Microsofts relational DBMS | Widely used open source RDBMS | Widely used embeddable, in-process RDBMS | |||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||
Secondary database models | Document store Graph DBMS |
Document store | ||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||
Website | www.microsoft.com/en-us/sql-server | www.mysql.com | www.sqlite.org | |||||||||||||||||||||||||||
Technical documentation | docs.microsoft.com/en-US/sql/sql-server | dev.mysql.com/doc | www.sqlite.org/docs.html | |||||||||||||||||||||||||||
Developer | Microsoft | Oracle | Dwayne Richard Hipp | |||||||||||||||||||||||||||
Initial release | 1989 | 1995 | 2000 | |||||||||||||||||||||||||||
Current release | SQL Server 2019, November 2019 | 8.0.21, 2020 | 3.33.0 (August 14, 2020), August 2020 | |||||||||||||||||||||||||||
License | commercial | Open Source | Open Source | |||||||||||||||||||||||||||
Cloud-based only | no | no | no | |||||||||||||||||||||||||||
DBaaS offerings (sponsored links) |
|
|||||||||||||||||||||||||||||
Implementation language | C++ | C and C++ | C | |||||||||||||||||||||||||||
Server operating systems | Linux Windows |
FreeBSD Linux OS X Solaris Windows |
server-less | |||||||||||||||||||||||||||
Data scheme | yes | yes | yes | |||||||||||||||||||||||||||
Typing | yes | yes | yes | |||||||||||||||||||||||||||
XML support | yes | yes | no | |||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | |||||||||||||||||||||||||||
SQL | yes | yes | yes | |||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC OLE DB Tabular Data Stream (TDS) |
ADO.NET JDBC ODBC Proprietary native API |
ADO.NET JDBC ODBC |
|||||||||||||||||||||||||||
Supported programming languages | C# C++ Delphi Go Java JavaScript (Node.js) PHP Python R Ruby Visual Basic |
Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl |
Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl |
|||||||||||||||||||||||||||
Server-side scripts | Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java | yes | no | |||||||||||||||||||||||||||
Triggers | yes | yes | yes | |||||||||||||||||||||||||||
Partitioning methods | tables can be distributed across several files (horizontal partitioning); sharding through federation | horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric | none | |||||||||||||||||||||||||||
Replication methods | yes, but depending on the SQL-Server Edition | Multi-source replication Source-replica replication |
none | |||||||||||||||||||||||||||
MapReduce | no | no | no | |||||||||||||||||||||||||||
Consistency concepts | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||
Foreign keys | yes | yes | yes | |||||||||||||||||||||||||||
Transaction concepts | ACID | ACID | ACID | |||||||||||||||||||||||||||
Concurrency | yes | yes | yes | |||||||||||||||||||||||||||
Durability | yes | yes | yes | |||||||||||||||||||||||||||
In-memory capabilities | yes | yes | yes | |||||||||||||||||||||||||||
Name |
MySQL X | Oracle X | SQLite X | |||||||||||||||||||||||||||
Description | Widely used open source RDBMS | Widely used RDBMS | Widely used embeddable, in-process RDBMS | |||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||
Secondary database models | Document store | Document store Graph DBMS RDF store |
||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||
Website | www.mysql.com | www.oracle.com/database | www.sqlite.org | |||||||||||||||||||||||||||
Technical documentation | dev.mysql.com/doc | docs.oracle.com/en/database | www.sqlite.org/docs.html | |||||||||||||||||||||||||||
Developer | Oracle | Oracle | Dwayne Richard Hipp | |||||||||||||||||||||||||||
Initial release | 1995 | 1980 | 2000 | |||||||||||||||||||||||||||
Current release | 8.0.21, 2020 | 19c, February 2019 | 3.33.0 (August 14, 2020), August 2020 | |||||||||||||||||||||||||||
License | Open Source | commercial | Open Source | |||||||||||||||||||||||||||
Cloud-based only | no | no | no | |||||||||||||||||||||||||||
DBaaS offerings (sponsored links) |
|
|||||||||||||||||||||||||||||
Implementation language | C and C++ | C and C++ | C | |||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux OS X Solaris Windows |
AIX HP-UX Linux OS X Solaris Windows z/OS |
server-less | |||||||||||||||||||||||||||
Data scheme | yes | yes | yes | |||||||||||||||||||||||||||
Typing | yes | yes | yes | |||||||||||||||||||||||||||
XML support | yes | yes | no | |||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | |||||||||||||||||||||||||||
SQL | yes | yes | yes | |||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC Proprietary native API |
JDBC ODBC ODP.NET Oracle Call Interface (OCI) |
ADO.NET JDBC ODBC |
|||||||||||||||||||||||||||
Supported programming languages | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl |
C C# C++ Clojure Cobol Delphi Eiffel Erlang Fortran Groovy Haskell Java JavaScript Lisp Objective C OCaml Perl PHP Python R Ruby Scala Tcl Visual Basic |
Actionscript Ada Basic C C# C++ D Delphi Forth Fortran Haskell Java JavaScript Lisp Lua MatLab Objective-C OCaml Perl PHP PL/SQL Python R Ruby Scala Scheme Smalltalk Tcl |
|||||||||||||||||||||||||||
Server-side scripts | yes | PL/SQL | no | |||||||||||||||||||||||||||
Triggers | yes | yes | yes | |||||||||||||||||||||||||||
Partitioning methods | horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric | horizontal partitioning | none | |||||||||||||||||||||||||||
Replication methods | Multi-source replication Source-replica replication |
Multi-source replication Source-replica replication |
none | |||||||||||||||||||||||||||
MapReduce | no | no | no | |||||||||||||||||||||||||||
Consistency concepts | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||
Foreign keys | yes | yes | yes | |||||||||||||||||||||||||||
Transaction concepts | ACID | ACID | ACID | |||||||||||||||||||||||||||
Concurrency | yes | yes | yes | |||||||||||||||||||||||||||
Durability | yes | yes | yes | |||||||||||||||||||||||||||
In-memory capabilities | yes | yes | yes | |||||||||||||||||||||||||||
User concepts | Users with fine-grained authorization concept | fine grained access rights according to SQL-standard | no |
Difference between MySQL and SQLite:
sqllite MS SQL server
1. | It was developed By D. Richard Hipp in August 2000. | It was developed by Microsoft Corporation and initially released on April 24, 1989. |
2. | SQLite is developed only in C language. | MS SQL server is written in C and C++. |
3. | The primary database model for SQLite is RDBMS. | The primary database model for MS SQL Server is also RDBMS |
4. | The license for SQLite is open-source. | The license for MS SQL Server is commercial. |
5. | There is no secondary database model for SQLite. | The secondary database model for MS SQL Server are Document store and Graph DBMS. |
6. | SQLite does not support XML data format. | MS SQL Server supports XML data format. |
7. | In SQLite, the data schema is dynamic. | In MS SQL Server, the data schema is fixed. |
8. | It does not support any replication methods. | It supports replication methods but depending on the SQL-Server Edition. |
9. | SQLite does not require a server to run. Hence, it is serverless. | Server operating systems for MS SQL Server are Linux and Windows. |
10. | It supports in-memory capabilities. | It also supports in-memory capabilities. |
11. | SQLite does not support Map Reduce method. | MS SQL Server also does not supports Map Reduce method. |
Differences between SQL and SQLite :
SQL | SQLite |
---|---|
SQL is Structured Query Language used to query Relational Database System. It is written in C language. | SQLite is an Relational Database Management System which is written in ANSI-C. |
SQL is standard which specifies how relational schema is created, data is inserted or updated in relations, transactions are started and stopped, etc. | SQLite is file-based. It is different from other SQL databases because unlike most other SQL databases, SQLite does not have separate server process. |
Main components of SQL are Data Definition Language(DDL), Data Manipulation Language(DML), Data Control Language(DCL). | SQLite supports many features of SQL and has high performance but does not support stored procedures. |
SQL is Structured Query Language which is used with databases like MySQL, Oracle, Microsoft SQL Server, IBM DB2, etc. | SQLite is portable database resource. It could get an extension in whatever programming language used to access that database. |
A conventional SQL database needs to be running as service like OracleDB to connect to and provide lot of functionalities. | SQLite database system does not provide such functionalities. |
SQL is query language which is used by other SQL databases. It is not database itself. | SQLite is relational database management system itself which uses SQL. |