Percona Server for MySQL 8.0 Walkthrough

我们的Percona Server for MySQL8.0软件是该公司免费的、增强的、嵌入式的MySQLCommunityEdition替代品。Percona Server for MySQL8.0包含了MySQLCommunityEdition8.0中的所有重要功能。它还包括Percona提供的免费和开源的企业级功能。Percona Server for MySQL受到数千家企业的信任,以满足他们对成熟、经验证、经济高效的MySQL解决方案的需求,该解决方案提供卓越的性能和可靠性。


1. Percona Server for MySQL 8.0 Walkthrough Overview, Features, and Future Direction Tyler Duzan Product Manager – MySQL Software & Cloud 01/08/2019 1 © 2019 Percona

2.About Percona Solutions for your success with MySQL, MongoDB, and PostgreSQL Support, Consulting, Managed Services, and Software Our Software is 100% Open Source and Free Support Broad Ecosystem – MySQL, MariaDB, Amazon RDS, and others In Business for 12 years More than 3000 customers, including top Internet companies and enterprises 2 © 2019 Percona

3.Who Am I? • My name is Tyler Duzan • Formerly an Operations Engineer for 12 years, using MySQL in production for 5 of those years. • Product Manager at Percona for MySQL Software and our Cloud and Container initiatives 3 © 2019 Percona

4.Outline 1. Overview of Percona Server for MySQL • What is Percona Server for MySQL? • Percona Development Processes 2. Percona Server for MySQL 8.0 Features • Features from MySQL 8.0 • MyRocks • Enterprise Features • Enhanced Encryption • Performance 3. Future Directions for Percona Server for MySQL 8.0 4. Conclusion and Q&A 4 © 2019 Percona

5.Overview of Percona Server for MySQL 5 © 2019 Percona

6.What is Percona Server for MySQL? • First release in December 2008 • Focused on performance and stability improvements layered on top of MySQL Community Edition • Addresses a need for deeper diagnostics and performance tuning capabilities • Provides a place to develop new storage engines and strategies • XtraDB developed as high performance drop-in replacement for InnoDB • TokuDB focused on write-heavy workloads, supports fractal-tree indexes • MyRocks focused on write-heavy workloads, supports LSM trees • MySQL Enterprise features available in an open-source release • Expedited bug fixes for Percona Support customers and shared with the community 6 © 2019 Percona

7.What is Percona Server for MySQL? Enterprise Community Bug Fixes Performance Features Features Enterprise Level QA MySQL Community 7 © 2019 Percona

8.Percona Development Process • Percona Server for MySQL is a set of feature addition and bugfix patches maintained as a versioned set. All work is public to the community through GitHub and Jira. • After each release of MySQL Community Edition, Percona Engineering performs a merge of our patches onto the MySQL CE code base. • The merged outcome is tested by our QA team, including significant additional automated tests written by Percona • Because we build from a MySQL CE base each time, Percona Server for MySQL is not a fork and is fully drop-in compatible with MySQL. 8 © 2019 Percona

9.Percona Server for MySQL 8.0 Features 9 © 2019 Percona

10.Features from MySQL 8.0 Community Edition • MySQL Document Store—Combining NoSQL functionality within the X API along with JSON enhancements such as new operators and functions enables developers to use MySQL 8.0 for non-relational data storage without the need for a separate NoSQL database. • Stronger SQL—With the addition of Window Functions, Common Table Expressions, Unicode safe Regular Expressions, and other improvements MySQL 8.0 provide broader support for the range of SQL standard functionality. • Transactional Data Dictionary—Enables atomic and crash-safe DDL operations, enhancing reliability, and eliminating the need for metadata files. • Security—SQL Roles, SHA2 default authentication, fine-grained privileges, and other enhancements make MySQL 8.0 more secure and adaptable to your organization’s compliance needs. • Geospatial—New SRS aware spatial data types, spatial indexes, and spatial functions, enabling the use of MySQL 8.0 for complex GIS use-cases. 10 © 2019 Percona

11.MyRocks • MyRocks went GA in Percona Server for MySQL 5.7.21-21 (April 2018) • Based on the RocksDB storage library from Facebook, integrated into Percona Server with work from Facebook and Percona • Starting with Percona Server for MySQL 8.0.13-3 (December 2018), MyRocks now has support for Native Partitioning • Percona Server for MySQL 8.0.13-3 introduces significant performance improvements for MyRocks out of the box 11 © 2019 Percona

12.MyRocks • MyRocks is uniquely suitable for very write-heavy workloads, for large data sets, or for use with modern NVMe SSD hardware. • More efficient on-disk format coupled with strong compression cause MyRocks to be significantly more space-efficient compared to InnoDB, while also reducing write amplification against SSDs. This also significantly reduces IO costs in the Cloud while improving performance. • For suitable workloads on modern hardware, MyRocks outperforms InnoDB and increases efficiency and endurance of your storage, reducing costs and increasing database ROI. 12 © 2019 Percona

13.Enterprise Features • Audit Logging Plugin: Provides monitoring and logging of database activity to assist organizations in meeting their compliance objectives. This feature is comparable to MySQL Enterprise Auditing. • PAM-based Authentication Plugin: Assists enterprises in integrating Percona Server for MySQL with their single sign-on (SSO) and two- factor authentication (2FA) systems by integrating with standard PAM modules. This feature is comparable to MySQL Enterprise Authentication. • Threadpool: Supporting 10000+ connections, this feature provides significant performance benefits under heavy load. This feature is comparable to MySQL Enterprise Scalability. 13 © 2019 Percona

