The document discusses using Oracle Database 11g and MySQL together. It outlines how MySQL provides a cost-effective solution for online applications through its pluggable storage engine architecture, replication capabilities, and scaling options like sharding. MySQL Enterprise offers additional features for monitoring, management and high availability of MySQL deployments.
1 of 65
Downloaded 158 times
More Related Content
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enterprise
2. <Insert Picture Here>
Getting the Best of Both Worlds with
Oracle Database 11g and MySQL Enterprise
Ivan Zoratti
Sales Consulting Manager EMEA - Oracle MySQL
Tuesday, 21 September 2010
3. 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 decisions.
The development, release, and timing of any features
or functionality described for Oracle¡¯s products
remains at the sole discretion of Oracle.
3
Tuesday, 21 September 2010
5. Agenda
? Intro to MySQL <Insert Picture Here>
? MySQL Architecture
? MySQL Enterprise
? MySQL for Online Applications
? When It Makes Sense to Use MySQL
? Oracle 11g and MySQL integration
5
Tuesday, 21 September 2010
7. Oracle¡¯s Strategy:
Complete. Open. Integrated.
? Built together
? Tested together
? Managed together
? Serviced together
? Based on open standards
? Lower cost
? Lower risk
? More reliable
Tuesday, 21 September 2010
8. Industry¡¯s most complete LAMP Stack
Application
s
Eclipse, N
e tbeans
Apache, G
la ssfish
MySQL
Oracle En
t. Linux &
VM
Tuesday, 21 September 2010
9. MySQL Today
? In Development/Production since 1995
? Acquired with Sun Microsystems
? Leading Open Source Database for online apps
? 12M+ server installations worldwide
? 70,000 downloads each day
? Dramatically reduces Database TCO
? Performance, Reliability, Ease of Use
Tuesday, 21 September 2010
10. MySQL¡¯s Industry Leading Customers
Web OEM / ISV¡¯s
SaaS, Hosting Telecommunications Enterprise 2.0
MySQL is Powering the Web
Tuesday, 21 September 2010
11. The Top 20 most popular Websites
1.Google 11.
2.Facebook 12.Yahoo! JP
3.YouTube 13.Google IN
4.Yahoo! 14.Taobao
5.Windows Live 15.Amazon.com
6.Baidu 16.Sina
7.Wikipedia 17.Google DE
8.Blogger 18.Google HK
9.Twitter 19.Wordpress
10.MSN 20.Google UK
Source: Alexa Top Sites - 1 September 2010
...and many more: Flickr, Second Life, Craigslist, Slashdot,
LiveJournal, Digg, Del.icio.us, Pricegrabber.com, Weather.com etc.
Tuesday, 21 September 2010
12. MySQL Server Offering and Licensing
Community Server Embedded Server
Community Commercial Enterprise
GPL Licence GPL
? Available under GPL ? For OEMs and ISVs ? Enterprise Tools
? Software tested by the ? Frees from applying ? Services to ensure the maximum
Community GPL rules to source quality, uptime, and performance of
? No Maintenance SLA code and IP MySQL Enterprise systems
? No Support ? Deeply embedded or ? 24x7 support
? No ISV Certification bundled ? Consultative services
? Self-help knowledge aids
? Extended Lifecycle Support
? Optional Custom builds and service
patches
Tuesday, 21 September 2010
15. MySQL Replication
? Typical Master/Slave replication environment
? Multiple replication topologies are supported
? 1 Master : many Slaves, Circular, Master/Master etc.
? Available for all platforms
? Enabled for all storage engines
? Asynchronous or Semi-Synchronous with Heartbeat
? Statement Based (SBR), Row Based (RBR) or mixed-format (MIXED)
? Replicate data from one MySQL server/storage engine combination to a
different MySQL Server/storage engine combination
? Perform backups using a slave server and continue to process updates on the
master while the backup is being made on the slave
? 1-minute configuration
Application Master Slave
Tuesday, 21 September 2010
16. MySQL Replication
? Data written on the master is also
written into the binary log
? The I/O thread on the slave collects
logs from the master binary log and
writes a relay log on the slave
? The SQL thread on the slave reads the
relay log and apply the writes on the
slave
? Slave writes are optionally added to
the binary log on the slave
? If the semi-sync plugin is installed and
enabled, the master waits until the I/O
thread on one of the semi-sync slave
has written the transaction to disk, or
until it receives a timeout, then it
returns the ACK to the application.
Tuesday, 21 September 2010
17. MySQL Cluster/NDB Storage Engine
? Cost
? Use commodity hardware to accommodate the
growth of users, traffic, and data
Applications
? Fault Tolerance
? No single point of failure
? High Availability
? Data is replicated across nodes and always available
? Automatic fail-over MySQL Server Nodes
? Scalability
? Distributes large workloads Data
? Replicas for Read, Partitions for Write Nodes
? Supports ¡°Scale Out¡±
? High Performance
? Load balanced
? Memory or Disk based storage engine Management
Server & Client
? Designed high volume/small transactions
? Simplified Management
? Cluster management utilities
? Commodity components
Tuesday, 21 September 2010
18. MySQL Cluster /NDB Storage Engine
Clients
MySQL Cluster Application Nodes
MySQL MySQL
Cluster Cluster
Mgmt Mgmt
MySQL Cluster Data Nodes
Tuesday, 21 September 2010
19. MySQL Server 5/MySQL Cluster 7
Reliability Performance Ease of Use
? SQL Mode ? Stored Procedures ? Instance Manager
? Triggers & Views ? Cluster query push down ? Information Schema .
50
? Precision Math ? Query optimisations ? Cursors
? Increased object support ? Archive Engine ? Enterprise Backup & Recovery
? Enteprise Monitoring Tool ? InnoDB storage improvements Manager
? Row-Based Replication ? Table/Index Partitioning ? XML/XPath Support .
51
? Disk-based Cluster ? Full-Text Index Improvements ? Task Scheduler
? Cluster Replication with ? Faster ALTER TABLE ? Storage Engine Plug-in API
Conflict Resolution ? Faster ADD/DROP Index ? CSV Storage Engine
? Enterprise Query Analyser ? Parallel Data Import
RC
? Default InnoDB (Barracuda) ? Multiple Buffer Pool and ? SIGNAL/RESIGNAL 5.5
? Semi-Sync Replication Rollback Segment ? NDB_INFO Schema
? Enterprise Connectors ? Eliminated Lock bottlenecks ? MySQL Custer Manager
? Enterprise Support ? Extended Change Buffering & ? MySQL Workbench 5.2
Diagnostics Purge Scheduling ? MySQL Cluster Connectors
? MySQL Cluster on Windows ? PERFORMANCE_SCHEMA ? MySQL Enterprise Backup
? Fast InnoDB Recovery ? Multithreaded Cluster
Tuesday, 21 September 2010
20. MySQL and DRBD
Distributed Replicated Block Device
? Asynchronous, Semi-Synchronous or
Synchronous
Applications
? Runs over standard IP networks
? Distributed storage
? Similar to network RAID
? Characteristics Active Node Virtual IP Passive Node
? No special networking components
? Excellent performance (blocks vs. rows of data)
? Manages inconsistencies of data during a failure
DRBD/AVS
? Hides the complexity of many recovery actions
? Linux heartbeat manages fail over and virtual IPs
Tuesday, 21 September 2010
21. MySQL and Shared Storage Clusters
? Active/Passive server or process
configuration
? Links servers with 3rd party software
and virtual IP Applications
? Reliability
? Commonly used solution
? Fault Tolerance
? No single point of failure with MySQL
Server Nodes
appropriate hardware
? High Availability
? Data handled by a SAN or NAS
and always available
? Automatic fail-over Shared Storage
? Simplified Management
? Cluster management utilities
Tuesday, 21 September 2010
22. Distributed Caching
Memcache
? Memcache is a high-performance, distributed memory
object caching system, generic in nature, but intended
for use in speeding up dynamic web applications by
alleviating database load.
? Created by Danga Interactive for LiveJournal
? Available on Linux, FreeBSD, Solaris, Windows, OS X
? Simple UDP protocol, Libevent based
? Integration with all the major RDBMSs, Web & App Servers and
Languages
? Used (amongst many) by LiveJournal, Fotolog, Facebook,
Amazon, Yahoo, YouTube, Wikipedia etc.
Tuesday, 21 September 2010
24. MySQL Enterprise: Commercial Offering
? MySQL Enterprise Server
? Monthly Rapid Updates
Database ? Quarterly Service Packs
? Hot Fix Program ? Subscription:
? Extended End-of-Life
? MySQL Enterprise
? License (OEM):
? Global Monitoring of All Servers
? Embedded Server
? Web-Based Central Console
Monitoring ? Built-in Advisors, Expert Advice
? MySQL Query Analyzer
? Support
? Specialised Scale-Out Help Cluster Carrier-
? MySQL
Grade
? Training
? 24 x 7 x 365 Problem Resolution
? Consulting
? Online Self help Knowledge Base
Support ? Consultative Help? NRE
? Bug Escalation Program
http://www.mysql.com/products/enterprise/
Tuesday, 21 September 2010
25. MySQL Enterprise Monitor
? Single, consolidated view into
entire MySQL environment
? Monitor MySQL Sessions,
Connections, Replication Latency
? Improve Application Performance
? Gain Immediate Visibility into Your
Replication Topologies
? Customisable rules-based
monitoring and alerts
? Identifies problems before they
occur
? Makes it easier to scale out
without requiring more DBAs
A Virtual MySQL DBA Assistant!
http://www.mysql.com/products/enterprise/monitor.html
Tuesday, 21 September 2010
26. MySQL Enterprise Monitor Architecture
Individual Servers w/Agent
Configuration
Advisor Scheduling
Alerts/Notifications
Service Agent written in C and Visual Monitoring
supports all MySQL Enterprise Query Analysis
Service
platforms Manager
Service Manager written in Java
Collects MySQL and OS
servlets exposed as web services. specific metrics, Query
Supports Linux, Solaris, Mac OSX content/stats
and Microsoft Windows
Enterprise
Dashboard
Enterprise Dashboard Web-
based, written in JSP
Advisor Monitoring
Event based Alerts
Advice/Corrective Actions
Repository holds historical
performance data for analysis
Repository
Holds historical MySQL and OS
data, Query Statistics Master-Slave Replication
Tuesday, 21 September 2010
28. MySQL Query Analyzer
? Centralised monitoring of
Queries across all
servers
? No reliance on Slow
Query Logs, SHOW
PROCESSLIST;,
vmstat, etc.
? Aggregated view of
query execution counts,
time, and rows
? Saves time parsing
atomic executions for
total query expense
Tuesday, 21 September 2010
29. Monitoring Queries with MySQL
Enterprise Proxy Server
MySQL Database
Application Server
3306
(SQL statements & result sets)???
2. Proxy Server
6446
& MySQL Agent **
(MySQL, OS monitoring data, SQL
performance data: statements, examples,
EXPLAINs, aggregated stats)???
18080
1. MySQL Enterprise Monitor
(Service Manager, Dashboard)
List of components to download & configure:
1. MySQL Enterprise Monitor & Query Analyzer ** MySQL Proxy is optionally deployed and
2. MySQL Proxy & Agent configured as a plugin with the MySQL Agent
Tuesday, 21 September 2010
30. Monitoring Queries with Connector/J, .NET
Application Server MySQL Database
(SQL statements & result sets)???
3. Connector/J, NET 3306
4. Plugin for Connector/J,
NET
2. MySQL Agent
(SQL performance data: statements,
examples, EXPLAINs, aggregated
stats)???
(MySQL & OS
monitoring data)???
18080
1. MySQL Enterprise Monitor
(Service Manager, Dashboard)???
List of components to download & configure:
1. MySQL Enterprise Monitor & Query Analyzer
2. MySQL Agent
3. Connector/J v5.1 or newer/ Connector/NET v6.2 or newer
4. MySQL Enterprise Plugin for Connector/J, NET
Tuesday, 21 September 2010
36. Write-intensive Applications Scalability
Handle multiple connections for:
> Authentication
¨CLow Persistency
> Session Management ¨C Baskets and temporary selections
> Logging/Click Stream ¨C Queues, such as orders,
> Management and documents that change status etc.
Administration ¨C Short Messages
> Application Data
> Separate low persistency and ¨CHigh Persistency
high persistency data ¨C Catalogues
¨C Wish Lists
¨C Recommendations
¨C Forums, Messages, Posts,
Comments etc.
Tuesday, 21 September 2010
39. Front End Database Infrastructure
Authorization
& Profile
NDB
UID/PWD/Security
Account Settings
Personalization
Tuesday, 21 September 2010
40. Front End Database Infrastructure
Session
Management
Authorization
& Profile NDB
NDB
Session
Basket/Trolley/Cart
Current Configuration
Tuesday, 21 September 2010
41. Front End Database Infrastructure
Transactional Application Data
Session
Management InnoDB
Authorization
& Profile NDB
NDB
Orders, Invoices
Wish Lists
Forum Posts
Messages
Tuesday, 21 September 2010
42. Front End Database Infrastructure
Transactional Application Data
Session
Management InnoDB
Non-Transactional Data
Authorization
& Profile NDB MyISAM
NDB
Catalogues
Recommendations
Reviews
Comments
Tuesday, 21 September 2010
43. Front End Database Infrastructure
Transactional Application Data
Session
Management InnoDB
Non-Transactional Data
Authorization
& Profile NDB MyISAM Logging
NDB
Archive
Click Stream
Users¡¯ Activity
Tuesday, 21 September 2010
44. Front End Database Infrastructure
Transactional Application Data
Session
Management InnoDB
Non-Transactional Data
Authorization
& Profile NDB MyISAM Logging
NDB
Archive
Generic, Distributed
Caching
Tuesday, 21 September 2010
45. When It Makes
Sense to Use MySQL
Tuesday, 21 September 2010
46. Assuming you know Oracle DB...
? Clients
? 99% of the operating and development environments have a
MySQL connector, a MySQL module or plug-in
? Security
? No external authentication at the moment
? Connections
? MySQL handles connect/disconnect easily
? Permanent connections are great but not required
Tuesday, 21 September 2010
47. Assuming you know Oracle DB...
? Data Definition Language (DDL)
? Standard SQL is available
? Online ALTERs are not available in the standard MySQL server
? MySQL Replication is often used to manage changes and
scheduled downtime
? Basic Operations (standard DML)
? Standard SQL is available
? High performance with multiple INSERTs and REPLACE
? ¡°Hints¡± are ¡°Rules¡±
? USE INDEX
? FORCE INDEX
? IGNORE INDEX
Tuesday, 21 September 2010
48. Assuming you know Oracle DB...
? Stored Procedures and Routines
? Basic language, used primarily to avoid network hops
? UDFs are more efficient
? Referential Integrity
? Available with InnoDB
? Do you always need it?
? Storage Engines
? Multiple options
? Select the best engine for the job
Tuesday, 21 September 2010
49. Assuming you know Oracle DB...
? High Availability
? Multiple options depending on complexity, required HA and
budget
? Mixed technologies
? Disaster Recovery and Geographical Replication
? MySQL Replication is the recommended solution
? Extended Features
? Usually they are not the primary reason to choose MySQL
? ¡°Basic¡± XML, Text, Spatial features
? Are they good enough for you?
Tuesday, 21 September 2010
50. Myths
? No Referential Integrity
? Lack of Performance
? Lack of Scalability
? Lack of High Availability
Tuesday, 21 September 2010
51. Reality
? Basic SQL features
? Limited Procedural Language
? Limited extensions
? ¡°Standard¡± indexing
? BTree and Hash
? No RAC-like architecture
Tuesday, 21 September 2010
52. You should use MySQL for...
? Online Applications
? The ¡°M¡± in the LAMP stack
? The most common database on the Internet
? The most used and default backend for online environments,
solutions and frameworks
? Data Marts
? Easy and quick to install.
? Create - Use - Remove
? High performance data load and queries
? Compatibility with Open Source and Commercial BI and
Reporting Tools
? Embedded Database
? Lightweight with small footprint
? Wide range of utilization
? Simple to bundle or to deeply embed
Tuesday, 21 September 2010
53. You should not use MySQL for...
? ERP Solutions
? No certification or compatibility
? Missing extended features
? Not scalable for a typical SMP environment
? Data Warehouse and Business Intelligence Solutions
? The optimizer works fine on relatively simple queries
? Subquery optimization... well, it¡¯s not optimal :(
? Missing some of the advanced indexing and partitioning features
? Missing parallel queries
Tuesday, 21 September 2010
54. Oracle 11g and
MySQL Integration
Tuesday, 21 September 2010
55. Integration Aspects
? Application Integration
? Information and services exchanging
? Information and services sharing
? Systems Integration
? Systems co-location and co-existence
? Systems Administration
? Systems Monitoring
? Data Integration
? Batch Data Transfer and Exchange
? Real Time Data Replication
? Real Time Data Sharing
Tuesday, 21 September 2010
56. Application Integration
? Information Exchange
? Messaging systems
? Internal component in C/C++, Perl/PhP/Python, Java & .NET
? Integration through caching distributed systems
? Memcache is the standard distributed caching mechanism in the
online world, also useful for information exchange
? Memcache is available on almost all the client environments and
as plug-in as database functions
Tuesday, 21 September 2010
57. Application Integration
? Information Exchange
? Messaging systems
? Internal component in C/C++, Perl/PhP/Python, Java & .NET
? Integration through caching distributed systems
? Memcache is the standard distributed caching mechanism in the
online world, also useful for information exchange
mysql> select memc_set( '2', 'BCD');
+-----------------------+
| memc_set( '2', 'BCD') is available on almost all the client environments and
? Memcache |
| as plug-in as database functions
+-----------------------+
0 |
+-----------------------+
1 row in set (0.00 sec)
mysql> select memc_get( '1' );
+-----------------+
| memc_get( '1' ) |
+-----------------+
| ABC | mysql> select memc_set( md5('MYSQLselect * from t1 limit 10'),'...');
+-----------------+ ...
1 row in set (0.00 sec) mysql> select memc_get( md5('ORACLEselect * from t1 limit 10'))G
...
Tuesday, 21 September 2010
59. Systems Integration
? Instances co-location
? File Exchange
? Text, Fixed length, CSV, XML
? Oracle Commitment
? Oracle Enterprise Manager (CY 2011)
? Oracle Audit Vault (CY 2011)
? Oracle Secure Backup (CY 2011)
? Pythian MySQL Management Plug-in for OEM
? http://www.pythian.com/documents/pythian-mysql-plug-in-datasheet.pdf
Tuesday, 21 September 2010
60. Data Integration
Batch Transfer
? Oracle Data Integrator
? SQL*PLUS/SQL*LOADER - mysqldump/mysqlimport
? CSV files/tables access
? Informatica Products Suite
Tuesday, 21 September 2010
61. Data Integration
Real Time Replication
Oracle GoldenGate 11g
? Real Time (CDC - Change Data Capture)
Oracle ? MySQL
? ETL - Extraction Transformation & Loading
MySQL ? Oracle
Oracle ? MySQL
? Platforms:
? Linux, Windows, Solaris
Tuesday, 21 September 2010
62. Data Integration
Real Time Replication
HIT Software DBMoto 7
? Real Time (CDC - Change Data Capture)
Oracle ? MySQL
MySQL ? Oracle
Oracle ? MySQL
? Refresh, Mirroring and Synchronization
? Based on Oracle and MySQL Logs
? Windows Only
http://www.hitsw.com/products_services/dbmoto/DBMoto_Factsheet.pdf
Tuesday, 21 September 2010
63. Data Integration
Real Time Data Connection
? Fast, Real Time, Difficult to scale
? Oracle Heterogenous Services
? MySQL User Defined Functions
? Set of MySQL Functions executable at instance level to access
an Oracle DB
? Memcached Sharing
? Application Level
? Database Level
? Memcached Access from the DB / DB Functions & Triggers
Tuesday, 21 September 2010