111
MySQL Cluster Introduction & Update Andrew Morgan MySQL High Availability Product Management @andrewmorgan www.clusterdb.com 17 th October 2012

MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Embed Size (px)

DESCRIPTION

Uma visão geral dada por Andrew Morgan, gerente de produto do MySQL Cluster. Aborada a versão atual 7.2 (GA) e na próxima versão 7.3 (Development Milestone Release), além do roadmap para versões futuras.

Citation preview

Page 1: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

MySQL Cluster Introduction & Update

Andrew Morgan MySQL High Availability – Product Management

@andrewmorgan

www.clusterdb.com

17th October 2012

Page 2: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 2

Safe Harbour 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 decisions. The development,

release, and timing of any features or functionality described for Oracle’s

products remains at the sole discretion of Oracle.

Page 3: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 3

Table of Contents

MySQL Cluster – Introduction

Customer case studies

Architecture

MySQL Cluster 7.2 (GA)

MySQL Cluster 7.3 (DMR & labs)

Commercial additions

The future

Page 4: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 4

MySQL Cluster introduction

• Shared-nothing in-memory parallel database server

• ACID compliant relational database

Carrier Grade Database

• Five nines (99.999%) availability

• Self-healing, sub-second failover Highly Available

• High load, real-time performance

• Predictable low latency, bounded access times

Real-time Performance

• Incrementally grow out with application demands

• Linearly scale with distribution awareness Linearly Scalable

• Open Source, multiple data access

• High performance APIs (C++, Java, SQL, LDAP) Open Development

Page 5: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 5

Web applications

demanding:

Development velocity:

Simplicity & flexibility of

data model & APIs

Scalability &

performance: high write

throughput and

Key/Value access

Support for “Big Data”

NoSQL – Why the demand?

40% DATA

GROWTH PER

YEAR

5.9BN MOBILE SUBS IN 2011

1 BILLION iOS & ANDROID

APPS DOWNLOADED PER WEEK

85% HANDSETS

SHIPPED WITH A

BROWSER

$1TR BY 2014

$700BN IN 2011

2.1BN USERS

8X DATA GROWTH IN 5 YRS

70+ NEW DOMAINS EVERY 60 SECONDS

350m TWEETS PER DAY

900M USERS

20M APPS PER DAY

60 HOURS UPLOADED

EVERY MINUTE

Page 6: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 6

Massive scalability

No application-level sharding Performance High Availability/Fault Tolerance Ease of use

Simple operations/administration

Simple APIs

Quickly evolve application &

schema

What NoSQL must deliver

Scalability

Performance

HA

Ease of use

Page 7: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 7

No best single solution

fits all

Mix and match

Still a role for the RDBMS?

NoSQL

Simple access patterns

Compromise on consistency for performance

Ad-hoc data format

Simple operation

RDBMS

Complex queries with joins

ACID transactions

Well defined schemas

Rich set of tools

Scalability

Performance

HA

Ease of use

SQL/Joins

ACID Transactions

Page 8: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 8

Scalability a

Performance a

HA a

Ease of use a

SQL/Joins a

ACID Transactions a

Page 9: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 9

Who’s Using MySQL Cluster?

Page 10: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 10

Page 11: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 11 11

http://www.mysql.com/why-mysql/case-studies/mysql-alcatel-casestudy.php

COMPANY OVERVIEW Leading provider of communications

platforms, solutions & services €15.2bn Revenues (2009), 77k employees

across 130 countries

CHALLENGES / OPPORTUNITIES

Converged services driving migration to next

generation HLR / HSS systems

New IMS platforms for Unified

Communications

Reduce cost per subscriber and accelerate

time to value

SOLUTION MySQL Cluster Carrier Grade Edition MySQL Support & Consulting Services

CUSTOMER PERSPECTIVE

“MySQL Cluster won the performance test hands-down, and it fitted our needs perfectly.

We evaluated shared-disk clustered databases, but the cost would have been at

least 10x more.” -- François Leygues, Systems Manager

Results Scale out on standard ATCA hardware to

support 60m+ subscribers on a single platform

Low latency, high throughput with 99.999%+ availability

Enabled customers to reduce cost per subscriber and improve margins

Delivered data management solution at 10x less cost than alternatives

Page 12: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 12

PLAYFUL PLAY OVERVIEW

Developer of Latin America’s most popular FaceBook game

Based on El Chavo, massive success in LatAM, US and Spain

CHALLENGES / OPPORTUNITIES

2m users in 4 months, growing at 30k per day

