DBMS > MySQL vs. Oracle vs. RethinkDB vs. Spark SQL vs. TiDB
System Properties Comparison MySQL vs. Oracle vs. RethinkDB vs. Spark SQL vs. TiDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | MySQL Xexclude from comparison | Oracle Xexclude from comparison | RethinkDB Xexclude from comparison | Spark SQL Xexclude from comparison | TiDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Widely used open source RDBMS | Widely used RDBMS | DBMS for the Web with a mechanism to push updated query results to applications in realtime. | Spark SQL is a component on top of 'Spark Core' for structured data processing | TiDB is an open source distributed SQL database that supports Hybrid Transactional/Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS Key/Value like access via memcached API | Relational DBMS | Document store | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS | Document store Graph DBMS with Oracle Spatial and Graph RDF store with Oracle Spatial and Graph Spatial DBMS with Oracle Spatial and Graph Vector DBMS since Oracle 23 | Spatial DBMS | Document store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.mysql.com | www.oracle.com/database | rethinkdb.com | spark.apache.org/sql | pingcap.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | dev.mysql.com/doc | docs.oracle.com/en/database | rethinkdb.com/docs | spark.apache.org/docs/latest/sql-programming-guide.html | docs.pingcap.com/tidb/stable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Oracle since 2010, originally MySQL AB, then Sun | Oracle | The Linux Foundation since July 2017 | Apache Software Foundation | PingCAP, Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1995 | 1980 | 2009 | 2014 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.4.0, April 2024 | 23c, September 2023 | 2.4.1, August 2020 | 3.5.0 ( 2.13), September 2023 | 8.1.0, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source GPL version 2. Commercial licenses with extended functionallity are available | commercial restricted free version is available | Open Source Apache Version 2 | Open Source Apache 2.0 | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup. | TiDB Cloud: Fully-managed TiDB Service. Bring everything great about TiDB to the cloud. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C and C++ | C and C++ | C++ | Scala | Go, Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux OS X Solaris Windows | AIX HP-UX Linux OS X Solaris Windows z/OS | Linux OS X Windows | Linux OS X Windows | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes Schemaless in JSON and XML columns | schema-free | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes string, binary, float, bool, date, geometry | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | yes | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes with proprietary extensions | yes with proprietary extensions | no | SQL-like DML and DDL statements | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | ADO.NET JDBC ODBC Proprietary native API | JDBC ODBC ODP.NET Oracle Call Interface (OCI) | JDBC ODBC | GORM JDBC ODBC Proprietary protocol SQLAlchemy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | C community-supported driver C# community-supported driver C++ community-supported driver Clojure community-supported driver Dart community-supported driver Erlang community-supported driver Go community-supported driver Haskell community-supported driver Java official driver JavaScript (Node.js) official driver Lisp community-supported driver Lua community-supported driver Objective-C community-supported driver Perl community-supported driver PHP community-supported driver Python official driver Ruby official driver Scala community-supported driver | Java Python R Scala | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes proprietary syntax | PL/SQL also stored procedures in Java possible | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | Client-side triggers through changefeeds | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric | Sharding, horizontal partitioning | Sharding range based | yes, utilizing Spark Core | horizontal partitioning (by key range) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Multi-source replication Source-replica replication | Source-replica replication | none | Using Raft consensus algorithm to ensure data replication with strong consistency among multiple replicas. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no can be realized in PL/SQL | yes | yes with TiSpark Connector | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes not for MyISAM storage engine | yes | no | no | yes full support since version 6.6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID not for MyISAM storage engine | ACID isolation level can be parameterized | Atomic single-document operations | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes table locks or row locks depending on storage engine | yes | yes MVCC based | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes Version 12c introduced the new option 'Oracle Database In-Memory' | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Users with fine-grained authorization concept no user groups or roles | fine grained access rights according to SQL-standard | yes users and table-level permissions | no | Fine grained access rights according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MySQL | Oracle | RethinkDB | Spark SQL | TiDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | TiDB is an advanced open-source, distributed SQL database for modern application... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | - HORIZONTAL SCALING : TiDB grants total transparency into your data workloads without... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | TiDB is ideal for transactional applications that require extreme scalability and... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | Block, Pinterest, Catalyst, Bolt, Flipkart, Capcom, Shopee (E-commerce), JD Cloud... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | 34K+ GitHub stars 5K+ members in TiDB Community Slack 1K+ community contributors... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | TiDB Community : Free open source software (Apache 2.0) TiDB Self-Hosted : Enterprise... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup.
» more CData: Connect to Big Data & NoSQL through standard Drivers. » more Navicat for MySQL is the ideal solution for MySQL/MariaDB administration and development. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for MySQL and many other database management systems. » more | Devart ODBC driver for Oracle accesses Oracle databases from ODBC-compliant reporting, analytics, BI, and ETL tools on both 32 and 64-bit Windows, macOS, and Linux. » more Navicat for Oracle improves the efficiency and productivity of Oracle developers and administrators with a streamlined working environment. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MySQL | Oracle | RethinkDB | Spark SQL | TiDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | MySQL is the DBMS of the Year 2019 MariaDB strengthens its position in the open source RDBMS market The struggle for the hegemony in Oracle's database empire | MySQL is the DBMS of the Year 2019 The struggle for the hegemony in Oracle's database empire Architecting eCommerce Platforms for Zero Downtime on Black Friday and Beyond | Meet some database management systems you are likely to hear more about in the future | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Conferences, events and webinars | Oracle Cloud World | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Audit MySQL Databases in Laravel With the DB Auditor Package Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade ... The Rise of MySQL: Database Management System (DBMS) Navigating a 6.8% Growth in the Open-Source DBMS , Tre... Enterprise Manager: How Comcast enhanced monitoring for MySQL InnoDB Clusters Ultimate MySQL Workbench Installation Guide [2024 Edition] provided by Google News | Oracle E-Business Suite Data Retention on OCI Oracle Database 23ai - Feel the Difference Oracle Database 23ai Brings the Power of AI to Enterprise Data and Applications AI-Fueled Enterprise Data Management: The Rise Of Oracle Database 23ai Oracle Goes for the Kill with Multifaceted New AI Database provided by Google News | An introduction to building realtime apps with RethinkDB How to Use RethinkDB with Node.js Applications — SitePoint Stripe acquires team behind NoSQL database startup RethinkDB MongoDB: The Popular Database for IoT RethinkDB is dead, and MongoDB isn't what killed it provided by Google News | Run Apache Hive workloads using Spark SQL with Amazon EMR on EKS | Amazon Web Services What is Apache Spark? The big data platform that crushed Hadoop Cracking the Apache Spark Interview: 80+ Top Questions and Answers for 2024 Performant IPv4 Range Spark Joins | by Jean-Claude Cote 18 Top Big Data Tools and Technologies to Know About in 2024 provided by Google News | How PingCAP transformed TiDB into a serverless DBaaS using Amazon S3 and Amazon EBS | Amazon Web Services PingCAP Launches TiDB 7.5, Enhancing Distributed SQL Database Tech Google Cloud's C3D Instances Provide Strong Performance Value For PingCAP's TiDB TiDB by PingCAP Leads Data Management Revolution at GIDS 2024, Empowering India's Burgeoning Developer ... Announcing TiDB 7.4: The Best Database Alternative for MySQL 8.0 provided by Google News |
Share this page