Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Top 10 Reasons

to Choose MySQL
for Next Generation
Web Applications

A MySQL Whitepaper

Table of Contents

Introduction.......................................................................................................................... 3
1. The leading Open Source Web Database ........................................................... 3
2. The leading Open Source Database in the Cloud ........................................... 5
3. MySQL 5.7, Yet Again the Best Release Ever ................................................... 6
4. Scaling with MySQL Replication, MySQL Router and MySQL Fabric .... 7
5. MySQL Cluster, Real-time in-memory Performance and High
Availability ......................................................................................................................... 11
6. The Best of Both Worlds: SQL AND NoSQL .................................................. 14
7. The Worlds Most Popular Open Source Database ..................................... 16
8. Lower TCO .................................................................................................................... 18
9. MySQL Enterprise Edition ..................................................................................... 20
10. Oracle and MySQL .................................................................................................. 21
Conclusion ........................................................................................................................ 22
Additional Resources ................................................................................................... 23

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Introduction
Digital Transformation is profoundly impacting our lives and economy. Applications
such as Facebook, Twitter, LinkedIn and Booking.com have redefined expectations
for enterprise applications. Millennials expect information to be available on any
device at any time, to be searchable, personalized and social enabled. And new
entrants such as Uber and Airbnb are disrupting entire industries.
MySQL is the #1 open source database for Web-based applications, used by
Facebook, Twitter, YouTube and virtually all the largest Web properties and
successful startups. In this white paper, we will help you better understand how
MySQL can help you drive digital transformation initiatives delivering modern Web,
mobile and Cloud-based applications.

1. The leading Open Source Web Database


The leaders of the Web rely on MySQL. For example:

MySQL enabled Facebook to scale to over 1 Billion users. Facebook runs


tens of thousands of MySQL servers, and a typical instance counts 1 to 2
Terabytes of data. 11.2 Million row changes are performed and 2.5 Billion
rows are read per second in MySQL. We haven't found anything that is
better than MySQL. stated Venkat Venkataramani, Director of Engineering,
Facebook.

A typical day at Twitter sees over 500 million tweets, which means about
5,700 per second with MySQL. Twitter achieved in August 2013 a new World
record of 143,199 Tweets Per Second (TPS).

Over 6 billion hours of video are watched each month on YouTube. 300 hours
of video are uploaded every minute. When you watch a video, youre getting
data from MySQL. Anybody that tells you that MySQL does not scale
probably has not considered exactly how to solve the problem. declared
Mike Salomon, one of the original YouTube engineers

Booking.com has relied on MySQL since 2003. Supporting 60-70% annual


growth and an agile development model. Each day, over 700,000 room nights
are reserved on Booking.com. MySQL databases handle 2 billion events per
day.

Yahoo!, LinkedIn, Ticketmaster and the vast majority of both established web
properties and startups choose to bet their business on MySQL, because
they find it to be the best platform available.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Moreover, engineers from Facebook, Google, LinkedIn, Twitter & Alibaba joined
forces to work on WebScaleSQL, a collaboration based on Oracles MySQL and
aimed at incorporating various changes and new features into MySQL addressing
needs arising from deploying the database in large-scale environments. As they
noted in their announcement in 20141 We aim to create a more integrated system of
knowledge-sharing to help companies leverage the great features already found in
MySQL 5.6, while building and adding more features that are specific to deployments
in large scale environments.
While most relational databases were designed several decades ago for complex
ERP-type applications, MySQL was designed and optimized for Web applications. As
new and different requirements emerged with the Internet, MySQL became the
platform of choice for web developers, and the default database for web-based
applications.
Since then, the performance, scalability, reliability, and ease of use of the worlds
most popular open source database, characteristics that made MySQL the #1 choice
for web applications, have continuously been improved. As the social web keeps
evolving, and leading web properties such as Facebook and Twitter are pioneering
new ways to make sense of a huge and constantly growing amount of data, MySQL
is also evolving to continue to be the premier choice for web-based applications. For
example Oracle delivered:

Native JSON support in MySQL 5.7, enabling you to seamlessly blend the
best of the Relational and Document paradigms in MySQL.
MySQL Router, which simplifies application development by intelligently
routing queries to MySQL databases for increased performance and uptime.
MySQL Fabric, an open source and extensible framework delivering High
Availability via automatic failure detection and failover, as well as scalability
through automated data sharding.

We will review the above innovations in more details in this white paper.
1

https://code.facebook.com/posts/1474977139392436/webscalesql-a-collaboration-to-build-uponthe-mysql-upstream/

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

2. The leading Open Source Database in the


Cloud
MySQLs leadership for web-based applications created the foundation for MySQL to
become the leading Open Source database in the cloud. Amazon Web Services,
Google and the vast majority of cloud computing providers either offer MySQL-based
services or deliver offerings integrating with MySQL.