Targeting 50m users in 5 years

Massive scale, especially of database writes

99.999% uptime

Data integrity

DATABASE REQUIREMENTS

10k TPS on commodity hardware, in the cloud

Managing user avatars and sessions

In-App Purchases

Digital marketing + user response data

CUSTOMER PERSPECTIVE

"The MySQL support service has been essential in

helping us for troubleshooting and giving

recommendations for the production cluster, Thanks"

Carlos Morales – DBA, Playfulplay.com México

RESULTS

• 45% improvement in performance

• 80% reduction in DBA overhead

• 99.999% uptime

https://blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo

SOLUTIONS

• MySQL Cluster Carrier Grade Edition

• MySQL Cluster Manager

• MySQL Support & Consulting Services

Page 13: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 13

Co-Located MySQL Servers + Data Nodes

MySQL Cluster

https://apps.facebook.com/lavecindaddeelchavo/

Playful Play Architecture

Page 14: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 14 14

http://www.mysql.com/customers/view/?id=1160

COMPANY OVERVIEW Division of Docudesk Deliver Document Management SaaS

CHALLENGES / OPPORTUNITIES

Provide a single repository for customers to

manage, archive, and distribute documents

Implement scalable, fault tolerant, real time data management back-end

PHP session state cached for in-service personalization

Store document meta-data, text (as BLOBs), ACL, job queues and billing data

Data volumes growing at 2% per day

SOLUTION

MySQL Cluster deployed on EC2

USER PERSPECTIVE

“MySQL Cluster exceeds our requirements for low

latency, high throughput performance with

continuous availability, in a single solution that

minimizes complexity and overall cost.”

-- Casey Brown, Manager of Dev & DBA Services,

Docudesk

Results Successfully deployed document

management solution, eliminating paper trails from legal processes

Integrate caching and database into one layer, reducing complexity & cost

Support workload with 50:50 read/write ratio

Low latency for real-time user experience and document time-stamping

Continuous database availability

Page 15: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 15

Page 16: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 16

MySQL Cluster Architecture

MySQL Cluster Data Nodes

Data Layer

Clients

Application Layer

Management

Page 17: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 17

MySQL Cluster Architecture

MySQL Cluster Data Nodes

Data Layer

Clients

Application Layer

Management Management

Page 18: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 18

MySQL Cluster Architecture

MySQL Cluster Data Nodes

Data Layer

Application Layer

Management Management

Clients

Page 19: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 19

On-line Scheduled Maintenance

Scale

Upgrade

Backup

Evolve

Page 20: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 20

Data Node 1

Data Node 2

Data Node 3

Data Node 4 A fragment is a copy of a partition

Number of fragments = # of partitions * # of replicas

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 21: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 21

Data Node 1

Data Node 2

F1

Primary Fragment

Secondary Fragment

Data Node 3

Data Node 4 Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 22: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 22

Data Node 1

Data Node 2

F1

Primary Fragment

Secondary Fragment

F1

Data Node 3

Data Node 4 Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 23: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 23

Data Node 1

Data Node 2

F1

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4 Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 24: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 24

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4 Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 25: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 25

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2

Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 26: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 26

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2

F2

Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 27: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 27

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2

F4 F2

4 Partitions * 2 Replicas = 8 Fragments

Fx

Fx

Table T1

P2

P3

P4

Px Partition

P1

Automatic Data Partitioning

Page 28: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 28

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 29: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 29

Data Node 1

Data Node 2

F3

Primary Fragment

Secondary Fragment

F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Fx

Fx

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

F1

F3

Automatic Data Partitioning

Page 30: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 30

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Node Group 2 Fx

Fx

- Node groups are created automatically

- # of groups = # of data nodes / # of replicas

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 31: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 31

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Node Group 2 Fx

Fx As long as one data node in each

node group is running we have a complete copy of

the data

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 32: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 32

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Node Group 2 Fx

Fx As long as one data node in each

node group is running we have a complete copy of

the data

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 33: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 33

Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Node Group 2 Fx

Fx As long as one data node in each

node group is running we have a complete copy of

the data

Table T1

P2

P3

P4

Px Partition

4 Partitions * 2 Replicas = 8 Fragments

P1

Automatic Data Partitioning

Page 34: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 34

Table T1 Data Node 1

Data Node 2

F1 F3

Primary Fragment

Secondary Fragment

P2

P3

P4

Px Partition

F3 F1

Data Node 3

Data Node 4

F2 F4

F4 F2

Node Group 1

Node Group 2

