White paper
Enterprise Database Comparison: MariaDB Vs. Microsoft Vs. IBM Vs. Oracle
01Introduction
The role of enterprise open source software in modern infrastructure is expanding -the operating system, the middleware, and now, the database. In fact, many organizations have strategic mandates requiring the evaluation of enterprise open source software in order to limit the use of proprietary software. It not only reduces costs and supports the shift from capital expenses to operating expenses, it enables enterprises to benefit from community collaboration and innovation on a global scale.
This white paper compares the leading enterprise open source database, MariaDB Enterprise, with the top three proprietary databases: Microsoft SQL Server, IBM Db2 and Oracle Database. It does not compare every feature provided by databases, but rather it focuses on the core enterprise requirements a database must meet in order to support mission-critical, business-critical applications: high availability, disaster recovery, performance, scalability, efficiency, security, analytics, schema and SQL.
MariaDB became the leading enterprise open source database with the release of MariaDB Platform X3 (the previous naming convention for MariaDB Enterprise), introducing enterprise features previously only available in proprietary and expensive databases from Microsoft, IBM and Oracle– temporal tables and queries, distributed partitions (i.e., sharding), data masking, data obfuscation and Oracle- compatible sequences, data types and stored procedures
This white paper is intended to help database administrators (DBAs), developers and architects understand how MariaDB Enterprise compares with proprietary databases from Microsoft, IBM and Oracle, and how it meets core enterprise requirements for business as well as operations and development teams.
The comparisons are based on Microsoft SQL Server 2017 Enterprise, IBM Db2 Advanced Enterprise Server Edition 11.1 for Linux, Unix and Windows (LUW), Oracle Database Enterprise Edition 18c and MariaDB Platform X3.
02High Availability and Disaster Recovery
In the digital era, databases powering customer-facing web and mobile applications have to be available 24/7, and thus tolerate everything from an individual server failure to a whole data center going down. All of these databases can provide high availability and support disaster recovery, but there are differences in the infrastructure required and the responsibilities placed on applications.
All of these databases can use replication and automatic failover to provide high availability. IBM, Oracle and MariaDB can use clustering as well, but whereas IBM and Oracle require shared storage for clustering, MariaDB does not. It implements a shared-nothing architecture, allowing MariaDB clusters to be deployed on premises or in the cloud where there is no shared storage (e.g., SAN).
Microsoft and IBM cannot recover sessions and in-flight transactions in the event of an automatic failover, but Oracle and MariaDB can. MariaDB, because it uses an advanced database proxy, can go one step further by migratingconnections whereas Microsoft, IBM and Oracle require applications or clients/drivers to create a new connection.
In terms of disaster recovery, all of these databases include backup/restore tools. However, only Oracle and MariaDB can use point-in-time rollback to recover from errors (e.g., updating the wrong rows) by undoing the most recent transactions rather than restoring data from backup and applying a subset of the most recent transactions (i.e., rollforward).
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| Backup and restore | Yes | Yes | RMAN | MariaDB Backup |
| Point-in-time rollback | No | No | Oracle Flashback | MariaDB Flashback |
| Replication with passive standbys | FCI | HADR | Data Guard | Yes |
| Replication with active standbys | Availability Groups | SQL Replication | Active Data Guard* | Yes |
| Clustering with shared storage | No | pureScale | RAC* | No |
| Clustering with local storage | No | No | No | MariaDB Cluster |
| Connection migration | No | No | No | Yes |
| Session replay | No | No | Application Continuity | Yes |
| Transaction replay | No | No | Application Continuity | Yes |
*RAC and Active Data Guard are not included in Oracle Database Enterprise Edition (EE).
Fill in the form to read the rest
03Performance, Scalability and Efficiency
The increased role of online customer engagement has increased the performance, scalability and efficiency requirements of databases. They must scale to support business growth, with more customers resulting in more transactions. Further, they must meet higher and higher performance requirements as customer experiences expectations rise. Further, they must do these things as efficiently as possible, and with commodity hardware, in order to control infrastructure costs.
IBM, Oracle and MariaDB can use distributed partitions (i.e., sharding) to scale reads, writes and storage capacity in order to increase read/write concurrency for greater throughput and lower latency and/or the total amount of data that can be stored. Microsoft does not. All of the databases can use compression to improve storage efficiency, storing more data per gigabyte of disk space and reducing disk I/O to store the same amount of data with smaller, fewer and less expensive disk drives.
While all of these databases can use a combination of synchronous and asynchronous replication to meet performance and durability requirements, only MariaDB can use causal reads to ensure consistency when semisynchronous or asynchronous replication is used.
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| Local partitions | Yes | Table Partitioning | Partitioning | Yes |
| Distributed partitions | No | DPF | Oracle Sharding* | Spider |
| Column compression | No | No | No | Yes |
| Table/row compression | Yes | Yes | Advanced Compression** | Yes |
| Index compression | Yes | Yes | Advanced Compression** | Yes |
| Backup compression | Yes | Yes | Advanced Compression** | Yes |
| Query parallelization | Yes | Yes | Yes | Yes |
| Query result caching | No | No | Yes | MariaDB MaxScale |
| Causal reads | No | No | No | MariaDB MaxScale |
*Sharding may require the Active Data Guard, GoldenGate or RAC add-on for Oracle Database EE.
**Advanced Compression is not included in Oracle Database EE.
04Security
In the first half of 2018, companies in every industry – electronics, food and beverage, healthcare, shipping, travel, apparel, retail, finance, transportation, government, communications, education – have suffered data breaches, exposing hundreds of millions of customers’ personal and financial information. In order to prevent data breaches, data must be secured and protected at its source, the database – and that includes preventing malicious queries from reaching the database to begin with.
All of the databases can use encryption, roles and dynamic data masking to secure and protect sensitive and/or personally identifiable information (SPI/PII) from internal and external threat actors. In addition, all of the databases can create audit logs for threat monitoring/detection and regulatory compliance. However, only Oracle and MariaDB offer increased protection via database firewalls, with MariaDB having the world’s most advanced database firewall – capable of blocking queries based on table, column, function as well as role, frequency and time. Further, only MariaDB can use result limiting to protect the database from denial of service (DoS) attacks by stopping queries intended to flood the network and/or slow down the database by returning hundreds of thousands, if not millions, of rows.
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| SSL/TLS (client-server) | Yes | Yes | Yes | Yes |
| SSL/TLS (server-server) | Yes | Yes | Yes | Yes |
| Transparent data encryption (tables) | Yes | Yes | Advanced Security* | Yes |
| Transparent data encryption (logs) | Yes | Yes | Advanced Security* | Yes |
| Transparent data encryption (backups) | Yes | Yes | Yes | Yes |
| Roles | Yes | Yes | Yes | Yes |
| Database firewall | No | No | Database Firewall* | MariaDB MaxScale |
| Dynamic data masking | Yes | Yes | Advanced Security* | MariaDB MaxScale |
| Query result limiting | No | No | No | MariaDB MaxScale |
| Auditing | Yes | Yes | Yes | Yes |
*Advanced Security and Database Firewall are not included in Oracle Database EE.
05Analytics
In the digital era, innovators in every industry – from finance and healthcare to telecommunications and manufacturing – are becoming data-centric, analytics-driven organizations. They are delivering actionable insight to decision-makers with modern, on-demand analytics at scale in order to improve customer experience, products and services, operational efficiency, fraud detection and prevention, and governance, risk management and compliance (GRC) – as well as monetizing data to create new revenue streams.
All of the databases can use columnar storage to support high-performance analytics. However, while Oracle is limited to storing columnar data in memory, MariaDB, Microsoft and IBM can store columnar data on disk to support large datasets with lower infrastructure costs. Further, only MariaDB supports distributed data and massively parallel processing (MPP) without the need for multimillion-dollar hardware appliances – supporting scalable, high performance analytics in the cloud or on premises with commodity servers, virtual machines and containers.
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| Columnar storage (in-memory) | Yes | BLU Acceleration | Database In-Memory* | No |
| Columnar storage (on-disk) | Yes | Yes | No | Yes |
| Distributed storage and processing | No** | Yes | No** | Yes |
| R | Analysis Services | Db2 Warehouse | Advanced Analytics* | No |
| Cubes | Analysis Services | Db2 Warehouse | OLAP* | No |
| Regression functions | Analysis Services | Yes | Yes | Yes |
*Database In-Memory, Advanced Analytics and OLAP are not included in Oracle Database EE.
**Microsoft and Oracle only support distributed analytics via hardware appliances
06Schema
All of the databases can use sequences, virtual columns, geospatial data, JSON documents and temporal tables, though MariaDB does not yet support materialized views. MariaDB is the first and only enterprise open source database to support system-versioned tables, and while Oracle and IBM support application-versioned tables as well, Microsoft and MariaDB do not. In addition, MariaDB is the only database to support dynamic columns – enabling different rows to store different columns.
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| Sequences | Yes | Yes | Yes | Yes |
| Virtual/generated columns | Yes | Yes | Yes | Yes |
| Dynamic columns | No | No | No | Yes |
| Invisible columns | Yes | Yes | Yes | Yes |
| Functional indexes | Yes | Yes | Yes | Yes |
| Geospatial data types (basic) | Yes | Yes | Locator | Yes |
| Geospatial data types (advanced) | Yes | Spatial Extender | Spatial and Graph* | Yes |
| JSON data type | Yes | Yes | Yes | Yes |
| Materialized views | Yes | Yes | Yes | No |
| System-versioned tables | Temporal Tables | Yes | Yes | Yes |
| Application-table period tables | No | Yes | Yes | Coming Soon |
| Instant ADD COLUMN | Yes | Yes | Yes | Yes |
| CHECK constraints | Yes | Yes | Yes | Yes |
*Spatial and Graph is not included in Oracle Database EE.
07SQL
All of the databases support standard SQL: window functions, common table expressions, JSON and geospatial functions, set operators (including INTERSECT and EXCEPT), user-defined functions (scalar and aggregate) and temporal clauses (e.g., AS OF). MariaDB is the first and only enterprise open source database to support point-intime queries with temporal clauses and system-versioned tables.
In addition to standard SQL, IBM and MariaDB support Oracle PL/SQL – including sequences, data types, cursors, triggers, stored procedures and packages. MariaDB is the first and only enterprise open source database with Oracle compatibility.
| Features | MS | IBM | Oracle | MariaDB |
|---|---|---|---|---|
| AS OF (point-in-time queries) | Yes | Time Travel Query | Flashback Query | Yes |
| PERIOD FOR (temporal validity) | No | Yes | Yes | Coming Soon |
| UNION, INTERSECT and EXCEPT (set operators) | Yes | Yes | Yes | Yes |
| OVER (window functions) | Yes | Yes | Yes | Yes |
| WITH (common table expressions) | Yes | Yes | Yes | Yes |
| JSON functions | Yes | Yes | Yes | Yes |
| Geospatial functions | Yes | Yes | Yes | Yes |
| User-defined scalar functions | Yes | Yes | Yes | Yes |
| User-defined aggregate functions | Yes | Yes | Yes | Yes |
| Stored procedures | Transact-SQL | PL/PSM | PL/SQL | PL/PSM |
| Oracle compatibility (e.g., PL/SQL) | No | Yes | – | Yes |
| EXECUTE IMMEDIATE/EXECUTE (dynamic SQL) | Yes | Yes | Yes | Yes |
| Table value constructors | Yes | Yes | Yes | Yes |
*Spatial and Graph is not included in Oracle Database EE.
08Conclusion
MariaDB Enterprise, like Microsoft SQL Server, IBM Db2 and Oracle Database, meets the core enterprise requirements of a database for mission-critical, business-critical applications: high availability, disaster recovery, performance, scalability, efficiency, security, analytics, schema and SQL.
However, the architecture of MariaDB Enterprise enables it to run equally as well on containers and public cloud instances as it does on bare-metal servers – a challenge for databases requiring shared storage for high availability and/or scalability (e.g., IBM Db2 with pureScale and Oracle Database with RAC). In addition, it includes the world’s most advanced database proxy featuring a powerful database firewall and denial of service protection.
Yet an annual enterprise open source subscription for MariaDB Enterprise is a fraction of the cost of the proprietary license and maintenance fees Microsoft, IBM and Oracle charge. In fact, many of the features compared in this white paper are not included in an Oracle Database Enterprise Edition license, and must be purchased as separate “addons.” And unlike both Microsoft and Oracle, MariaDB does not require an expensive hardware appliance in order to support scalable, high-performance analytics. MariaDB Enterprise can run on commodity servers, virtual machines, containers and cloud instances.
MariaDB Enterprise, as the leading enterprise open source database, meets the same core enterprise requirements as Microsoft SQL Server, IBM Db2 and Oracle Database, but at a fraction of the cost and with an annual subscription – and with built-in Oracle compatibility, it’s never been easier to migrate from Oracle Database.
It’s time to break free from proprietary databases. It’s time to evaluate MariaDB Enterprise.