Critical elements for database applications deployed in the cloud include:

Performance and scale-out


High Availability, Self-Healing and Data Integrity
Provisioning, Monitoring and Resource Management
Security

MySQL 5.6 expanded MySQLs capabilities in all those key areas. As well see in the
next section, the latest MySQL 5.7 release delivered increased performance,
scalability & manageability, making it yet an even better choice for deployments both
in public and private clouds.
MySQL is probably one of the friendliest databases to be in the cloud because of
how nimble and agile it is. It is easy to put in the cloud.2
Hari Tatrakal, Director of Database Services,Live Nation Entertainment/Ticketmaster
In addition, MySQL has always been an extremely popular embedded database for
ISVs, and became a natural platform for them to deliver their applications in a
Software-as-a-Service model.
Finally, MySQL is the most popular database for OpenStack deployments.
Organizations can implement Database as a Service (DBaaS) with OpenStack and
2

https://diginomica.com/2015/10/30/oracle-openworld-2015-ticketmaster-talks-databasecomplexity-as-it-heads-for-mysql-cloud/#.VjoL4pd1GsZ

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

MySQL in order to rapidly and securely deploy modern database applications. To


learn more about Cloud deployments and DBaaS with OpenStack and MySQL,
download the Guide: http://www.mysql.com/why-mysql/white-papers/guide-to-clouddeployments-and-database-as-a-service-with-openstack-mysql/

3. MySQL 5.7, Yet Again the Best Release Ever


Oracle announced the General Availability of MySQL 5.7 in October 2015. MySQL
5.6 is 3x faster than MySQL 5.6, delivering 1,6 million SQL queries in benchmark
tests:

MySQL 5.7 delivers a wide range of innovations allowing developers, database


administrators and DevOps teams to build and manage next-generation Web and
cloud-based applications capable of processing ever increasing volumes of data.
Key enhancements in MySQL 5.7, which deliver greater performance and scalability,
include:

Enhanced Speed: In benchmark tests using SysBench Read-only PointSelects, at 1,024 connections, MySQL 5.7 delivered 1,600,000 queries per
second (QPS) -- 3x faster than MySQL 5.6.
Optimized InnoDB: New capabilities include increased performance and
concurrency, enhanced on-line operations, spatial indexes, native partitioning
and more.
More Robust Replication: Enhancements to MySQLs replication features
include multi-source replication, enhanced Global Transaction Identifiers
(GTIDs), and improved multi-threaded slaves for better scalability and
availability.
Enhanced Optimizer: A new MySQL optimizer dynamic cost model provides
better query performance and greater user control.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Primary manageability enhancements within MySQL 5.7 include:

New Native JSON Data Type and JSON Functions: Allows for efficient and
flexible storage, search and manipulation of schema-less data.
Enhancements include a new internal binary format, support for easy
integration within SQL, and index management on the JSON Documents
using generated columns.
Performance Schema: Enables instrumentation for memory, transactions,
stored routines, prepared statements, replication and locks.
MySQL SYS Schema: Provides helper objects that answer common
performance, health, usage and monitoring questions.
Improved Security: Delivers easier and safer instance initialization, setup
and management.
Expanded Geographic Information System (GIS) Support for Mobile
Applications: Provides spatial index support in InnoDB, GeoJSON and
GeoHash support.

Booking.coms initial testing of the Development Milestone Releases has shown


promising improvements that will enable us to perform online configuration and
schema changes with less downtime. The multi-source and parallel replication
improvements in MySQL 5.7 GA will help us to continue scaling our global ecommerce business with ease and we look forward to deploying it soon.3
Nicolai Plum, Senior Systems Architect at Booking.com
For detailed information about whats new in MySQL 5.7, get the Whats New in
MySQL 5.7 Guide: http://www.mysql.com/why-mysql/white-papers/whats-newmysql-5-7/

4. Scaling with MySQL Replication, MySQL


Router and MySQL Fabric
When it comes to scaling MySQL for highly demanding web applications with large
data volumes and high write rates, replication and sharding (or horizontal
partitioning) are typically part of the solution.

MySQL Replication
One of the ways many new applications achieve scalability is via replicating
databases across multiple commodity nodes in order to distribute the workload.
Replication is a standard and integrated component of MySQL, providing the
foundation for extreme levels of database scalability and high availability in leading
web properties, including some of the worlds most highly trafficked Web sites.
Replication enables MySQL to copy changes from one instance to another (i.e. from
the master to one or more slave instances). This is used to increase both the
3

https://www.oracle.com/corporate/pressrelease/mysql-5-7-ga-101915.html

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