4 Partitions * 2 Replicas = 8 Fragments

Fx

Fx

- No complete copy of the data

- Cluster shutdowns automatically

P1

Automatic Data Partitioning

Page 35: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 35

writes

Page 36: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 36

MySQL Cluster 7.2 GA

• 70x Higher Complex Query Performance: Adaptive Query Localization

• Native Memcached API

• MySQL 5.5 Server Integration

• Multi-Threaded Data Node Extensions

• VM Support

Enabling Next Generation Web Services

• Multi-Site Clustering

• Simplified Active / Active Replication

Enhancing Cross Data Center Scalability

• MySQL Cluster Manager 1.1

• Consolidated Privileges

Ease of Use

Page 37: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 37

Comparing MySQL Cluster Performance 8x Higher Performance per Node

0

2

4

6

8

10

12

14

16

18

20

MySQL Cluster 7.1 MySQL Cluster 7.2

Read

s p

er

Seco

nd

(M

illio

ns)

• 1 Billion+ Reads per Minute, 8 node Intel Xeon cluster

• Multi-Threaded Data Node Extensions

• NoSQL C++ API, flexaSynch benchmark

Page 38: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 38

1.2 Billion UPDATEs per Minute

• 30 x Intel E5-2600 Intel Servers

• NoSQL C++ API, flexaSynch benchmark

• ACID Transactions, with Synchronous Replication

0

5

10

15

20

25

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Mil

lio

ns o

f U

PD

AT

Es

per

Se

co

nd

MySQL Cluster Data Nodes

Page 39: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 39

Adaptive Query Localization Scaling Distributed Joins

70x

More

Performance

mysqld

Data Nodes

mysqld

A

Q

L

Data Nodes

• Perform Complex Queries

across Shards

• JOINs pushed down to

data nodes

• Executed in parallel

• Returns single result set

to MySQL

• Opens Up New Use-Cases

• Real-time analytics

• Recommendations

engines

• Analyze click-streams

Page 40: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 40

MySQL Cluster 7.2 AQL Test Query Web-Based Content Management System

Page 41: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 41

Web-Based CMS

Must Analyze tables for best results

mysql> ANALYZE TABLE <tab-name>;

0

10

20

30

40

50

60

70

80

90

100

MySQL Cluster 7.1 MySQL Cluster 7.2

Query Execution Time Seconds

87.23 seconds

1.26 seconds

70x

More

Performance

Page 42: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 42

NoSQL Access to MySQL Cluster data

ClusterJ

MySQL

JDBC

Apps

JPA

JNI

Python Ruby

ClusterJPA

Apps Apps Apps Apps Apps

Node.js

JSON

Apps

mod-ndb

Apache

Apps

ndb-eng

Memcached

Apps Apps

NDB API (C++)

MySQL Cluster Data Nodes

Apps

PHP PERL

Apps

Page 43: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 43

• Domain Object Model Persistence API (ClusterJ): • Java API

• High performance, low latency

• Feature rich

• JPA interface built upon this new Java layer: • Java Persistence API compliant

• Implemented as an OpenJPA plugin

• Uses ClusterJ where possible, reverts to JDBC for

some operations

• Higher performance than JDBC

• More natural for most Java designers

• Easier Cluster adoption for web applications

MySQL Cluster 7.1: ClusterJ/JPA

Page 44: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 44

• Memcached is a distributed memory based hash-

key/value store with no persistence to disk

• NoSQL, simple API, popular with developers

• MySQL Cluster already provides scalable, in-

memory performance with NoSQL (hashed) access

as well as persistence

• Provide the Memcached API but map to NDB

API calls

• Writes-in-place, so no need to invalidate cache

• Simplifies architecture as caching & database

integrated into 1 tier

• Access data from existing relational tables

MySQL Cluster 7.2: Memcached

Page 45: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 45

Traditional Memcached Architecture Two levels of hashing

Memcache

httpd memcached

memcached

memcached memcache key

PHP/Perl

friends:12389

hash key

to find data

Page 46: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 46

Memcache Protocol Elements

• Key Up to 250 characters

• Expire Time A number in seconds, up to 30 days

• Flags 32-bit number for application use

• CAS ID 64-bit incrementing version number on value

• Value Value stored for key; traditionally up to 1 MB.

Page 47: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 47

Memcache Protocol Commands (1)

• get key Fetch value for this key

• set key value Store this data

• add key value Store this data (strict insert)

• replace key value Store this data (strict update)

• cas key value cas-id Update with version number check

Page 48: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 48