14.Enhanced Encryption • Improves upon Transparent Data Encryption (TDE) present in MySQL Community Edition. • Add supports for encrypting • Binary logs • Temporary files • All InnoDB tablespace types and log files • The parallel doublewrite buffer • Supports key rotation and centralized key management via Hashicorp Vault • Hashicorp Vault integration enables the use of HSMs to store the encryption keys 14 © 2019 Percona

15.Enhanced Encryption • For the 8.0.13-3 release, some of these features are still considered to be experimental, however binary log encryption and Vault integration are GA. • When used together these features are comparable to MySQL Enterprise TDE • All of the features still marked experimental will stabilize and go GA during 2019 in future 8.0 series releases. • The GA encryption features are also fully supported in Percona XtraBackup. 15 © 2019 Percona

16.Performance • InnoDB Engine Enhancements: Enables highly concurrent IO-bound workloads to see significant performance improvements through parallel doublewrite, multithreaded LRU flushers, and single page eviction. In a simple benchmark, we saw a 60% performance improvement in some workloads when comparing Percona Server for MySQL to MySQL Community Edition • Reduced Backup Impact: Lighter weight Backup Locking reduces the impact to performance and availability of performing backups. This feature makes your backups run faster and your applications perform better during long-running backups when used together with Percona XtraBackup 8.0 16 © 2019 Percona

17.Future Directions 17 © 2019 Percona

18.Disclaimer The following section is a highlight of some of the future plans for Percona Server for MySQL 8.0 and is subject to change at any time. This section of the presentation contains forward looking statements regarding future operations, product development, product capabilities and availability dates. This information is subject to substantial uncertainties and is subject to change at any time without prior notification. Statements contained in this document concerning these matters only reflect Percona's predictions and / or expectations as of the date of this document and actual results and future plans of Percona may differ significantly as a result of, among other things, changes in product strategy resulting from technological, internal corporate, market and other changes. This is not a commitment to deliver any material, code or functionality and should not be relied upon in making purchasing decisions 18 © 2019 Percona

19.TokuDB Storage Engine Deprecation • Percona Server for MySQL 8.0 release series has a targeted EOL of 2026. This will be the final release series which Percona will ship the TokuDB Storage Engine • It is our belief at Percona that MyRocks has advantages over TokuDB for similar use cases, and therefore represents a strong target for migration during the lifecycle of the 8.0 release series • We believe that MyRocks is a stronger target for continuing to advance the capabilities of open-source databases on modern hardware 19 © 2019 Percona

20.MyRocks Consistent Backups • In conjunction with the Percona Server for MySQL 8.0 release series, we are doing work in Percona XtraBackup 8.0 to support consistent backups across multiple engines • Initially, this work will add support or backing up MyRocks and InnoDB databases together to a consistent point in time • Due to the use of InnoDB for system tables even when MyRocks is the primary engine used by a server, it is necessary for both to be supported in order to get a truly consistent backup of your server with MyRocks. 20 © 2019 Percona

21.Amazon KMS Support • Similar to our plugin for enabling centralized encryption key management using Hashicorp Vault, it is apparent to us that many customers and community members are using AWS and rely on Amazon’s KMS. • Will enable the use of KMS for centralized key management in Percona Server for MySQL, inclusive of all typical KMS capabilities such as support for IAM MFA tokens and instance roles. 21 © 2019 Percona

22.Kubernetes Operators • Percona has begun work on Kubernetes Operators for Percona XtraDB Cluster and Percona Server for MongoDB. Both have had initial Early Access releases in December 2018. • We will additionally be creating an Operator in the future for Percona Server for MySQL 8.0 for users which want to make use of MyRocks in containerized environments. • This work is intended to enable organizations in the community to provide DBaaS-like self-service for their internal application development teams and increase database ROI. 22 © 2019 Percona

23.Other Upcoming Items • Additional Cloud integrations • Improved support for MyRocks replication • Improved instrumentation for PMM • Improved observability directly in the database to assist troubleshooting • Capabilities around data masking and other things to enhance compliance • Comparable feature to MySQL Enterprise Encryption 23 © 2019 Percona

24.Percona Live 2019 May 28 – 30, 2019 Hyatt Regency in Austin Texas Call for Papers is now open Connect. Accelerate. Innovate. 24 © 2019 Percona

25.Conclusion 25 © 2019 Percona

26.Is Percona Server for MySQL Right For You? • Evaluate Your Use Case: • Do you need to maintain full compatibility with MySQL for your application? • Do you prioritize performance with minimal tuning required? • Are you interested in new storage engines or have write-heavy workloads? • Do you have compute instances with databases running in the Cloud? • Does your organization have an open-source mandate and a need to meet compliance regulations? • Open Source Is About Choice • Percona offers services and support around many open source database technologies, and the list continues to grow. Whether the right fit for your organization is Percona Server for MySQL, or any of the other great technologies we support, we are happy to help your organization make the right choice and succeed using open source software. 26 © 2019 Percona

27.How Percona Can Help Percona can help you determine if Percona Server for MySQL is the right solution for your company, and help you to deploy it with optimal performance. Enterprise-class Percona MySQL Support and database administrators are available 24x7x365 to answer all your questions, ensure your deployment runs as expected and help you in a crisis. Contact us at +1-888-316-9775 (USA), +44 203 608 6727 (Europe) or have us reach out to you: 27 © 2019 Percona

28.Questions? 28 © 2019 Percona

29. DATABASE PERFORMANCE Database Performance Matters MATTERS