availability and scalability of a database, enabling MySQL to scale-out beyond the


capacity constraints of a single system by distributing queries across the replication
cluster.
MySQL 5.7 delivers a number of replication enhancements improving scalability and
availability, including:

Multi-Source Replication

MySQL Multi-Source Replication enables a replication slave to receive transactions


from multiple sources simultaneously. Multi-source replication can be used to:
o Consolidate data from multiple servers to a single server
o Back up multiple servers to a single server
o Merge table shards

Transaction Based Parallel Replication

MySQL 5.7 adds intra-schema multi-threaded slaves. With this implementation the
slave will be able to apply transactions in parallel, even within a single database or
schema, as long as they have a disjoint read and write set. This work allows the
slave to keep up with the master, thus eliminating the most common cause of slave
lag.

Online Replication Changes

You can now enable Global Transaction ID based replication as an online operation,
allowing you to take advantage of next generation replication features without
incurring downtime in your MySQL production environments.

Semi-Sync Replication Enhancements

The Semi-Sync replication plugin has improved semantics that provide better
performance and reliability.

For early testing and feedback, MySQL Group Replication is available at


http://labs.mysql.com. Group Replication delivers active/active write-anywhere
replication clusters to MySQL, with support for automatic conflict detection and
resolution.

MySQL Router
MySQL Router is lightweight middleware that provides transparent routing between
your application and any backend MySQL Servers. It can be used for a wide variety
of use cases, such as providing high availability and scalability by effectively routing
database traffic to appropriate backend MySQL Servers. The pluggable architecture
also enables developers to extend MySQL Router for custom use cases.
Failover
Typically, a highly available MySQL setup consists of a single master and multiple
slaves and it is up to the application to handle failover, in case the MySQL master
becomes unavailable. Using MySQL Router, application connections will be
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

transparently routed based on load balancing policy, without implementing custom


application code.
Load Balancing
MySQL Router provides additional scalability and performance by distributing
database connections across a pool of servers. For example, if you have a replicated
set of MySQL Servers, MySQL Router can distribute application connections to them
in a round-robin fashion.
MySQL Router also provides cross-language support for MySQL Fabric, making it
simpler to manage groups of MySQL databases and delivering both high availability
and scalability through automated data sharding.
Indeed, as modern applications become more and more interactive the proportion of
writes will continue to increase. The ubiquity of social media means that the age of
the publish once and read a billions times web site is over. Add to this the promise
offered by Cloud platforms - massive, elastic scaling out of the underlying
infrastructure - and you get a huge demand for scaling out to dozens, hundreds or
even thousands of servers. By deploying MySQL with sharding and replication,
leading social networking sites such as Facebook, Tumblr, Twitter and Pinterest
have been able to exponentially scale their MySQL databases.

Sharding and High Availability with MySQL Fabric


Sharding is commonly used by large web properties to increase the scalability of
write operations across their database. Sharding, also called application partitioning,
involves the application dividing the database into smaller data sets and distributing
them across multiple servers. This approach enables very cost effective scaling, as
low-cost commodity servers can be easily deployed when capacity requirements
grow. In addition, query processing affects only a smaller sub-set of the data, thereby
boosting performance.
While effective, sharding has required developers and DBAs to invest a lot of effort in
building and maintaining complex logic at the application and management layers,
detracting from higher value activities. The introduction of MySQL Fabric makes all of
this far simpler. MySQL Fabric is designed to manage pools of MySQL Servers,
enabling scale out through automated data sharding. MySQL Fabric additionally
delivers High Availability with automatic failure detection and failover.
MySQL Fabric automates sharding with the connectors routing requests to the server
(or servers if also using MySQL Fabric for High Availability) based on a sharding key
provided by the application. If one shard gets too big then MySQL Fabric can split the
shard while ensuring that requests continue to be delivered to the correct location.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

MySQL Fabric provides high availability and database sharding for MySQL Servers

High Availability (HA) also goes beyond coping with failures - with always connected,
mobile apps and global services, the concept of a "maintenance window" where
system downtime can be scheduled is a thing of the past for most applications. It's
traditionally been the job of the application or the DBA to detect the failure and
promote one of the slaves to be the new master. Making this whole system Highly
Available can become quite complex and diverts development and operational
resources away from higher-value, revenue generating tasks.
For High Availability, MySQL Fabric will manage the replication relationships, detect
the failure of the master and automatically promote one of the slaves to be the new
master. This is all completely transparent to the application.
MySQL Fabric provides a simple and effective option for High Availability as well as
the option of massive, incremental scale-out. It does this without sacrificing the
robustness of MySQL and InnoDB; requiring major application changes or needing
your Dev Ops teams to move to unfamiliar technologies or abandon their favorite
tools.
For more information about MySQL Fabric, get the MySQL Fabric Product Guide.
If applications involve high volumes of write operations coupled with the need for
very low latency and 99.999% availability, it is worthwhile considering MySQL
Cluster.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