Memcache Protocol Commands (2)

• append key value Append text to current value

• prepend key value Insert text before current value

• incr key amount Add to current stored integer value

• decr key amount Subtract from current stored value

• delete key Delete a key and value

• flush_all Delete all stored values on the server

• stats stat-name Fetch server statistics

Page 49: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 49

NDB & Memcache Architecture: Memcache protocol + NDB storage

MySQL

Cluster

Data Node memcached

Memcache

Client

Application

MySQL

Cluster

Data Node

NDB Engine

Page 50: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 50

Goals

• Access stored data directly from memcache client

• Memcached perspective:

• MySQL Cluster is a write-scalable, replicated data store

• with reliable in-memory storage,

• plus on-disk storage when data is too big for memory.

• MySQL Cluster perspective:

• memcache is a high performance API

• providing easy access to in-memory data,

• plus an extra layer of caching when data is on disk.

Page 51: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 51

Memcached/MySQL Cluster latency

memcachetest -t 2 -M 7000 -c 25000

Page 52: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 52

Cluster & Memcached – Schema-Free

<town:maidenhead,SL6>

key value

<town:maidenhead,SL6>

key value

Key Value

town:maidenhead SL6

generic table

Application view

SQL view

Page 53: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 53

Cluster & Memcached – Configured Schema

<town:maidenhead,SL6>

prefix key value

<town:maidenhead,SL6>

key value

Prefix Table Key-col Val-col policy

town: map.zip town code cluster

Config tables

town ... code ...

maidenhead ... SL6 ...

map.zip

Application view

SQL view

Page 54: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 54

Page 55: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 55

Multi-Site Clustering

Split data nodes across data

centers

– Synchronous replication

and auto-failover between

sites

– Improved heartbeating to

handle network partitions

Extends HA Options

Active/Active with no need

for conflict handling

Node Group 2

Node Group 1

Data Node 1

Data Node 3

Data Node 2

Data Node 4

Synchronous

Replication

Page 56: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 56

Active/Active Geographic Replication

Replicating complete clusters

across data centers

– DR & data locality

– No passive resources

Simplified Active / Active

Replication

– Eliminates requirement for

application & schema changes

– Transaction-level rollback

Geographic

Replication

Page 57: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 57

Page 58: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 58

Simplified Provisioning & Maintenance User Privilege Consolidation

Page 59: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 59

Page 60: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 60

DMR1

Page 61: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 61

EA

Page 62: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 62

EA

Page 63: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 63

Page 64: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 64

MySQL Cluster 7.3 DMR1: Foreign Keys

Brings MySQL Cluster to a broader range of workloads

– Packaged apps, custom projects

Adds powerful functionality while reducing complexity

– App logic & data model

Enabled by default

Enforced for SQL

& NoSQL APIs

On-line add and drop

Page 65: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 65

MySQL Cluster 7.3 DMR1: Foreign Keys

Implementation goal: compatibility with InnoDB

– Easy migration of solutions already working with InnoDB

Foreign keys are natively implemented in the storage

engine

Created in SQL

Enforced in SQL & NoSQL (C++, ClusterJ, memcached,

node.js)

Page 66: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 66

MySQL Cluster 7.3 DMR1: Foreign Keys

Page 67: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 67

Downloading MySQL Cluster 7.3 DMR

http://dev.mysql.com/downloads/cluster/

Development Release Tab

Page 68: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 68

MySQL Cluster 7.3 EA: Node.js NoSQL API Native JavaScript access to MySQL Cluster

– End-to-End JavaScript: browser to the app and

database

– Storing and retrieving JavaScript objects directly

in MySQL Cluster

– Eliminate SQL transformation

Implemented as a module for node.js

– Integrates full Cluster API library within the web

app

Couple high performance, distributed apps, with

high performance distributed database

V8 JavaScript Engine

MySQL Cluster Node.js Module

MySQL Cluster Data Nodes

Clients

Page 69: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 69

MySQL Cluster 7.3 EA: Auto-Installer

Fast configuration

Auto-discovery

Workload optimized

Repeatable best

practices

For MySQL Cluster

7.2 + 7.3

Specify Workload

Auto-Discover

Define Topology Deploy

Page 70: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 70

Define Hosts

Page 71: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 71

Auto-Discovery

Page 72: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 72

Modify hosts

Page 73: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 73

Define nodes

Page 74: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 74

Refine config

Page 75: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 75

Deploy

Page 76: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 76

Downloading MySQL Cluster EA

http://labs.mysql.com/

