This document provides a summary of new features and enhancements in MySQL 5.6, including improved performance, scalability, availability, and usability. Key highlights include optimizations to the query optimizer, enhanced instrumentation via the performance schema, improvements to InnoDB and replication, and new utilities to help administer replication deployments. Oracle aims to release development milestone versions of MySQL frequently to get new features in users' hands early.
Have you ever thought that your Lambda functions could fail without you even noticing?
If the answer is YES, that’s probably because you already “burnt" yourself playing with the cloud, where errors and failures are always around the corner…
Unfortunately we can’t prevent all types of failures, but what we can do is try to spot them as soon as possible and react quickly.
In order to do that, we need good observability for our serverless applications and therefore we need to become good friends with services like CloudWatch.
If you have tried CloudWatch already, you probably know how powerful but also complex it can be…
In this talk we will approach the topic of observability for serverless applications on AWS. We will discuss best practices and how to build a good friendship with CloudWatch.
We will also present some interesting automation tools that we can use to take away most of the pain of setting up dashboards and alarms in CloudWatch, making it easier to achieve great levels of observability.
Have you ever thought that your Lambda functions could fail without you even noticing?
If the answer is YES, that’s probably because you already “burnt" yourself playing with the cloud, where errors and failures are always around the corner…
Unfortunately we can’t prevent all types of failures, but what we can do is try to spot them as soon as possible and react quickly.
In order to do that, we need good observability for our serverless applications and therefore we need to become good friends with services like CloudWatch.
If you have tried CloudWatch already, you probably know how powerful but also complex it can be…
In this talk we will approach the topic of observability for serverless applications on AWS. We will discuss best practices and how to build a good friendship with CloudWatch.
We will also present some interesting automation tools that we can use to take away most of the pain of setting up dashboards and alarms in CloudWatch, making it easier to achieve great levels of observability.
Session presented at Oracle Developer Live - MySQL, 2020. Recording available at https://developer.oracle.com/developer-live/mysql/
Abstract:
MySQL Shell is the new, advanced command-line client and editor for MySQL. It sends SQL statements to MySQL server, supports both the classic MySQL protocol and the newer X protocol, and provides scripting capabilities for JavaScript and Python. But there's more to MySQL Shell than meets the eye. It delivers a natural and powerful interface for all DevOps tasks related to MySQL by providing APIs for development and administration. This session covers MySQL Shell's core features, along with demonstrations of how to use the various APIs and how to extend MySQL Shell. We’ll address the regular interaction with databases, the built-in tools that make DBAs and developers’ lives easier, the easy and flawless set up of HA architectures, and the plugins and extensions framework.
Making MySQL highly available using Oracle Grid InfrastructureIlmar Kerm
This presentation describes how Oracle Grid Infrastructure can be used to bring high availability to any application and example is given using MySQL.
Publicly delivered:
OUGE Meetup Feb, 2014
Oracle Technology Day in Tallinn 2014
OUGN Spring Conference 2014
OUGF Harmony 2014
MySQL 5.7 is GA. Here is the news about our NoSQL features in MySQL and MySQL Cluster, with a lot of emphasize on the new JSON features that make MySQL suitable as a document store.
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
Tutorial on MySQL InnoDB Cluster and ReplicaSet, a fully integrated product built on MySQL technology, by MySQL.
MySQL InnoDB Cluster and ReplicaSet provide failover/high availability and scaling features baked in; providing an integrated end-to-end solution that is easy to use.
MySQL® 5.7 is a great release which has a lot to offer, especially in the development and replication areas. It provides a lot of new optimizer features for developers to take advantage of, a much more powerful GIS function and high performance JSON data type, allowing for a more powerful store for semi-structured data. It also features dramatically improved Performance Schema, Parallel and Multi-Source replication, allowing you to scale much further than ever before, just to give you a taste. In this webinar, we will provide an overview of the most important MySQL 5.7 features.
This webinar will be part of a 3-part series which will include MySQL 5.7 for Developers and MySQL 5.7 for DBAs.
The Software as a Service or SaaS market is large and growing. Demands of 24/7 availability, high performance, back-up, security, affordability, scalability, manageability, audit ability and easy integration when delivering your product and or service to your customers, are business challenges which we will address in this presentation. By demonstrating MySQL’s proven ability in this area, we will show how we can help new and seasoned SaaS vendors.
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
Oracle's MySQL solutions make it easy to setup various database architectures and achieve high availability with the introduction MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet meeting various high availability requirements. MySQL InnoDB ClusterSet provides a popular disaster recovery solution.
Completely built in-house and supported by Oracle, many enterprises large and small have adopted these solutions into business critical applications.
In this presentation the various database architecture solutions for high availability and disaster recovery will be covered and help you choose the right solutions based on your business requirements.
This presentation was written by Wagner Bianchi for the presentation on the Oracle Consulting Team/Professional Services meeting that took place in San Francisco/CA.
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
Is my MySQL server configured properly? Should I run Community MySQL, MariaDB, Percona or WebScaleSQL? How many innodb buffer pool instances should I run? Why should I NOT use the query cache? How do I size the innodb log file size and what IS that innodb log anyway? All answers are inside.
Aurimas Mikalauskas is a former Percona performance consultant and architect currently writing and teaching at speedemy.com. He's been involved with MySQL since 1999, scaling and optimizing MySQL backed systems since 2004 for companies such as BBC, EngineYard, famous social networks and small shops like EstanteVirtual, Pine Cove and hundreds of others.
Additional content mentioned in the presentation can be found here: http://speedemy.com/17
Session presented at Oracle Developer Live - MySQL, 2020. Recording available at https://developer.oracle.com/developer-live/mysql/
Abstract:
MySQL Shell is the new, advanced command-line client and editor for MySQL. It sends SQL statements to MySQL server, supports both the classic MySQL protocol and the newer X protocol, and provides scripting capabilities for JavaScript and Python. But there's more to MySQL Shell than meets the eye. It delivers a natural and powerful interface for all DevOps tasks related to MySQL by providing APIs for development and administration. This session covers MySQL Shell's core features, along with demonstrations of how to use the various APIs and how to extend MySQL Shell. We’ll address the regular interaction with databases, the built-in tools that make DBAs and developers’ lives easier, the easy and flawless set up of HA architectures, and the plugins and extensions framework.
Making MySQL highly available using Oracle Grid InfrastructureIlmar Kerm
This presentation describes how Oracle Grid Infrastructure can be used to bring high availability to any application and example is given using MySQL.
Publicly delivered:
OUGE Meetup Feb, 2014
Oracle Technology Day in Tallinn 2014
OUGN Spring Conference 2014
OUGF Harmony 2014
MySQL 5.7 is GA. Here is the news about our NoSQL features in MySQL and MySQL Cluster, with a lot of emphasize on the new JSON features that make MySQL suitable as a document store.
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
Tutorial on MySQL InnoDB Cluster and ReplicaSet, a fully integrated product built on MySQL technology, by MySQL.
MySQL InnoDB Cluster and ReplicaSet provide failover/high availability and scaling features baked in; providing an integrated end-to-end solution that is easy to use.
MySQL® 5.7 is a great release which has a lot to offer, especially in the development and replication areas. It provides a lot of new optimizer features for developers to take advantage of, a much more powerful GIS function and high performance JSON data type, allowing for a more powerful store for semi-structured data. It also features dramatically improved Performance Schema, Parallel and Multi-Source replication, allowing you to scale much further than ever before, just to give you a taste. In this webinar, we will provide an overview of the most important MySQL 5.7 features.
This webinar will be part of a 3-part series which will include MySQL 5.7 for Developers and MySQL 5.7 for DBAs.
The Software as a Service or SaaS market is large and growing. Demands of 24/7 availability, high performance, back-up, security, affordability, scalability, manageability, audit ability and easy integration when delivering your product and or service to your customers, are business challenges which we will address in this presentation. By demonstrating MySQL’s proven ability in this area, we will show how we can help new and seasoned SaaS vendors.
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
Oracle's MySQL solutions make it easy to setup various database architectures and achieve high availability with the introduction MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet meeting various high availability requirements. MySQL InnoDB ClusterSet provides a popular disaster recovery solution.
Completely built in-house and supported by Oracle, many enterprises large and small have adopted these solutions into business critical applications.
In this presentation the various database architecture solutions for high availability and disaster recovery will be covered and help you choose the right solutions based on your business requirements.
This presentation was written by Wagner Bianchi for the presentation on the Oracle Consulting Team/Professional Services meeting that took place in San Francisco/CA.
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
Is my MySQL server configured properly? Should I run Community MySQL, MariaDB, Percona or WebScaleSQL? How many innodb buffer pool instances should I run? Why should I NOT use the query cache? How do I size the innodb log file size and what IS that innodb log anyway? All answers are inside.
Aurimas Mikalauskas is a former Percona performance consultant and architect currently writing and teaching at speedemy.com. He's been involved with MySQL since 1999, scaling and optimizing MySQL backed systems since 2004 for companies such as BBC, EngineYard, famous social networks and small shops like EstanteVirtual, Pine Cove and hundreds of others.
Additional content mentioned in the presentation can be found here: http://speedemy.com/17
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoData Con LA
Abstract:- Should you use SQL on NoSQL Engine ? With MySQL Document Store you can do both. In this talk we will introduce MySQL Document Store and discuss its advantages and downsides compared to purpose build Document Store database engines such as MongoDB
Going thru the era of IoT that involves lots more and much bigger data, we need a faster database. MySQL 5.7 gives you 3x speed of its predecessor and able to reach 1.6m qps on our select benchmark.
This talk will explain best practices for upgrade techniques in MySQL. In deep dive, we will go over how to upgrade successfully to MySQL 8.0. Explain MySQL 8.0 upgrade specific challenges. Go over gotchas and best practices. Review the latest version of MySQL 8.0 and bug reports.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
2. <Insert Picture Here>
CONFIDENTIAL – ORACLE HIGHLY RESTRICTED
2
The MySQL Roadmap: Discover What’s New
June, 2012
Keith Larson, MySQL Community Manager
3. 3Copyright Oracle Corporation 2012
Safe Harbor Statement
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into
any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decision. The
development, release, and timing of any features
or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
4. 4Copyright Oracle Corporation 2012
localhost ~]$ whoami
Keith Larson
keith.larson@oracle.com
MySQL Community Manager
sqlhjalp.blogspot.com
Started with MySQL 3.23 during the dot.com days.
Primary real world work was with a MySQL InnoDB delayed replicated environment
that easily held over 4 billion rows of user data. Did a lot of data mining of that data
over the years.
Numerous other sites developed on LAMP stack over the last 13 years.
Who are you?
DBAs?
Developers?
5. 5Copyright Oracle Corporation 2012
Oracle’s Investment in MySQL
Rapid Innovation
Make MySQL a Better MySQL
• #1 Open Source Database for Web Applications
• “M” in most complete LAMP stack
• Embedded
Develop, Promote and Support MySQL
• Improved engineering, consulting and support
• Leverage 24x7, World-Class Oracle Support
MySQL Community Edition
• Source and binary releases
• GPL license
6. 6Copyright Oracle Corporation 2012
More Product Releases Than Ever Before
CY2010 CY2011
• MySQL Workbench 5.2
• MySQL Database 5.5
• MySQL Enterprise Backup
3.5
• MySQL Enterprise Monitor
2.3
• MySQL Cluster Manager 1.1
All GA!
A Better MySQL
Q1 CY2012
• MySQL Enterprise Monitor
2.2
• MySQL Cluster 7.1
• MySQL Cluster Manager 1.0
• MySQL Enterprise Backup
3.7
• Oracle VM Template for
MySQL Enterprise Edition
• MySQL Enterprise Oracle
Certifications
• MySQL Windows Installer
• New MySQL Enterprise
Commercial Extensions
*Development Milestone Release
• MySQL Database 5.6 DMR*
• MySQL Cluster 7.2 DMR
and MySQL Labs!
(“early and often”)
Driving MySQL
Innovation
All GA!
• MySQL Cluster 7.2
• MySQL Cluster
Manager 1.4
• MySQL Utilities 1.0.6
• MySQL Database
5.6.5 DMR*
and MySQL Labs!
(“early and often”)
All GA!
7. 7Copyright Oracle Corporation 2012
InnoDB is the default storage engine
• ACID Transactions, FKs, Crash Recovery
Improved Performance
• Enhancements in MySQL DB
• Enhancements in InnoDB
• + 360% over 5.1 on Linux
• + 1500% over 5.1 on Windows
Improved Availability
• Semi-synchronous Replication
• Replication Heartbeat
Improved Usability
• SIGNAL/RESIGNAL
• More Partitioning Options
• New PERFORMANCE_SCHEMA
MySQL 5.5 – Best Release Ever
8. 8Copyright Oracle Corporation 2012
MySQL 5.5 Scales On Multi-Core
SysBench Read Write
MySQL 5.1
MySQL 5.5.3
MySQL 5.5.4
AMD Opteron 7160 (Magny-Cours) @2100 MHz
64 GB memory
2 x Intel X25E SSD drives
OS is Oracle Enterprise Linux with the Enterprise Kernel
4 sockets with a total of 48 cores.
Transactions/Second
9. 9Copyright Oracle Corporation 2012
• MySQL 5.6 builds on MySQL 5.5 by improving:
• Performance and Scalability
• Optimizer for better query execution times, diagnostics
• Performance Schema for better instrumentation
• InnoDB for better transactional throughput
• Replication for higher availability, data integrity
• “NotOnlySQL” options for better flexibility
• 5.6.5 m8 latest DMR -- 2012
MySQL Database 5.6: A Better MySQL.
10. 10Copyright Oracle Corporation 2012
Model: Development Milestone Releases (“DMR”)
• New DMR every 3-6 months
• Accumulating features for Next GA (5.6)
• New features integrated on stable trunk
• Features signed off by QA and tested together
• Close to Release Quality
• Next GA cut from one upcoming DMR
Model: MySQL Labs “Early Access” features
• Previews, not on trunk
• No promise of making GA release
MySQL “Early Access” Release Models
Database and Cluster
11. 11Copyright Oracle Corporation 2012
MySQL 5.6.5 – Optimizer Enhancements
• Subquery Optimizations
• File sort optimizations with small limit
• 3X better execution time – 40s to 10s
• Index Condition Pushdown
• Better execution time – 15s to 90ms
• Batched Key Access and Multi Range Read
• Better execution time – 2000s to 10s
• Postpone Materialization of views/subqueries in FROM
• 240X better execution time for EXPLAIN - 8m to 2s
12. 12Copyright Oracle Corporation 2012
MySQL 5.6.5 – Optimizer
Postpone materialization of views/subqueries
Late materialization
• Allows fast EXPLAINs for views/subqueries
• Avoid materialization when possible, faster bail out
A key can be generated for derived tables
=> 240X better execution time (drops from ~8 min to ~2 sec)
EXPLAIN SELECT * FROM (SELECT * FROM a_big_table);
SELECT … FROM derived_table AS dt
join table AS t WHERE dt.fld = t.dlf
13. EXPLAIN in MySQL 5.5: Room for Improvement
●
SELECT statements only
●
What about INSERT, UPDATE, DELETE ?
●
Tabular output
●
Difficult to see the structure of the query plan
●
More information would be useful
●
E.g., When are the WHERE conditions evaluated?
●
Shows the chosen plan, but does not tell you why this plan
was chosen.
14. 14Copyright Oracle Corporation 2012
• Long standing feature request from customers and users
mysql> EXPLAIN UPDATE t1 SET c1 = 10 WHERE c2 = 1;
+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | t1 | range | c2,c2_2 | c2 | 5 | NULL | 1 | Using where |
+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)
MySQL 5.6.5 – Optimizer
Add EXPLAIN for INSERT/UPDATE/DELETE
CREATE TABLE t1(c1 INT, c2 INT, KEY(c2), KEY(c2, c1));
EXPLAIN UPDATE t1 SET c1 = 10 WHERE c2 = 1;
15. MySQL 5.6: EXPLAIN for Data-Modifying
Statements
EXPLAIN UPDATE t1 SET b = 'b' WHERE a > 2 G
id: 1
select_type: SIMPLE
table: t1
type: range
possible_keys: a,a_2
key: a
key_len: 16
ref: null
rows: 2
Extra: Using where; Using temporary
16. MySQL 5.6: EXPLAIN for Data-Modifying
Statements, cont.
EXPLAIN INSERT INTO t1
SELECT * FROM t2 WHERE a IN (1, 3, 5) G
id: 1
select_type: SIMPLE
table: t2
type: range
possible_keys: t2i1
key: t2i1
key_len: 4
ref: null
rows: 3
Extra: Using index condition
17. MySQL 5.6: Structured EXPLAIN
EXPLAIN FORMAT=JSON
SELECT * FROM t2 WHERE i > 1 AND j < 3;
{
"query_block": {
"select_id": 1,
"table": {
"table_name": "t2",
"access_type": "range",
"possible_keys": [
"PRIMARY"
] /* possible_keys */,
...
19. SET SESSION.OPTIMIZER_TRACE=‘enabled=on’;
SELECT v FROM t1 WHERE i1 = 1 AND v = 'a';
SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE; "rows_estimation": [
{
"table": "`t1`",
"range_analysis": {
"table_scan": {
"rows": 5,
"cost": 4.1
},
"potential_range_indices": [
{
"index": "v_idx",
"usable": true,
"key_parts": [
"v",
"i1"
]
}
],
"best_covering_index_scan": {
"index": "v_idx",
"cost": 2.0063,
"chosen": true
},
• EXPLAIN shows the generated plan
• TRACE shows how the plan was generated,
decision points etc.
• JSON format
• Developers, support, advanced customers
Query Plan Debugging
MySQL 5.6.5 – Optimizer Traces
20. 20Copyright Oracle Corporation 2012
testpe
r
CREATE TABLE person (
personid INTEGER PRIMARY KEY,
firstname CHAR(20),
lastname CHAR(20),
postalcode INTEGER,
age INTEGER,
address CHAR(50),
KEY k1 (postalcode,age)
) ENGINE=InnoDB;
SELECT lastname, firstname FROM person
WHERE postalcode BETWEEN 5000 AND 5500 AND age BETWEEN 21 AND 22;
• With ICP Disabled
• 15 s (buffer pool 128 Mb)
• 1.4 s (buffer pool 1.5 Gb)
MySQL 5.6.5 – Optimizer Enhancements
Index Condition Pushdown (ICP)
• With ICP Enabled
⇒ Execution time drops to 90 ms for both
21. 21Copyright Oracle Corporation 2012
0 8 16 24 32 40 48 56 64
5
50
500
5000
1225
9.63
2821
No BKA
BKA
Join Buffer Size (MB)
QueryTime(secs)
MySQL 5.6.5 – Optimizer Enhancements
Batched Key Access (BKA) and Multi Range Read
Improves performance of disk-bound join queries
Execution time
without BKA + MRR
Execution time
with BKA + MRR
DBT3 Q3: “Customer Distribution Query”
22. 22Copyright Oracle Corporation 2012
• Statements/Stages
• What are my most resource intensive queries? Where do they spend
time?
• Table/Index I/O, Table Locks
• Which application tables/indexes cause the most load or contention?
• Users/Hosts/Accounts
• Which application users, hosts, accounts are consuming the most
resources?
• Network I/O
• What is the network load like? How long do sessions idle?
• Summaries
• Aggregated statistics grouped by thread, user, host, account or object
MySQL 5.6.5 – Performance Schema Instrumentation
Improved Database Profiling/Application Tuning
23. 23Copyright Oracle Corporation 2012
MySQL 5.6.5 – InnoDB Enhancements
• Better Performance, Scale
• Improved performance on multi-core/CPU servers
• Improved thread scheduling
• Reduced contention during file extension
• Deadlock detection now non-recursive
• Improve LRU flushing
• Increase max redo log size
• Separate tablespaces for undo log
• Fast checksum
• Better recovery
• Dump and restore buffer pool
• Better Usability
• Full-text Search
• Variable page sizes – 4k, 8k
• Larger limit of index key prefixes (3072 bytes)
24. 24Copyright Oracle Corporation 2012
MySQL 5.6.5 – Replication Enhancements
• High Availability and Fail-over
• Global Transaction Ids
• Replication Administration and Fail-over Utilities
• Better Data Integrity
• Crash-Safe Slaves, Replication Checksums, Crash-Safe Binlog
• Better Performance, Scale
• Multi-threaded slaves
• Reduced Binlog size for RBR
• Extra flexibility
• Time-delayed replication
• Simpler troubleshooting
• Row-based repl. logging of original query
• Enhanced Monitoring/Management
25. 25Copyright Oracle Corporation 2012
•Foundation for reliable, automatic failover & recovery
• Unique identifier for each replication event written to the Binlog
•Simple to track & compare replication across the cluster
•Automatically identify the most up-to-date slave for failover
•Deploy complex replication topologies
•Eliminates Dev/Ops overhead
Master
GTID=123456
GTID=123456
GTID=123456 GTID=123456
MySQL 5.6.5 - Global Transaction Ids
26. 26Copyright Oracle Corporation 2012
MySQL Utilities
• Automate common Dev/Ops tasks
• Replication: provisioning, testing, monitoring and failover
• Database comparisons: consistency checking
• Database administration: users, connections, tables, etc
• New utilities in development, ie log analysis
• Implemented as Python scripts, executed within MySQL
Workbench
• Extensible to include custom scripting
• Resources: Documentation & Community Forum
• http://dev.mysql.com/doc/workbench/en/mysql-utils-man.html
• http://forums.mysql.com/list.php?155
27. 27Copyright Oracle Corporation 2012
Utility Workflow for Replication
• Check: Verifies pre-requisites for Replication
• Repl: Initiates Replication to the new slave
• Show: Display Replication topology
• Fail-Over & Admin: Detects and failovers (or switches)
from master to slave. Status monitoring
Check Repl Show
Fail-Over
& Admin
28. 28Copyright Oracle Corporation 2012
•Automatic failover & slave promotion
• Continuous health monitoring & recovery
•Default is to promote most up-to-date
slave, based on GTID
• Slave promotion policies are fully
configurable
•Never lose replication events
• Nominated slave automatically retrieves
updates from later slaves
Replication Failover Utility
Failover
Utility
Monitoring
Fail-
Over
Master
Slaves
Auto-Failover &
Slave Promotion
29. 29Copyright Oracle Corporation 2012
Replication Administration Utility
•Perform switchover to eliminate
downtime during planned
maintenance
•Start and stop slaves
•Slave discovery & monitoring
• Slave status, thread status
• Replication processing, including any lag
• Configure slave promotion policies
Master
Slaves
Administration
Utility
Status &
Switchover
Admin
30. Copyright Oracle Corporation 2012
MySQL <5.6
Transaction Data: in tables
Replication Info: in files
MySQL 5.6
Transaction Data: in tables
Replication Info: in tables
Slave Tables for Replication Information
MySQL 5.6.5 – Replication Enhancements
31. Copyright Oracle Corporation 2012
System tables:
slave_master_info (mysql.slave_master_info)
--master-info-repository=TABLE
slave_relay_log_info (mysql.slave_relay_log_info)
--relay-log-info-repository=TABLE
mysql_slave> stop slave;
mysql_slave> SET GLOBAL master_info_repository = 'TABLE';
mysql_slave> SET GLOBAL relay_log_info_repository = 'TABLE';
mysql_slave> start slave;
Make sure you add to my.cnf
master-info-repository =TABLE
relay-log-info-repository =TABLE
Transactional tables enables transactional slave positions
Automatic conversion between files and tables on startup
Long time awaited feature
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html
Slave Tables for Replication Information
MySQL 5.6.5 – Replication Enhancements
33. Copyright Oracle Corporation 2012
Detects corrupt replication events before they are
applied
Guards against bugs and disk or network corruptions
CRC-32 checksum, more precisely ISO-3309 (supplied
with zlib)
New mysqld options:
binlog-checksum= NONE or CRC32 generated
by the session thread and written to the binary log
SET GLOBAL binlog_checksum = 1;
master-verify-checksum= 0 or 1 Master
validates checksum read from the binary log
SET GLOBAL master_verify_checksum = 1;
slave-sql-verify-checksum= 0 or 1 SQL
thread should verify the checksum when reading it
from the relay log on the slave
mysql> SET GLOBAL slave_sql_verify_checksum=1;
http://mysqlmusings.blogspot.com/2011/04/replication-event-checksum.html
Replication Event Checksums
MySQL 5.6.5 – Replication Enhancements
34. Copyright Oracle Corporation 2012
Problem: events get corrupted while en route from master to slave.
Why and where it got corrupted?
Disk corruption, network, bugs in replication, faulty memory, cosmic ray, act of God?
Solution: include in each event its control checksum and verify it before:
sending it to the slave (master - dump thread)
storing it in the relay log (slave - IO thread)
applying it (slave - SQL thread)
several verification points: flexibility
mysql> show global variables like '%checksum%';
+---------------------------+--------+
| Variable_name | Value |
+---------------------------+--------+
| binlog_checksum | CRC32 |
| innodb_checksum_algorithm | innodb |
| innodb_checksums | ON |
| master_verify_checksum | ON |
| slave_sql_verify_checksum | ON |
+---------------------------+--------+
Replication Event Checksums
MySQL 5.6.5 – Replication Enhancements
35. Copyright Oracle Corporation 2012
Throughput of slave increased by allowing multiple slave threads:
0 - functionality disabled
0 to 1024
Exec_Master_Log_Posn in SHOW SLAVE STATUS represents a “low-
water” mark, before which no uncommitted transactions remain.
Configure using:
slave-parallel-workers=4
On a per-database basis
can process successive transactions on a given database without
waiting for updates on other databases to complete
http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html#sysvar_slave_parallel_workers
Multi-Threaded Slave
MySQL 5.6.5 – Replication Enhancements
36. Copyright Oracle Corporation 2012
mysql_luke> show slave statusG
*************************** 1. row ***************************
....
Exec_Master_Log_Pos: 114
mysql> show global variables like '%workers%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| slave_parallel_workers | 0 |
+------------------------+-------+
1 row in set (0.00 sec)
mysql> SET GLOBAL slave_parallel_workers=4;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like '%workers%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| slave_parallel_workers | 4 |
+------------------------+-------+
1 row in set (0.00 sec)
http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html#sysvar_slave_parallel_workers
Multi-Threaded Slave
MySQL 5.6.5 – Replication Enhancements
37. Copyright Oracle Corporation 2012
In MySQL row-based replication (RBR), each row change event contains two images, a
“before” image whose columns are matched against when searching for the row to be
updated, and an “after” image containing the changes.
can often save disk, memory, and network usage by logging only those columns which
are actually required.
Default is full : Log all columns in both the before image and the after image.
New option: binlog-row-image= minimal
no effect when the binary logging format is STATEMENT. When binlog_format is MIXED,
the setting for binlog_row_image is applied to changes that are logged using row-based
format, but this setting no effect on changes logged as statements.
mysql> show global variables like '%binlog_row_image%';
mysql> SET GLOBAL binlog_row_image=minimal;
http://d2-systems.blogspot.com/2011/04/mysql-562-dm-optimized-row-based.html
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html#sysvar_binlog_row_image
Optimized Row Based Replication
MySQL 5.6.5 – Replication Enhancements
38. Copyright Oracle Corporation 2012
Problem: Make replication slave to lag a specified amount of time behind
the master to:
To protect against user mistakes on the master.
To test how the system behaves when there is a lag.
To inspect what the database looked like long ago, without having to
reload a backup.
Solution: The slave waits until a given number of seconds elapses before
applying the changes:
Delays configured per slave: flexible deployment;
Are implemented in the SQL thread layer.
Rolling Database Backups with Relayed Replication
Time Delayed Replication
MySQL 5.6.5 – Replication Enhancements
39. Copyright Oracle Corporation 2012
User interface:
CHANGE MASTER TO MASTER_DELAY = <NUM_SECONDS>;
mysql> stop slave;
mysql> CHANGE MASTER TO MASTER_DELAY=86400; start slave;
SHOW SLAVE STATUS:
SQL_Delay: 86400
SQL_Remaining_Delay: 86395
Slave_SQL_Running_State: Waiting until MASTER_DELAY seconds after master
executed event
RESET SLAVE clears the configured delay;
Rolling forward delayed slaves until bad event:
START SLAVE [SQL_THREAD] UNTIL MASTER_LOG_FILE = 'log_name',
MASTER_LOG_POS = log_pos
http://dev.mysql.com/doc/refman/5.6/en/replication-delayed.html
http://dev.mysql.com/doc/refman/5.6/en/start-slave.html
Time Delayed Replication
MySQL 5.6.5 – Replication Enhancements
40. Copyright Oracle Corporation 2012
86400 seconds in a day.
slave2> CHANGE MASTER TO
-> MASTER_HOST = 'localhost',
-> MASTER_PORT = 3306,
-> MASTER_USER = 'repl_user',
-> MASTER_PASSWORD = 'pw',
-> MASTER_DELAY = 86400;
slave2> START SLAVE;
Time Delayed Replication
MySQL 5.6.5 – Replication Enhancements
41. Copyright Oracle Corporation 2012
mysql_luke> STOP SLAVE;
mysql_luke>SHOW RELAYLOG EVENTS FROM 2337G
*************************** 4. row ***************************
Log_name: luke-relay-bin.000005
Pos: 2674
Event_type: Query
Server_id: 1
End_log_pos: 2623
Info: drop database Tatooine
mysql_luke> START SLAVE UNTIL
-> MASTER_LOG_FILE='luke-relay-bin.000005',
-> MASTER_LOG_POS=2674;
Time Delayed Replication
MySQL 5.6.5 – Replication Enhancements
42. Copyright Oracle Corporation 2012
Problem: no way to send informational events down the replication stream.
Solution: Create a class of events that carry information from master to slave(s):
Use case: log the query that originated several rows events up-front as an
informational event;
Feature often requested for debugging.
http://d2-systems.blogspot.com/2011/04/mysql-562-dm-binlog-informational.html
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html#option_mysqld_binlog-rows-query-log-events
Informational Log Events
MySQL 5.6.5 – Replication Enhancements
43. Copyright Oracle Corporation 2012
Enhances auditing and debugging when using Row-Based Replication by writing
the original query to the binary log, which is then replicated with its associated
row-based event to the slave.
write informational log events such as row query log events into its binary log.
sysvar_binlog_rows_query_log_events must be disabled during logging.
Logs the query that originated the subsequent rows changes.
Shows up in mysqlbinlog and SHOW SLAVE STATUS output.
New variable:
--binlog-rows-query-log-events= ON|OFF (default: OFF)
mysql> SET GLOBAL binlog_rows_query_log_events=ON;
mysql> show global variables like '%binlog_rows_query_log_events%';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| binlog_rows_query_log_events | ON |
+------------------------------+-------+
Informational Log Events
MySQL 5.6.5 – Replication Enhancements
45. Copyright Oracle Corporation 2012
Problem: There is no way to create real-time backups of the master's binary logs.
Solution: Make use of mysqlbinlog facilities that retrieve and dump remote
MySQL log contents as SQL statements to make it output in raw format:
DBAs don't need to do remote logins to retrieve master's binlogs or setup
an intermediate slave.
Remote Backup of Binary logs
MySQL 5.6.5 – Replication Enhancements
46. Copyright Oracle Corporation 2012
Make use of mysqlbinlog facilities that retrieve and dump remote MySQL log contents.
Writes to a local file with the same name as the original.
DBAs don't need to do remote logins to retrieve master's binlogs or setup an
intermediate slave.
Relevant new options for mysqlbinlog:
raw: dump in raw format
stop-never: waits for new data upon reaching the end of the log
stop-never-slave-server-id: id that mysqlbinlog will use to emulate itself as a slave.
Raw format use cases:
make a static backup
backing up a set of log files and stopping when the end of the last file is reached
continuous (“live”) backup
$> mysqlbinlog --read-from-remote-server –raw -h secret_server -P 3306 -u root mysql-bin.000001
http://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog-backup.html
Remote Backup of Binary logs
MySQL 5.6.5 – Replication Enhancements
47. 47Copyright Oracle Corporation 2012
MySQL 5.6.5 – Other Enhancements
• TIME/TIMESTAMP/DATETIME – fractional second precision
• Ipv6 improvements
• Support Unicode for Windows command client
• Import/export tables to/from partitioned tables
• Explicit partition selection
• GIS/MyISAM: Precise spatial operations
Get it now!
dev.mysql.com/downloads/mysql/
48. 48Copyright Oracle Corporation 2012
• Replication
• Binlog Group Commit
• Binlog API
• InnoDB
• Memcached API for accessing InnoDB data
• Online operations (INDEX add, FK drop, Column rename)
• SSD/Flash Optimizations
• And More...
MySQL Database - Under Development
Early Access Features
labs.mysql.com/
Try it now!
labs.mysql.com
49. 49Copyright Oracle Corporation 2012
• Fast, simple access to InnoDB
• Accessed via Memcached API
• Use existing Memcached clients
• Bypasses SQL transformations
• NotOnlySQL access
• For key-value operations
• SQL for rich queries, JOINs, FKs, etc.
• Implementation
• Memcached daemon plug-in to mysqld
• Memcached protocol mapped to the
native InnoDB API
• Shared process space for ultra-low
latency
InnoDB Storage Engine
MySQL Server Memcached plugin
Application
SQL
(MySQL Client)
NoSQL
(Memcached
Protocol)
mysqld
MySQL Database – Key-value access for InnoDB
NotOnlySQL: Memcached API
Try it now!
labs.mysql.com
50. 50Copyright Oracle Corporation 2012
MySQL Database Development Priorities
• Performance/Scale – more threads/cores, SSD
• Cloud/SaaS/DaaS
• Multi-tenancy - Role-based security/ACLs, session/host level
throttling, more authentication options
• Elastic Scale – Auto-sharding/partitioning of data, provisioning of
replicas, load balancing, “elastic” allocation of server/VM resources
• Web-based management, monitoring, backup/recovery
• High Availability
• Multi-source, master replication, conflict detection
• Auto-failover, redundancy
• Management tools and utilities for ease of use
• Pluggable, micro-kernel architecture
51. 51Copyright Oracle Corporation 2012
• Foreign Keys
• Ease of Use
• Tools for simplified configuration, provisioning &
management
• Enhanced API Support
• New NoSQL Interfaces
• Richer SQL Functionality
• Performance & Capacity Increases
• Optimizations for latest hardware developments
• Wider Deployment Options
• Virtualization
• Cloud
MySQL Cluster Development Priorities
52. 52Copyright Oracle Corporation 2012
MySQL Enterprise Edition
Most secure, scalable MySQL Database, Online Backup,
Development/Monitoring Tools, backed by Oracle Premier
Lifetime Support
Oracle Premier
Support
Oracle Product
Certifications/Integrations
MySQL Enterprise
High Availability
MySQL Enterprise
Security
MySQL Enterprise
Scalability
MySQL Enterprise
Backup
MySQL Enterprise
Monitor/Query Analyzer
MySQL Workbench
53. 53Copyright Oracle Corporation 2012
• MySQL Enterprise Security
• External Authentication for Windows and PAM
• Integrates MySQL apps with existing infrastructures
• MySQL Enterprise Scalability
• MySQL Thread Pool
• Improves sustained performance/scale as connections grow
• 20x scale improvement in SysBench OLTP R/W benchmarks
• MySQL High Availability
• Oracle VM Template for MySQL
• Windows Clustering
• Oracle Product Certifications
• Manage MySQL with Oracle tools that are already in use
MySQL Enterprise Edition
Commercial Extensions Available Now
54. 54Copyright Oracle Corporation 2012
Connect as
4. Tokens are checked, win_joe
user is authenticated using
Windows login, password with
MySQL specific privs
Connect as
1. MyDomain/joe logs into
environment with Windows
login, password
Connected
Authenticate
CREATE USER win_joe
IDENTIFIED WITH authentication_windows
AS ‘joe';
App
Win OS users,
groups, etc
Windows
Auth
Connect as
2. MyDomainjoe is
authenticated on
Windows OSConnect as
3. MyDomain/joe logs into
application, application
connects to MySQL with user
win_joe.
Connector
Windows Authentication
Example
55. 55Copyright Oracle Corporation 2012
3. User name/password sent
to the PAM library, yes/no
answer from PAM library
returned to client.
1. Joe logs in using
application user
name/password.
Connected
CREATE USER joe
IDENTIFIED WITH 'authentication_pam'
AS ‘mysql';
App
PAM library
and various
backends
2. Connector sends the user
name/password to the
MySQL server.
Connector
4. PAM library verifies credentials
(using e.g. LDAP or Kerberos etc)
and returns yes/no answer for
delivery to client.
PAM
Authentication
PAM Authentication
Example
56. 56Copyright Oracle Corporation 2012
Default Thread Handling
Internal Clients
Default
Thread Handling
Connections
/statements
assigned
to Threads
for life
• Connections assigned to 1 thread for the life of the connection, same
thread used for all statements
• No prioritization of threads, statement executions
• Many concurrent connections = many concurrent execution threads to
consume server memory, limit scalability
Connection Execution Threads
External Clients
57. 57Copyright Oracle Corporation 2012
With Thread Pool Enabled
Internal Clients
Connection Execution Threads
External Clients
Thread Pool
Thread Group 1
Threads 1 - 4096
Thread Group 2
Threads 4097 - 8193
Thread Group N
Threads 8194 - N
• Thread Pool contains configurable number of thread groups (default = 16),
each manages up to 4096 re-usable threads
• Each connection assigned to thread group via round robin
• Threads are prioritized, statements queued to limit concurrent executions,
load on server, improve scalability as connections grow
Thread Group 1
Thread Group 2
Thread Group N
58. 58Copyright Oracle Corporation 2012
MySQL Enterprise Edition
With Thread Pool
MySQL Community Server
Without Thread Pool
MySQL Enterprise Edition
20x Better Scalability with Thread Pool
8 32 128 512 1536 2560 3584
0
1000
2000
3000
4000
5000
6000
7000
8000
MySQL 5.5 Sysbench OLTP Read/Write
Simultaneous Database Connections
Transactions Per Second
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
59. 59Copyright Oracle Corporation 2012
MySQL Enterprise Edition
With Thread Pool
MySQL Community Server
Without Thread Pool
MySQL Enterprise Edition
3x Better Scalability with Thread Pool
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
8 32 128 512 1536 2560 3584
0
2000
4000
6000
8000
10000
12000
MySQL 5.5 Sysbench OLTP Read Only
Simultaneous Database Connections
Transactions Per Second
60. 60Copyright Oracle Corporation 2012
• MySQL Enterprise Security
• MySQL Database Auditing extension
• More Authentication plug-ins
• Oracle Product Certifications
• Oracle Audit Vault
• MySQL Enterprise High Availability
• Oracle Clusterware
MySQL Enterprise Development Priorities
61. 61Copyright Oracle Corporation 2012
• MySQL Enterprise Backup
• Performance – parallel backups, skip empty pages,
more
• Efficiency, Ease of use
• Better PIT recovery
• Remote backup administration (on-premise, Cloud)
• Integration with Enterprise tools
• MySQL Workbench SE
• Schema/data migration from SQL Server
• ER Model Repository
• Code generation – PHP, Python
MySQL Enterprise Development Priorities
62. 62Copyright Oracle Corporation 2012
• MySQL Enterprise Monitor
• Evolve into management
• Instance, Backup, ReplicationHA
• Integration with Oracle Enterprise Manager
MySQL Enterprise Development Priorities
63. 63Copyright Oracle Corporation 2012
Oracle Fusion MiddleWare
• WebLogic Server
• Database Adapter for Oracle
SOA Suite
• Oracle Business Process
Management
• Oracle Virtual Directory
• Oracle Data Integrator
• Oracle Enterprise
Performance Management
• Oracle Identity Analytics
• Open SSO STS, Open SSO
Fedlet
• Oracle Linux
• Oracle VM
• Oracle VM Template for
MySQL Enterprise Edition
• Oracle GoldenGate
• Oracle Secure Backup
• Oracle Database Firewall
• MyOracle Online Support
MySQL Enterprise Oracle Certifications
Completed
64. 64Copyright Oracle Corporation 2012
mysql.com
TCO calculator: http://www.mysql.com/tcosavings/
White Papers: http://www.mysql.com/why-mysql/white-papers/
Customer use cases and success stories:
http://www.mysql.com/why-mysql/case-studies/
dev.mysql.com
Downloads: http://dev.mysql.com/downloads/
Documentation: http://dev.mysql.com/doc/
Forums: http://forums.mysql.com/
PlanetMySQL: http://planet.mysql.com
List of resources (books) : http://dev.mysql.com/resources/
MySQL Resources
65. 65Copyright Oracle Corporation 2012
eDelivery.com
Download and evaluate all MySQL products
Wiki:
https://wikis.oracle.com/display/mysql/Home
50 things to know before migrating Oracle to MySQL
It is a little old but worth the read
www.xaprb.com/blog/2009/03/13/50-things-to-know-before-migrating-oracle-to-mysql/
MySQL Resources