10

5. MySQL Cluster, Real-time in-memory


Performance and High Availability
MySQL Cluster is an open source, ACID-compliant transactional database designed
to deliver real-time in-memory performance and 99.999 percent availability. It powers
the subscriber databases of major communications service providers and is used in
global fraud detection for financial transactions. Designed around a distributed, multimaster architecture with no single point of failure, MySQL Cluster scales horizontally
on commodity hardware with auto-sharding to serve read and write intensive
workloads, accessed via SQL and NoSQL interfaces.
MySQL Cluster has many attributes that make it ideal for new generations of highly
dynamic, highly scalable applications:

Auto-Sharding for High Write Scalability


MySQL Cluster is designed to support write-intensive workloads with the ability to
scale across hundreds of nodes allowing services to start small and expand quickly
as demand takes-off.
MySQL Cluster is implemented as an active / active, multi-master database ensuring
updates can be handled by any data node, and are instantly available to all of the
other clients accessing the cluster. Tables are automatically sharded across a pool of
low cost commodity data nodes, enabling the database to scale horizontally to serve
read and write-intensive workloads, accessed both from SQL and directly via NoSQL
APIs. By automatically sharding tables at the database layer, MySQL Cluster
eliminates the need to shard at the application layer, greatly simplifying application
development and maintenance. Sharding is entirely transparent to the application,
which can connect to any node in the cluster and have queries automatically access
the correct shard(s) in order to satisfy a query or commit a transaction.
It is important to note that unlike other distributed databases, users do not lose the
ability to perform JOIN operations or sacrifice ACID-guarantees when performing
queries and transactions across shards. Adaptive Query Localization (AQL) pushes
Copyright 2015, Oracle and/or its affiliates. All rights reserved.

11

JOIN operations down to the data nodes where they are executed locally and in
parallel, significantly reducing network hops and delivering up to 70x lower latency.
Referential integrity is maintained between tables with Foreign Keys which are
enforced on both the SQL and NoSQL APIs. Those tables can live in different
shards, and even in different data centers.
As a result of technologies such as AQL, MySQL Cluster can serve real-time
analytics across live data sets, along with high throughput OLTP operations.
Examples include recommendations engines and clickstream analysis in web
applications, pre-pay billing promotions in mobile telecoms networks or fraud
detection in payment systems, such as those used by PayPal who rely on MySQL
Cluster to protect nearly $150B of transactions per year.
Scaling Across Data Centers
Web services are global and developers want to ensure their databases can scaleout across regions. MySQL Cluster offers full active-active Geographic Replication,
allowing the same data to be accessed in clusters located in data centers
separated by arbitrary distances. This reduces the effects of geographic latency by
pushing data closer to the user, as well as providing a capability for geographic
redundancy and disaster recovery.
MySQL Cluster also offers Multi-Site Clustering, providing additional options for cross
data center scalability and fault tolerance. Data nodes can be split across data
centers with synchronous replication between them.
Whether you are replicating within the cluster, across data centers or between
storage engines, all replication activities are performed concurrently so users can
combine scaling and High Availability (HA) strategies.

Benchmarking Scalability & Performance on Commodity Hardware


Benchmarking Scaling SQL Performance
The DBT2 Benchmark4 has been used to assess how
well SQL performance scales as more data nodes are
added.
As can be seen, the scaling of SQL reads is almost
linear and with 16 data nodes, a throughput of 2.5
Million SQL operations per second is achieved.
This equates to around 5 Million Transactions Per
Minutes or 2.2 Million NewOnly TPM.

This benchmark was performed with each data node


running on a dedicated 56 thread Intel E5-2697 v3 Scaling SQL Reads to 2.5 Million Reads/Second
(Haswell) machine.

http://dev.mysql.com/downloads/benchmarks.html

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

12

Benchmarking Scaling NoSQL Performance


FlexAsync Reads

200,000,000

Reads per second

The flexAsynch benchmark has been used to


measure how NoSQL performance scales as
more data nodes are added to the cluster. These
tests were performed on the same hardware as
the DBT2 benchmark above but scaled out to 32
data nodes (out of a maximum supported 48).
Again, it can be observed that the scaling is
virtually linear. At 32 data nodes, the throughput
hits 200 Million NoSQL Queries Per Second.

250,000,000

150,000,000

100,000,000

50,000,000

Note that the latest results and a more complete


description of the tests can be found at the
MySQL Cluster Benchmark page5.

10

12

14

16

18

20

Data Nodes

200 Million NoSQL Reads/Second