Page 77: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 77

MySQL Cluster Manager Enhancing DevOps Agility, Reducing Downtime

Self-Healing Automated

Management HA Operations

• Start / Stop node or

whole cluster

• On-Line Scaling

• On-Line

Reconfiguration

• On-Line Upgrades

• Node monitoring

• Auto-recovery

extended to SQL

+ mgmt nodes

• Cluster-wide

configuration

consistency

• Persistent

configurations

• HA Agents

Page 78: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 78

How Does MySQL Cluster Manager Help? Example: Initiating upgrade from MySQL Cluster 7.0 to 7.2

• 1 x preliminary check of cluster state

• 8 x ssh commands per server

• 8 x per-process stop commands

• 4 x scp of configuration files (2 x mgmd & 2 x

mysqld)

• 8 x per-process start commands

• 8 x checks for started and re-joined processes

• 8 x process completion verifications

• 1 x verify completion of the whole cluster.

• Excludes manual editing of each configuration

file.

Total: 46 commands -

2.5 hours of attended operation

Before MySQL Cluster Manager With MySQL Cluster Manager upgrade cluster --package=7.1 mycluster;

Total: 1 Command -

Unattended Operation

Results

– Reduces the overhead and complexity of managing database clusters

– Reduces the risk of downtime resulting from administrator error

– Automates best practices in database cluster management

Page 79: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 79

MySQL Cluster Manager

1. Download MCM/Cluster package from edelivery.oracle.com:

2. Unzip

3. Run agent, define, create & start Cluster!

$> bin\mcmd –bootstrap MySQL Cluster Manager 1.1.2 started

Connect to MySQL Cluster Manager by running "D:\Andrew\Documents\MySQL\mcm\bin\mcm" -a NOVA:1862

Configuring default cluster 'mycluster'...

Starting default cluster 'mycluster'...

Cluster 'mycluster' started successfully

ndb_mgmd NOVA:1186

ndbd NOVA

ndbd NOVA

mysqld NOVA:3306

mysqld NOVA:3307

ndbapi *

Connect to the database by running "D:\Andrew\Documents\MySQL\mcm\cluster\bin\mysql" -h NOVA -P 3306 -u root

Bootstrap single host Cluster

Page 80: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 80

Scaling out with MySQL Cluster Manager

agent

ndb_mgmd

mysqld

192.168.0.10

agent

ndb_mgmd

mysqld

192.168.0.11

agent

ndbd

ndbd

192.168.0.12

agent

ndbd

ndbd

192.168.0.13

client

Page 81: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 81

Scaling out with MySQL Cluster Manager

agent

ndb_mgmd

mysqld

192.168.0.10

agent

ndb_mgmd

mysqld

192.168.0.11

agent

ndbd

ndbd

192.168.0.12

agent

ndbd

ndbd

192.168.0.13

client

agent

ndbd

ndbd

192.168.0.14

agent

ndbd

ndbd

192.168.0.15

Page 82: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 82

Scaling out with MySQL Cluster Manager

mcm> add hosts --hosts=192.168.0.14,192.168.0.15 mysite;

mcm> add package --basedir=/usr/local/mysql_7_0_9 --

hosts=192.168.0.14,192.168.0.15 7.0.9;

mcm> add process --

[email protected],[email protected],ndbd@192

.168.0.14,[email protected],[email protected],[email protected].

15 -s port:mysqld:52=3307,port:mysqld:53=3307 mycluster;

mcm> start process --added mycluster;

mysql> ALTER ONLINE TABLE <table-name> REORGANIZE PARTITION;

mysql> OPTIMIZE TABLE <table-name>;

Page 83: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 83

MySQL Enterprise Monitor 2.3

Copyright 2011 Oracle Corporation 83

Page 84: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 84

Query Analyzer in MySQL Enterprise Monitor

Page 85: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 85

Page 86: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 86

Performance Thread connection scaling

Capacity Disk-Based Indexes

Increased node-count support

Increased database object support

Flexibility Tunable disk commits

MySQL Cluster Development Priorities

Ease-of-Use

Increased automation

backup and restore

Auto-Installer enhancements

MySQL Cluster Manager GUI

MySQL Cluster Manager Imports

Page 87: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 87

Most secure, scalable MySQL Database, Development / Management /

Monitoring Tools, backed by Oracle Premier Lifetime Support

Oracle Premier Support

Oracle Product Certifications/Integrations

MySQL Enterprise Security

MySQL Enterprise Scalability

MySQL Enterprise Backup

