Postgres Welcomes MySQL Users

An EnterpriseDB White Paper

For DBAs, Architects & IT Directors March 2014 Postgres Welcomes MySQL Users

Table of Contents

Introduction 3

Destination Postgres 3

What You'll Find in Postgres 4

Native ACID Compliance 4

Greater Security 5

Greater Language Support 5

Extensibility and Predictability 6

PostgreSQL and Postgres Plus 6

A Partner for Postgres Migrations 7

About EnterpriseDB 9

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 2 Postgres Welcomes MySQL Users

Introduction

The rapid and widespread adoption of MySQL was closely tied to the expansion of Internet-based applications and driven primarily by developers looking for a path of least resistance to store their data. MySQL was easy to use and fast to deploy, just what the Internet boom needed. With a first production release coming out in 1998, MySQL is a teenaged global superstar and one of the world’s most widely used relational .

The immaturity of MySQL is starting to show for many organizations whose Internet applications have grown in importance and in complexity that has moved rapidly beyond MySQL’s ability to service specific needs. Concerns over MySQL’s performance and operational quirks have lit up database forums as data demands have expanded and companies have begun to place greater value on their information.

The continuing uncertainty over Oracle’s ownership of MySQL’s intellectual property and control over the development as well as subsequent multiple forks of the open source project has also prompted many MySQL users to abandon the database or seek other open source based alternatives. Google, Wikipedia and Red Hat are some of the largest companies to recently abandon MySQL.

Destination Postgres

Postgres has become the leading destination for many enterprise

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 3 Postgres Welcomes MySQL Users

MySQL users seeking more robust capabilities, reliability, solid performance and a principled independent development community guiding the core database code. A survey conducted in spring 2012 by The 451 Group found that Postgres was the most popular alternative for MySQL users planning to quit the database. “MySQL became the default database of choice for web applications. However, in many cases, it has been stretched beyond its capacity, especially for applications with growing transaction rates and growing numbers of concurrent users,” said Matt Aslett, analyst at The 451 Group, in a corporate release revealing the findings of another survey about MySQL users experiencing difficulties scaling.

What You'll Find in Postgres

Postgres’ long-term support for and focus on server side programs (triggers and stored procedures), ACID compliance, data and , and fine-grained access controls are much more mature and stable than MySQL, which only recently has started implementing some of these features.

While not an exhaustive side-by-side comparison, the following are a few key differences between Postgres and MySQL and some of the benefits data professionals will find in working with Postgres.

Native Acid Compliance MySQL achieves ACID compliance through a separate storage engine, like InnoDB. Sidestepping the intricacies of database development that adhered to generally accepted standards for Atomicity, Consistency, Isolation and Durability (ACID) of transaction data was the price many users paid for the simplicity and speed of deploying MySQL. ACID compliance would have made the database more complex and when web development was moving at Internet speed there wasn’t time to invest in understanding existing open source relational databases like Postgres.

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 4 Postgres Welcomes MySQL Users

Web-based applications are no longer driven by a Wild West mentality and their growth into bona-fide mission critical applications has meant companies are seeking more standards, features, stability and reliability to standards. Organizations are also putting greater value on their data and determining they require the rigors of true ACID compliance.

Greater Security At the developer level, Postgres offers greater capacity for setting security parameters than MySQL. Similar to MySQL, Postgres restricts certain users to certain kinds of data access. Postgres calls these “roles” and they are managed by the commands CREATE ROLE, ALTER ROLE, and DROP ROLE.

However, unlike MySQL, Postgres enables these to be linked to system users, allowing Postgres to offer different forms of authentication to the database: ident server authentication, the Lightweight Directory Access Protocol (LDAP) server authentication, a pluggable authentication module (PAM) and . For local connections, developers can use filesystem permissions by changing who can access the UNIX domain socket and where it is located. Other authentication types that Postgres supports include Secure Sockets Layer (SSL), RADIUS, Trust, Password, the Generic Security Service Application Program Interface (GSSAPI) and the Security Support Provider Interface (SSPI).

Greater Language Support Postgres provides application developers more choices of languages for writing server-side programs with triggers, stored procedures and functions. With Postgres, it is highly likely that the language used by the developer to write the client side of their application (GUI and business logic) is also available on the server side with more business logic and functions better situated in the database for security and performance.

While MySQL offers the MySQL , Postgres

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 5 Postgres Welcomes MySQL Users

offers the following programming languages: PL/pgSQL, PL/SQL, Java, Python, Ruby, /C++, PHP, , , Scheme. Postgres also offers the following interfaces: OCI, libpq, JDBC, ODBC, .NET, Perl, Python, Ruby, C/C++, PHP, Lisp, Scheme, and .

Extensibility and Predictability Postgres was designed from inception to be highly extensible. As a result, there are very few edge cases, compared to many in MySQL, which require developers to continually pay significant attention to, and memorize, documentation. There are other benefits to the extensibility of Postgres as well, such as:

• Wide variety of built-in data types including JSON, XML, HSTORE (key-value), Geo-spatial (PostGIS), IPv6 • Flexible indexing, featuring composite indexes, GiST, SP- GiST, GIN, Full Text Search, online index reorganization • Background workers such as a managed known as Mongress, which accepts MongoDB queries to interface with Postgres data • Contrib module interface: pgcrypto (data encryption), pg_trgm (find 'similar' data), HSTORE (schema-less data) • Extensive SQL support, whereas MySQL's SQL support is limited. For example, there are no hierarchical queries with CONNECT BY, INTERSECT in MySQL.

PostgreSQL and Postgres Plus

The open source community PostgreSQL, often called simply Postgres, is guided by a highly principled PostgreSQL Global Development Group and contributions come from what is now the world’s largest independent open source development community. As stated, Postgres has emerged as a powerful alternative to proprietary management systems and as noted, is the leading open source alternative to MySQL.

Advances in Postgres over the past three years have added powerful

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 6 Postgres Welcomes MySQL Users new features and capabilities for evolving data challenges. With each new release from the community, EnterpriseDB (EDB) has also advanced its Postgres Plus Advanced Server software with security, performance and manageability enhancements that most large or security-conscious organizations require.

Recent performance enhancements have emphasized processor core scalability, partitioning, sorting, indexing, lock management and optimizer hints to enable EDB's flagship Postgres Plus database to handle applications across all mission tiers. Further, EDB has developed enterprise-class tools to enable database administrators to easily manage more, and bigger, Postgres database deployments with regard to monitoring, tuning, high availability and replication.

In addition, the Oracle compatibility in Postgres Plus Advanced Server provides popular Oracle data types and catalog views and a procedural language that executes Oracle PL/SQL and understands Oracle SQL extensions and syntax. This enables organizations to migrate from Oracle to Postgres or co-exist with Oracle while driving down costs and continuing to utilize much of their investment in Oracle applications, tools and training.

Further, Postgres is SQL-standards based and, having been originally designed from the same research that produced Oracle, is comparable in many ways to Oracle so many DBA skills transfer. It’s important to note that MySQL has many limits to its adherence to SQL standards.

A Partner for Postgres Migrations

EnterpriseDB is the largest Postgres software and services provider. EDB draws on core community expertise and the experiences from working with thousands of customers and some of the world’s largest companies and government agencies. In addition to Postgres software, EDB provides a full suite of professional services, training and support to help organizations deploy Postgres successfully. When making the transition from MySQL to Postgres, organizations can rely upon EDB

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 7 Postgres Welcomes MySQL Users

for the migration and integration expertise to plan implementations and deployments.

Today, Postgres successfully powers mission-critical applications at some of the world's largest brands. In fact, a survey of EDB customers found that more users had deployed Postgres for mission-critical applications than non-mission-critical. EDB’s customers worldwide include ABN AMRO Bank, Grupo BBVA, Deutsche Börse AG, Ericsson, Fujitsu, KT Corp., Lockheed Martin, McKesson Corp., Nippon Telegraph & Telephone (NTT) and RSA Security. In all, EDB’s customers include 50 of the Fortune 500 list of largest US companies and 98 of the Forbes Global 2000 list of the largest companies in the world.

In addition to enterprises, EDB works with more than 40 government agencies with Postgres deployments. Federal agencies using Postgres include the Federal Aviation Administration (FAA), the National Aeronautical and Space Administration (NASA), the Department of State, the Department of Labor and the US Army. The US government, in fact, has a long history with Postgres. The original Postgres project, begun in the mid-1980s, was funded in part by the Defense Advanced Research Projects Agency (DARPA), a division of the Department of Defense that funds advanced research.

Since that time Postgres has become the most advanced open source database with a dedicated community of contributors ensuring high levels of quality and security with each release. Further, by providing an ecosystem of support, professional services and training, EDB dramatically reduces the risk of deploying Postgres to support mission critical and non-mission-critical applications and shortens the time to production.

EnterpriseDB’s evaluation and migration assessment methodologies and experienced professionals will help you plan your migration. Contact us at +1-877-377-4352 or +1-781-357-3390, or send an email to [email protected] to get started on your migration.

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 8 Postgres Welcomes MySQL Users

About EnterpriseDB

EnterpriseDB is the leading worldwide provider of Postgres software and services that enable enterprises to reduce their reliance on costly proprietary solutions and slash their database spend by 80 percent or more. With powerful performance and security enhancements for PostgreSQL, sophisticated management tools for global deployments and Oracle compatibility, EnterpriseDB software supports both mission and non-mission critical enterprise applications. More than 2,400 enterprises, governments and other organizations worldwide use EnterpriseDB software, support, training and professional services to integrate open source software into their existing data infrastructures. Based in Bedford, MA, EnterpriseDB is backed by top-tier venture capitalists and strategic investors like Red Hat and IBM. For more information, please visit http://www.enterprisedb.com/.

20140312

© 2014 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB Corporation. Other names may be trademarks of their respective owners. http://www.enterprisedb.com Page: 9