These results demonstrate how users can build a highly performing, highly scalable
MySQL Cluster from low cost commodity hardware to power their most missioncritical web services.

On-Line Schema Evolution


As services evolve, developers may want to add new functionality, which may
demand updating the database schema. This operation can be very disruptive for
many databases, with ALTER TABLE commands taking the database offline for the
duration of the operation. MySQL Cluster supports on-line schema changes,
enabling users to add new columns and tables and add and remove indexes all
while continuing to serve read and write requests, and without affecting response
times.

MySQL Cluster 7.4


The latest version, MySQL Cluster 7.4, delivers greater performance, high
availability, and advanced management capabilities to power highly demanding
telecommunications, web, mobile, and cloud services. Enhancements include:

Greater in-memory performance and scalability: According to the


SysBench benchmark, MySQL Cluster 7.4 can deliver a nearly 50 percent
performance improvement over MySQL Cluster 7.3 for read-only workloads
and nearly 40 percent improvement for read/write operations. Performance
improvements are available through SQL or any of the native NoSQL APIs
supported by MySQL Cluster, including Java, C++, HTTP, Memcached, and
JavaScript/Node.js. Additionally, MySQL Cluster 7.4 established new records
of 200 million NoSQL reads per second with 32 data nodes and nearly 2.5
million SQL statements per second with 16 data nodes.
Improved workload efficiency for analytics: Users can now efficiently run
application workloads involving complex analytics and ad hoc searches on
5

http://www.mysql.com/why-mysql/benchmarks/mysql-cluster/

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

13

22

24

26

28

30

32

MySQL Cluster using the same memory-optimized tables that provide submillisecond low latency and extreme levels of concurrency for OLTP
workloads. These durable in-memory tables can be used in combination with
disk-based tables.
New geographic redundancy features for high availability across data
centers: The latest release provides rollback of any conflicting transactions,
enabling full active-active, update-anywhere replication between
geographically distant clusters, with applications able to send reads and
writes to any site without compromising on consistency.
Advanced management capabilities: MySQL Cluster for both on-premises
and cloud-based deployments features the following improvements:
o New reports on distributed memory use and database operations,
enabling more effective management;
o Additional performance tuning options;
o Faster online maintenance operations, including the ability to roll out
software upgrades as much as 5x faster.

In summary, MySQL Cluster enables users to meet the database challenges of


highly demanding next generation web, cloud, and communications services with
uncompromising scalability, uptime and agility - without sacrificing ACID properties.
How are customers successful with MySQL Cluster for demanding Web
applications? Read the following case studies to find out:
Big Fish Selects MySQL Cluster to Serve Real-Time Web Recommandations
http://www.mysql.com/why-mysql/case-studies/mysql-cs-bigfish.html
MySQL Cluster Powers El Chavo from Playful Play, Latin Americas Most
Popular Facebook Game
https://blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo

The MySQL Cluster demo provides you with a 5 min overview of MySQL Cluster:
https://www.youtube.com/watch?v=A7dBB8_yNJI

6. The Best of Both Worlds: SQL AND NoSQL


In MySQL 5.7 a new data type for storing JSON data in MySQL tables has been
added. Having a native data type for JSON provides some major benefits:

Document Validation - Only valid JSON documents can be stored in a


JSON column, so you get automatic validation of your data.
Efficient Access - More importantly, when you store a JSON document in a
JSON column, it is not stored as a plain text value. Instead, it is stored in an
optimized binary format that allows for quicker access to object members and
array elements.
Performance - Improve your query performance by creating indexes on
values within the JSON columns. This can be achieved with functional
indexes on virtual columns.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

14

Convenience - The additional inline syntax for JSON columns makes it very
natural to integrate Document queries within your SQL. For example
(features.feature is a JSON column):
SELECT feature->"$.properties.STREET" AS property_street FROM features
WHERE id = 121254;

With MySQL 5.7, you can now seamlessly blend the best of the Relational and
Document paradigms in a single tool, using whatever is best for each specific
application and use case. This opens up a tremendous number of new use cases for
MySQL users.

Oracle had also implemented NoSQL interfaces directly to the InnoDB and MySQL
Cluster (NDB) storage engines, which bypass the SQL layer completely. Without
SQL parsing and optimization, Key-Value data can be written directly to MySQL
tables up to 9x faster, while maintaining ACID guarantees. In addition, users can
continue to run complex queries with SQL across the same data set.

Memcached Implementation for InnoDB


The Memcached API for InnoDB was released with MySQL 5.6. As illustrated in the
following figure, Memcached for InnoDB is implemented via a Memcached daemon
plugin to the mysqld process, with the Memcached protocol mapped to the native
InnoDB API.