MySQL Enterprise Monitor/Query Analyzer

MySQL Workbench

MySQL Cluster CGE

MySQL Cluster

Manager

Page 88: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 88

Page 89: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 89

Page 90: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 90

PLAYFUL PLAY OVERVIEW

Developer of Latin America’s most popular FaceBook game

Based on El Chavo, massive success in LatAM, US and Spain

CHALLENGES / OPPORTUNITIES

2m users in 4 months, growing at 30k per day

Targeting 50m users in 5 years

Massive scale, especially of database writes

99.999% uptime

Data integrity

DATABASE REQUIREMENTS

10k TPS on commodity hardware, in the cloud

Managing user avatars and sessions

In-App Purchases

Digital marketing + user response data

CUSTOMER PERSPECTIVE

"The MySQL support service has been essential in

helping us for troubleshooting and giving

recommendations for the production cluster, Thanks"

Carlos Morales – DBA, Playfulplay.com México

RESULTS

• 45% improvement in performance

• 80% reduction in DBA overhead

• 99.999% uptime

https://blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo

SOLUTIONS

• MySQL Cluster Carrier Grade Edition

• MySQL Cluster Manager

• MySQL Support & Consulting Services

Page 91: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 91

Co-Located MySQL Servers + Data Nodes

MySQL Cluster

https://apps.facebook.com/lavecindaddeelchavo/

Playful Play Architecture

Page 92: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 92 92

“Since deploying MySQL Cluster as our eCommerce database, we have had continuous uptime with linear scalability enabling us to exceed our most stringent SLAs”

— Sean Collier, CIO & COO, Shopatron Inc

Shopatron: eCommerce Platform

Applications

– Ecommerce back-end, user authentication, order data & fulfilment, payment data & inventory tracking. Supports several thousand queries per second

Key business benefits

– Scale quickly and at low cost to meet demand

– Self-healing architecture, reducing TCO

Why MySQL?

– Low cost scalability

– High read and write throughput

– Extreme availability

http://www.mysql.com/why-mysql/case-studies/mysql_cs_shopatron.php

Page 93: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 93 93

Zillow

Application

Zillow.com is an online real estate community where homeowners, buyers, sellers, and real estate agents and professionals can find and share vital information about homes.

Key Business Benefit

In May 2007, 4.2 million unique visitors came to Zillow.com, just 15 months after the company launched.

Why MySQL?

“MySQL Cluster has enabled us to manage our growth smoothly, cost-effectively, and intelligently plan for future expansion."

Brian Milnes Zillow.com

http://www.mysql.com/customers/view/?id=908

Page 94: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 94 94

Seat Pagine Gialle

Application

Business directories (including yellow and white pages) & media services

Key Business Benefit

MySQL Cluster delivers the performance and high throughput required and enables Seat Pagine Gialle to incrementally scale its business without having to invest in expensive hardware.

Why MySQL? Performance & low TCO

“MySQL Cluster provided overwhelmingly better performance, availability and strength from every perspective.”

http://www.paginegialle.it/ http://www.paginebianche.it/

Page 95: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 95

Page 96: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 96 96

SOLVIANS IT-Solutions / goldman-sachs.de

Application

Real time multi language financial web site with 18,000+ financial products; 400 updates and 1,200 reads per second

Key Business Benefit

attractive price performance ratio, fast development and time-to-market

Why MySQL? Excellent support team

“With MySQL Cluster we are able to meet all our technical requirements. The excellent MySQL support team helped us to get in production within a very small time frame.”

Thomas Schwanhäuser, Managing Director

SOLVIANS IT-Solutions GmbH

Page 97: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 97

Page 98: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 98 98

http://www.mysql.com/customers/view/?id=1160

COMPANY OVERVIEW Division of Docudesk Deliver Document Management SaaS

CHALLENGES / OPPORTUNITIES

Provide a single repository for customers to

manage, archive, and distribute documents

Implement scalable, fault tolerant, real time data management back-end

PHP session state cached for in-service personalization

Store document meta-data, text (as BLOBs), ACL, job queues and billing data

Data volumes growing at 2% per day

SOLUTION

MySQL Cluster deployed on EC2

USER PERSPECTIVE

“MySQL Cluster exceeds our requirements for low

latency, high throughput performance with

continuous availability, in a single solution that

minimizes complexity and overall cost.”

-- Casey Brown, Manager of Dev & DBA Services,

Docudesk

Results Successfully deployed document

management solution, eliminating paper trails from legal processes

Integrate caching and database into one layer, reducing complexity & cost

Support workload with 50:50 read/write ratio

Low latency for real-time user experience and document time-stamping

Continuous database availability

Page 99: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 99

When to Consider MySQL Cluster What are the consequences of downtime or failing to meet performance

requirements?

How much effort and $ is spent in developing and managing HA in your

applications?

Are you considering sharding your database to scale write performance?

How does that impact your application and developers?

Do your services need to be real-time?

Will your services have unpredictable scalability demands, especially for

writes ?

Do you want the flexibility to manage your data with more than just SQL

?

Page 100: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 100

Where would I not Use MySQL Cluster? “Hot” data sets >3TB

– Replicate cold data to InnoDB

Long running transactions

Large rows, without using BLOBs

Foreign Keys

– Can use triggers to emulate:

– http://dev.mysql.com/tech-resources/articles/mysql-enforcing-foreign-keys.html

Full table scans

Savepoints

Geo-Spatial indexes

InnoDB storage engine would be the right choice

MySQL Cluster Evaluation Guide

http://mysql.com/why-mysql/white-papers/mysql_cluster_eval_guide.php

Page 101: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 101

MySQL Cluster in Action Web Reference Architectures

Session Management eCommerce

MySQL Master

Content Management

Slave 1

MySQL Master Analytics

Slave 2 Slave 3 Slave 4 Slave 5

Slave 6 Slave 7 Slave 8 Slave 9 Slave 10

Slave N

Slave 2

Node Group 2

F2

F4 Nod

e

3

Nod

e 4

F2

F4

Node Group 1

F1

F3 Nod

e

3

Nod

e 4

F1

F3

MySQL Cluster Data Nodes

MySQL Servers

Node Group 2

F2

F4 Nod

e

3

Nod

e 4

F2

F4

Node Group 1

F1

F3 Nod

e

3

Nod

e 4

F1

F3

MySQL Cluster Data Nodes

MySQL Servers

Slave 1 Slave 3

Data

Refinery Memcache / Application Servers

Distributed

Storage

XOR 4 x Data Nodes: 10k+

page hits per second

Each page hit

generating 8 – 12

database operations

Page 102: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 102

Next Steps

Learn More

• www.mysql.com/cluster

• Authentic MySQL Curriculum: http://oracle.com/education/mysql

Try it Out

• dev.mysql.com/cluster

• labs.mysql.com

Let us know what you think

• clusterdb.com

• @clusterdb

• forums.mysql.com/list.php?25

Page 103: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 103 103

Paggo Application

Innovative payment solution to buy and sell products and services using mobile phones.

Key Business Benefit

MySQL Cluster CGE has enabled Paggo to quickly add 40,000 merchants and 1.2 million subscribers to its network and handle over 750,000 financial transactions per month.

Why MySQL? High Availability & Scalability

“Paggo would not have been possible without MySQL Cluster. No other product would have give us the ability to start small, scale quickly and provide 24 x7 availability for our financial payment system.”

Cicero Torteli Founder, Paggo

http://www.mysql.com/customers/view/?id=960

Page 104: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 104 104

http://www.mysql.com/customers/view/?id=1142

COMPANY OVERVIEW Leading telecoms provider across Europe

and Asia. Largest Nordic provider 184m subscribers (Q2, 2010)

CHALLENGES / OPPORTUNITIES

Extend OSS & BSS platforms for new

mobile services and evolution to LTE

OSS: IP Management & AAA

BSS: Subscriber Data Management &

Customer Support

SOLUTION MySQL Cluster MySQL Support Services

CUSTOMER PERSPECTIVE

“Telenor has been using MySQL for fixed IP management since 2003 and are extremely satisfied with its speed, availability and flexibility. Now we also

support mobile and LTE IP management with our solution. Telenor has found MySQL Cluster to be the

best performing database in the world for our applications.”

- Peter Eriksson, Manager, Network Provisioning

Results Launch new services with no downtime, due to on-

line operations of MySQL Cluster Consolidated database supports Subscriber Data

Management initiatives MySQL Cluster selected due to 99.999%

availability, real time performance and linear scalability on commodity hardware

Page 105: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 105 105

http://www.mysql.com/customers/view/?id=1092

COMPANY OVERVIEW UK-based retail & wholesale ISP & Hosting

Services 2010 awards for best home broadband and

customer service Acquired by BT in 2007

CHALLENGES / OPPORTUNITIES

Enter market for wholesale services, demanding

more stringent SLAs

Re-architect AAA systems for data integrity &

continuous availability to support billing sytems