With the Memcached daemon running in the same process space, users get very low
latency access to their data while also leveraging the scalability enhancements
delivered with InnoDB and a simple deployment and management model. Multiple
web / application servers can remotely access InnoDB tables via the memcached
API to get direct access to a shared data set.
With simultaneous SQL access, users can maintain all the advanced functionality
offered by InnoDB including support for Foreign Keys, Full Text Search, and complex
JOIN operations.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

15

SQL and NoSQL Interfaces in MySQL Cluster


As MySQL Cluster stores tables in network-distributed data nodes, rather than in the
MySQL Server, there are multiple interfaces available to access the database. We
have already discussed the Memcached API but MySQL Cluster offers other
interfaces as well for maximum developer flexibility.
The chart below shows some of the access methods available to the developer. The
native API for MySQL Cluster is the C++ based NDB API. All other interfaces access
the data through the NDB API. At the extreme left hand side of the chart, an
application has embedded the NDB API library enabling it to make native C++ calls
to the database, and therefore delivering the lowest possible latency. On the extreme
right hand side of the chart, MySQL presents a standard SQL interface to the data
nodes, and provides connectivity to all of the standard MySQL connectors.

Ultimate Developer Flexibility MySQL Cluster APIs


Whichever API is used to insert or query data, it is important to emphasize that all of
these SQL and NoSQL access methods can be used simultaneously, across the
same data set, to provide the ultimate developer flexibility.

7. The Worlds Most Popular Open Source


Database
As the worlds most popular open source database, MySQL is at the center of what
has come to be called the MySQL Ecosystem. This ecosystem comprises millions
of developers, DBAs, System Administrators, DevOps Managers as well as partners
including both large corporations and thousands of mid-size organizations - all
enhancing the value of relying on MySQL.
The fact that MySQL is the worlds most popular open source database presents a
number of advantages including:

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

16

Product Maturity
MySQL is a proven and mature solution. It has evolved over the years benefitting
from feedback from a huge number of developers and DBAs - relying on it for the
most demanding Web applications in the world, pushing its limits, and contributing in
a number of ways to the performance, reliability and ease of use of MySQL.
Blogs from engineering managers at successful Web properties such as Pinterest
and Etsy have highlighted the wisdom of selecting proven and mature technologies,
whether for new startups or projects:
https://blogs.oracle.com/MySQL/entry/on_choosing_mature_technologies

Wide Availability of Competencies


Chances are that developers, DBAs, System Administrators or DevOps Managers in
your organization are already familiar with MySQL. If not, it will be easy for you to
find MySQL competencies. MySQL consistently rates as the #1 or #2 IT skill needed
for Linux professionals in the Linuxcareer.com IT skills watch update:
http://www.linuxcareer.com/it-skills-watch
Additionally, numerous consulting companies offer MySQL-related services in
addition to those offered by Oracle.

Ubiquity: Platforms and languages


MySQL is available on all major platforms: Linux, Microsoft Windows, Oracle Solaris,
Apple Mac OS, FreeBSD and more.
MySQL has connectors for all key development languages including PHP, Perl,
Python, Java, C, C++, C# and Ruby but also Node.js, Go and more.

Integration with third party tools:


MySQL integrates with a wide range of third party solutions for High Availability,
Backup, Business Intelligenceetc. They include both open source software such as
DRBD, Jaspersoft, Talend or Pentaho, and proprietary solutions such as Windows
Server Failover Clustering, SAPs Business Object or Symantec.
Additionally Oracle is integrating MySQL with relevant Oracle solutions. Completed
certifications include so far:

Oracle Linux
Oracle VM
Oracle Enterprise Manager
Oracle GoldenGate
Oracle Secure Backup
Oracle Audit Vault & Database Firewall
Oracle Fusion Middleware
Oracle Clusterware
Oracle OpenStack for Oracle Linux
MyOracle Online Support

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

17

The MySQL Community


The vast, very active and passionate MySQL Community represents a crucial
advantage for all MySQL users. For example:

MySQL has been battle tested in such a wide variety of use cases that it is
very likely someone else (or many actually) already faced the same issue you
are or will be confronted by. You will therefore easily be able to get help
online and find the answer to your questions.

Various extensions, driversetc have been developed for MySQL and are at
your disposal.

New features and releases are exposed to millions of eye balls, in front of
which all bugs are shallow6. They therefore mature faster to a reliable
production quality.

Beyond its technical merits, the MySQL ecosystem therefore represents another
crucial benefit to MySQL users, and offers additional reasons to rely on the worlds
most popular open source database.