Consolidate data to for ease of reporting and

operating efficiency

Fast time to market

SOLUTION MySQL Cluster MySQL Server with InnoDB

CUSTOMER PERSPECTIVE

“Since deploying our latest AAA platform, the MySQL environment has delivered

continuous uptime, enabling us to exceed our most stringent SLAs”

-- Geoff Mitchell Network Engineer

Results Continuous system availability, exceeding

wholesale SLAs 2x faster time to market for new services Agility and scale by separating database

from applications Improved management & infrastructure

efficiency through database consolidation

Page 106: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 106

Alcatel-Lucent

Application

Infrastructure for next generation converged services including subscriber database applications (HLR, HSS) and the XDMS contacts and presence management system

Key Business Benefit

The team evaluated several databases but only MySQL Cluster Carrier Grade Edition could offer the scalability and the high availability required for the system. Plus, MySQL Cluster Carrier Grade Edition is very cost-effective, the cost of shared-disk clustered databases evaluated would have been at least 10x more.”

Why MySQL? High Availability & Scalability

MySQL Cluster won the performance tests hands down, and it fitted our needs perfectly.”

Alain Chastagner Systems Manager, Alcatel-Lucent

http://www.mysql.com/customers/view/?id=566

Page 107: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 107 107

http://www.mysql.com/customers/view/?id=1162

COMPANY OVERVIEW Pyro provide comms technology solutions in Core

Network, OSS/BSS & VAS Deployed in 120+ networks worldwide Cell C, one of the largest mobile operators in

South Africa 560 roaming partners in 186 countries

CHALLENGES / OPPORTUNITIES

FIFA 2010 world cup opens up network services

to millions of mobile subscribers

International roaming SDP to support up to 7m

roaming subscribers per day

Offer local pricing with home network functionality

Minimize cost and time to market

SOLUTION MySQL Cluster 7.1 & Services

CUSTOMER PERSPECTIVE

”MySQL Cluster 7.1 gave us the perfect combination of extreme levels of transaction

throughput, low latency & carrier-grade availability. We also reduced TCO by being able to scale out on commodity server blades and eliminate costly

shared storage”

-- Phani Naik, Head of Technology at Pyro Group

Results Supported subscriber and traffic volumes Delivered continuous availability Implemented in 25% of the time of typical

SDP solutions Choice in deployment platforms to eliminate

vendor lock-in (migrated from Microsoft)

Page 108: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 108

M1 – Singapore

Application

RewardsPlus enables M1 to run credit expiration campaigns, generate comparison reports on promotional efficiency and send customized SMS messages to subscribers

Key Business Benefit

M1 has improved customer loyalty in a highly-competitive market where delivering new value-added services and growing your subscriber-base are key to success.

Why MySQL? Reliability & Scale-out

“We rely on MySQL Cluster as the key technology behind RewardsPlus, which helps us increase the Average Revenue per User and improve customer loyalty.”

Mr. Tan Tiong Heng General Manager of Core Network Planning M1, Singapore

http://www.mysql.com/customers/view/?id=924

Page 109: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 109

Teligent

Application

The Swedish telecom vendor Teligent supplies innovative network services like voice message systems, Mobile data and VoIP to operators like BT, Deutsche Telekom, TeliaSonera, Telefónica and Vodafone.

Key Business Benefit

While the products must excel in reliability and flexibility, performance to price ratio is always a concern. “Through the years, we have recognized that MySQL scales easily to meet increasing demands for performance and functionality.”

Why MySQL? Scalability & Low TCO

“One of our key customers and one of Europe’s top telecom operators recently praised our standardization on MySQL as an innovative adoption of the technology of the future.”

Hans Floberg Head of Platfrom Development Teligent

http://www.teligent.se/

Page 110: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 110

Nokia Siemens Networks

Application

Next generation telecommunication subscriber register solution to cover all requirements for real-time subscriber data demanded by existing and new services in both mobile and converged networks.

Key Business Benefit

The solution will provide greater flexibility in creating new subscriber services, enhanced capabilities for subscriber provisioning, and increased savings in operational costs .

Why MySQL? High Availability & Scalability

“With this cooperation, we join forces with MySQL to establish a winning solution for mobile and converged operators.”

Christian Fredrikson Vice President Nokia Siemens Networks

http://www.nokiasiemensnetworks.com/

Page 111: MySQL Cluster 7.2 e 7.3 - por Andrew Morgan

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. | 17th October 2012 | Oracle reserves the right to change the timing and content of any future release 111