8. Lower TCO
By selecting MySQL for their web-based applications, startups and established
corporations alike are realizing significant cost savings. Accomplished through the
use of the MySQL database and scale-out architectures that utilize low-cost
commodity hardware, organizations are finding that they can achieve very high
levels of scalability, availability and performance, while significantly lowering their
Total Cost of Ownership. In addition, the reliability and manageability of MySQL
means that database administrators don't waste time troubleshooting performance
or availability issues, but instead can concentrate on making a positive impact by
focusing on higher level and more strategic tasks.
Below is a chart which compares the 3 year database TCO of MySQL Enterprise
Edition vs. Microsoft SQL Server 2012 Enterprise Edition.

Linus Law: http://en.wikipedia.org/wiki/Linus%27s_Law

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

18

MySQL vs. Microsoft SQL Server 2012


3 Year TCO
$1,539,776
$1,600,000
$1,400,000
$1,200,000
$1,000,000
$800,000
$600,000
$400,000

$60,000

$200,000
$0
MySQL Enterprise Edition
Microsoft SQL Server
Enterprise Edition

Hardware Configuration:
Intel x86_64 Servers: 4, CPUs/Server: 4, Cores/CPU: 8
Microsoft Price Increases
Microsoft increased prices of Microsoft SQL Server 2012 for customers who want to take advantage of the latest
multi-core hardware. Microsoft SQL Server 2012 is licensed Per Core.
Microsoft SQL Server vs. MySQL: 3 Year Database TCO
The table below presents a simple comparison of licensing costs between MySQL Enterprise Edition and
Microsoft SQL Server Enterprise Edition. Pricing is based on publicly available list price information:
Microsoft
http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-licensing.aspx
MySQL Enterprise Edition:
http://www.mysql.com/products/
Hardware Configuration:
- Web application (Unlimited Users)
- Windows
- Intel x86_64
- CPUs/Server: 4
- Cores/CPU: 8
- Total Servers: 4
- Total CPUs: 16
- Total Core: 128
List Prices
Microsoft SQL Server Enterprise Edition
MySQL Enterprise Edition
License + 3 Year Support
3 Year Subscription
License List Price
$6,874/Core
N/A
Support List Price
25% of List Price
N/A
Subscription List Price
N/A
$5,000/Server/Year
Annual Savings
Annual Support
Annual Subscriptions
Annual Savings ($)
Annual Savings (%)

SQL Server Enterprise Edition

MySQL Enterprise Edition


$219,968
N/A

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

N/A
$20,000
$199,968
91%

19

3 Year TCO Savings


Total License:
Total Support (3 Yrs):
Total Subscription (3 Yrs)
Total (3 Years)
Total Savings ($)
Total Savings (%)

SQL Server Enterprise Edition


License + 3 Year upport

MySQL Enterprise Edition


3 Year Subscription
$879,872
$659,904
N/A
$1,539,766

N/A
N/A
$60,000
$60,000
$1,479,766
96%

You can customize Oracles MySQL TCO Savings Calculator with your system
configuration at: http://www.mysql.com/tcosavings/

9. MySQL Enterprise Edition


MySQL Enterprise Edition reduces the risk, cost and time required in developing,
deploying and managing business-critical MySQL applications.
MySQL Enterprise Edition includes the most comprehensive set of MySQL
advanced features, management tools and technical support to help you achieve
the highest levels of MySQL performance, scalability, security and uptime.
In addition to the MySQL Database, MySQL Enterprise Edition includes:

Oracle Premier Support for MySQL: Staffed with MySQL Experts, Oracles
dedicated MySQL technical support team can help you solve your most
complex issues rapidly, and make the most of your MySQL deployments.
Oracle MySQL Support Engineers are available 24/7/365 either online or by
phone, and have direct access to the MySQL developers. Oracle Premier
Support does not include any limit on the number of support incidents, and
you get support in 29 languages. Additionally, Oracle Premier Support
includes consultative support, a proactive approach designed to help you
avoid critical outages. MySQL Support Engineers advise you on how to
properly setup and tune your MySQL servers, schema, queries, and
replication set-up to maximize performance and availability. And by taking the
initiative to properly design and tune your MySQL database applications you
can avoid having to purchase expensive hardware for your IT infrastructure.
MySQL Enterprise Backup: Reduces the risk of data loss by delivering
online "Hot" backups of your databases.
MySQL Enterprise Monitor: The MySQL Enterprise Monitor and the MySQL
Query Analyzer continuously monitor your databases and alert you to
potential problems before they impact your system. It's like having a "Virtual
DBA Assistant" at your side to recommend best practices to eliminate security
vulnerabilities, improve replication, optimize performance and more. As a
result, the productivity of your developers, DBAs and System Administrators
is improved significantly.
MySQL Enterprise Scalability: Enables you to meet the sustained
performance and scalability requirements of ever increasing user, query and
data loads. MySQL Thread Pool provides an efficient, thread-handling model
designed to reduce overhead in managing client connections, and statement
execution threads.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

20

MySQL Enterprise Authentication: Provides ready to use external


authentication modules to easily integrate MySQL with existing security
infrastructures including PAM and Windows Active Directory.
MySQL Enterprise Encryption: To protect sensitive data throughout its
lifecycle, MySQL Enterprise Encryption provides industry standard
functionality for asymmetric encryption (Public Key Cryptography). MySQL
Enterprise Encryption provides encryption, key generation, digital signatures
and other cryptographic features to help organizations protect confidential
data and comply with regulatory requirements including HIPAA, SarbanesOxley, and the PCI Data Security Standard.
MySQL Enterprise Audit: Enables you to quickly and seamlessly add policybased auditing compliance to new and existing applications. You can
dynamically enable user level activity logging, implement activity-based
policies, manage audit log files and integrate MySQL auditing with Oracle and
third-party solutions.
MySQL Enterprise Firewall: MySQL Enterprise Firewall guards against
cyber security threats by providing real-time protection against database
specific attacks, such as an SQL Injection. MySQL Enterprise Firewall
monitors for database threats, automatically creates a whitelist of approved
SQL statements and blocks unauthorized database activity.
MySQL Enterprise High Availability: Provides you with certified and
supported solutions, including MySQL Replication, Oracle Clusterware,
Oracle Solaris Clustering and Windows Failover Clustering for MySQL.
MySQL Workbench Enterprise Edition: Provides data modeling, SQL
development, and comprehensive administration tools for server
configuration, user administration, and much more.

Check out the MySQL Enterprise Edition demo to get a 5 min overview:
https://www.youtube.com/watch?v=IYcsc9g2mdI
MySQL Cluster CGE includes all of the above plus MySQL Cluster Manager, which
simplifies the creation and administration of the MySQL Cluster CGE database by
automating common management tasks, including on-line scaling, upgrades and
reconfiguration.
Additional MySQL Services from Oracle to help you develop, deploy and manage
highly scalable & available MySQL applications include an extensive range of
MySQL training courses (http://www.mysql.com/training/) and certifications
(http://www.mysql.com/certification/) from Oracle University and MySQL Consulting
Services (http://www.mysql.com/consulting/).

10. Oracle and MySQL


Oracle significantly invests in MySQL and drives MySQL innovation. Under Oracles
stewardship the MySQL Engineering team delivers the best MySQL releases ever,
and produces more and better products than ever before in MySQLs history. Oracle
doubled the size of both the MySQL Engineering team and the technical support
team and tripled the size of the Quality Assurance (QA) team since the acquisition of
Sun Microsystems.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

21

Additionally, Oracle is integrating MySQL with all relevant Oracle solutions, as noted
earlier in this document.
For organizations relying on MySQL, Oracles ownership and investment in MySQL
represents excellent news at multiple levels:

The performance, scalability reliability and security of MySQL has never been
better than it is now, and keeps improving thanks to Oracles investment in
MySQL
Oracles MySQL Enterprise Edition includes the tools, support services and
indemnification provisions enabling you to safely and cost-effectively deploy
MySQL
You get all the benefits of the worlds most popular open source database,
delivered to you by the #1 database company.

Conclusion
In this whitepaper weve reviewed the top 10 reasons to choose MySQL for next
generation Web-based applications.
With ever-increasing data volumes, developers, DBAs and DevOps managers are
looking to build modern web, cloud-based and embedded applications exhibiting high
performance, scalability and manageability while maintaining the highest levels of
reliability and data integrity. MySQL allows them to precisely do so, without tradeoffs.
Oracle drives MySQL Innovation and keeps extending the worlds most popular open
source database capabilities to ensure it will continue to represent the best platform
available for modern Web-based applications enabling digital transformation.

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

22

Additional Resources
MySQL Whitepapers
http://www.mysql.com/why-mysql/white-papers/
MySQL Webinars:
Live: http://www.mysql.com/news-and-events/web-seminars/index.html
On Demand: http://www.mysql.com/news-and-events/on-demand-webinars/
MySQL Enterprise Edition Demo:
https://www.youtube.com/watch?v=IYcsc9g2mdI
MySQL Cluster Demo:
https://www.youtube.com/watch?v=A7dBB8_yNJI
MySQL Enterprise Edition Trial:
http://www.mysql.com/trials/
MySQL Case Studies:
http://www.mysql.com/why-mysql/case-studies/
MySQL TCO Savings Calculator:
http://mysql.com/tco
To contact an Oracle MySQL Representative:
http://www.mysql.com/about/contact/

Copyright 2015, Oracle and/or its affiliates. All rights reserved.

23

You might also like