Lightning talks percona live mysql_2012

Preview:

DESCRIPTION

Lightning talks at Percona Live MySQL Conference and Expo 2012

Citation preview

Lightning talksGiuseppe MaxiaContinuent, Inc

April 11, 2012

Wednesday, April 11, 12

LineupStewart Smith The 5 minutes tour of Drizzle

Jeff Mace What can possibly go wrong?

Nicolai Plum MAKE.DATABASES.FAST

Bill Karwin Schemadoc

Robert Hodges It's the application, stupid!

Robert Buck NuoDB overview

David Holoboff Diagnosis and possible fixes

Lawrence Schwartz OLTP and OLAP

Baron Schwartz Building a scalable system

Sheeri Cabral How to become a rock star DBA

Giuseppe Maxia Cruelty on database clusters

Wednesday, April 11, 12

The 5 minutes tour of DrizzleStewart Smith

Wednesday, April 11, 12

Wednesday, April 11, 12

2008...

Wednesday, April 11, 12

http://www.flickr.com/photos/shaylor/53819053/

Wednesday, April 11, 12

2011...

Wednesday, April 11, 12

Drizzle7

Wednesday, April 11, 12

2012...

Wednesday, April 11, 12

Drizzle7.1

Wednesday, April 11, 12

What is Drizzle?

Wednesday, April 11, 12

Modular architecture

Wednesday, April 11, 12

Pluggable

Wednesday, April 11, 12

Infrastructure Aware

Wednesday, April 11, 12

Community Developed

Wednesday, April 11, 12

Multicore

Wednesday, April 11, 12

Concurrency

Wednesday, April 11, 12

Web focus

Wednesday, April 11, 12

UTF-8

Wednesday, April 11, 12

EBCDIC!=

Wednesday, April 11, 12

Enable others

Wednesday, April 11, 12

Modern codebase

Wednesday, April 11, 12

C++

Wednesday, April 11, 12

STL

Wednesday, April 11, 12

Boost

Wednesday, April 11, 12

Nolinked-list innovation

Wednesday, April 11, 12

Collaboration

Wednesday, April 11, 12

Participation

Wednesday, April 11, 12

Build businesses

Wednesday, April 11, 12

Support & Consulting

Wednesday, April 11, 12

Testing

Wednesday, April 11, 12

Transactional

Wednesday, April 11, 12

Logging

Wednesday, April 11, 12

Replication

Wednesday, April 11, 12

Multi-sourceReplication

Wednesday, April 11, 12

Auth

Wednesday, April 11, 12

LDAP

Wednesday, April 11, 12

PAM

Wednesday, April 11, 12

In database tables

Wednesday, April 11, 12

No bad data

Wednesday, April 11, 12

strict_mode

Wednesday, April 11, 12

No GOTCHAs

Wednesday, April 11, 12

No implicit COMMIT

Wednesday, April 11, 12

BSD Client Libraries

Wednesday, April 11, 12

New in 7.1

Wednesday, April 11, 12

Multi-source Replication

Wednesday, April 11, 12

XtraBackup

Wednesday, April 11, 12

IPv6 data type

Wednesday, April 11, 12

ZeroMQ

Wednesday, April 11, 12

Syslog is default

Wednesday, April 11, 12

query_log plugin

Wednesday, April 11, 12

Auth from tables

Wednesday, April 11, 12

Server-side Javascript

Wednesday, April 11, 12

HTTP JSON API

Wednesday, April 11, 12

Percona InnoDB Patches

Wednesday, April 11, 12

Wednesday, April 11, 12

What could possibly go wrong?

Jeff Mace

Wednesday, April 11, 12

©Continuent 2012.

What Could Possibly Go Wrong?

Je! Mace

Wednesday, April 11, 12

©Continuent 2012 59

http://mingle2.com/blog/view/web-developer-mind

Wednesday, April 11, 12

©Continuent 2012 60

http://www.flickr.com/photos/brhefele/4026340146/

Wednesday, April 11, 12

©Continuent 2012 61

http://www.flickr.com/photos/themoly/4336260658/

Wednesday, April 11, 12

©Continuent 2012 62

Wednesday, April 11, 12

©Continuent 2012 62

Wednesday, April 11, 12

©Continuent 2012

What can I possibly do?

• Relax

• Have a plan

• Keep it simple

63

Wednesday, April 11, 12

©Continuent 2012 64

http://www.flickr.com/photos/devenlaney/5767271943

Wednesday, April 11, 12

MAKE.DATABASES.FASTNicolai Plum

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

MAKE.DATABASES.FAST

Nicolai Plum

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

The business

• Booking.com–Leading online hotel reservation agency–Part of the Priceline Group of Companies–Sustained rapid business growth–All powered by MySQL

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

The challenge

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

The problem…

• Hundreds of database servers• Many replication slaves• Few DBAs, some more sysadmins• Need to make tens of servers each day

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

If you do this manuallyYou are doing it wrong

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Among our weapons are…

• Network OS installation• Puppet configuration management• Database cloning• and a fanatical devotion to automation!

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Server installation

• Server Database• PXE netboot• CentOS kickstart

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

System configuration

• Now we have a server that can run Puppet• Puppet does

–OS setup–Software installation–LVM setup and filesystem creation (tailored by role)

• Prefer ongoing configuration management tools to single perfect installation tools

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Database cloning

• Now we have a server ready to run a database• Copying databases based on LVM snapshots• create_clone program

–Copy via SSH and rsync–LVM snapshot–Fix my.cnf (server id!) automatically

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Things we learned

• Waiting for actions to complete takes a lot of person time – automate batches of work as much as possible

• You really need a Server Database, and drive everything from it

• Most hardware can’t support being a clone source and in service, you need spares

• Online snapshots break in subtle ways; best stop the database.

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Things we learned

DBAs are toolsmiths, not database installers

Wednesday, April 11, 12

Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices

Thank you

• … if you like the way we work, we are hiring• http://www.booking.com/jobs

Wednesday, April 11, 12

SchemadocBill Karwin

Wednesday, April 11, 12

SchemadocBill Karwin, Percona Inc.

Wednesday, April 11, 12

www.percona.com

Schema Can Be Unclear

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT);

Wednesday, April 11, 12

www.percona.com

Schema Can Be Unclear

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT);

whose name?

Wednesday, April 11, 12

www.percona.com

Schema Can Be Unclear

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT);

whose name?

what are the values?

Wednesday, April 11, 12

www.percona.com

Schema Can Be Unclear

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT);

whose name?

what are the values?

what’s an entity?what’s a number?

Wednesday, April 11, 12

www.percona.com

Schema Can Be Unclear

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT);

whose name?

what are the values?

what’s an entity?what’s a number?

commerce, or ordinal?

Wednesday, April 11, 12

www.percona.com

Comments!

CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100) COMMENT ‘person who placed the order’, Status VARCHAR(20) COMMENT ‘new, open, or closed’, EntityNum INT COMMENT ‘how many items in the order’, Order INT COMMENT ‘reference to the Orders table’) COMMENT ‘any change to e-commerce orders’;

Wednesday, April 11, 12

www.percona.com

Length

• Limits increased in MySQL 5.5.3:• Per column: 1024 characters• Per index: 1024 characters• Per table: 2048 characters• Per partition: 80 characters

(MySQL 5.6 increases this to 1024)

Wednesday, April 11, 12

www.percona.com

“Is there a tool for MySQL like javadoc for Java code?”

Wednesday, April 11, 12

www.percona.com

developmentdba

documentation

Wednesday, April 11, 12

www.percona.com

schemadoc

Wednesday, April 11, 12

www.percona.com

Usage

$ schemadoc -v h=dbserver,D=EcommerceDB,u=root,p=xxxxLoading metadata...Running online analysis...done.Outputting to html.Rendering pages for tables. done.Rendering pages for views done.Rendering pages for procedures done.Rendering pages for triggers done.Rendering page for schema summary... done.Rendering page for schema link... done.Rendering page for deprecated-list... done.Rendering page for all-index... done.Rendering page for help-doc... done.Rendering page for allschema-frame... done.Rendering page for index... done.

Wednesday, April 11, 12

Wednesday, April 11, 12

www.percona.com

hooray.

Wednesday, April 11, 12

www.percona.com

But Wait, There’s More

•Parses SQL dump file•Reads from a live MySQL instance•Document many schemas•Update one schema at a time

Wednesday, April 11, 12

www.percona.com

Schema Analysis

•Number of indexes and columns per data type•Columns with same name but different type•ENUM columns that aren’t NOT NULL•Use of FLOAT or DOUBLE• Tables with one index per column• Tables with one index over all columns• Tables with no indexes• INT(N) other than default N• Lack of INT UNSIGNED columns

Wednesday, April 11, 12

www.percona.com

Schema Analysis

• Tables that look like Entity-Attribute-Value• Tables that look like Polymorphic Associations•Superfluous primary key•Report table with least / most indexes• IP addresses stored in VARCHAR•Excessive use of VARCHAR(255),

report actual max string length• ...And supports plugins for other checks!

Wednesday, April 11, 12

www.percona.com

yes, we get it.

Wednesday, April 11, 12

www.percona.com

Future of Schemadoc

• Integrate with Percona Toolkit library•Read extra metadata (foreign keys)•Show table sizes and growth rates•Show SQL privileges (who has access?)•CLI for adding / updating comments•Batch-mode output•Redesign HTML output with modern look & feel

Wednesday, April 11, 12

Wednesday, April 11, 12

www.percona.com

Future of Schemadoc

Wednesday, April 11, 12

www.percona.com

launchpad.net/schemadoc

Wednesday, April 11, 12

It's the application, stupid!Robert Hodges

Wednesday, April 11, 12

©Continuent 2012.

It’s the Application, Stupid!

(Or: Multi-Master Enlightenment in 5 Minutes or Less)

Robert Hodges, Continuent CEO

Wednesday, April 11, 12

©Continuent 2012 99

Multi-Master Replication Is This Easy

tungsten-sandbox-2.0.4 -m 5.1.54 \ -i $RELDIR/tungsten-replicator-2.0.5 \ -n 3 --topology=star --hub=2

HubSpoke Spoke

Wednesday, April 11, 12

©Continuent 2012 100

Multi-Master Apps Not So Much

Airline Reservations

Airline Reservations

Airline Reservations

HubSpoke Spoke

Wednesday, April 11, 12

©Continuent 2012 101

Who Is in Which Seat on Flight 3523?

Book Bobin Seat 11E

Airline Reservations

Airline Reservations

Airline Reservations

HubSpoke Spoke

Book Suein Seat 11E

Bump Bob from Flight 3523

Wednesday, April 11, 12

©Continuent 2012 102

Rules for Multi-Master Apps

1. Isolate destructive changes to a single master to avoid harmful con!icts

➡ “Change gate for !ight 3523 to C28”

2. Use non-destructive INSERTs for everything else

➡ “Please assign Sue to seat 11A”

Wednesday, April 11, 12

©Continuent 2012 103

Rules for Multi-Master Apps

3. Coordinate across masters to aggregate results

➡ “Generate "nal passenger manifest for !ight 3523”

4. Be prepared to apologize

➡ “Add 5000 frequent !yer miles to Bob’s account”

Wednesday, April 11, 12

©Continuent 2012 104

Multi-Master Enlightenment

Scalable multi-master applications are eventually consistent

1. Think through the whole problem: Business processes are often eventually consistent already

2. Follow design rules for eventually consistent applications

3. Use appropriate replication technology for MySQL*

* As in Tungsten :)

Wednesday, April 11, 12

NuoDB overviewRobert Buck

Wednesday, April 11, 12

Copyright © 2012 NuoDB

The Elastically Scalable Database™

Wednesday, April 11, 12

Copyright © 2012 NuoDB 107

‣ SQL/ACID: Emergent Architecture

‣ Elastically Scale: Demand-driven, auto-balancing

‣ Single Logical Database: No sharding, no partitioning

‣ Run Anywhere: On-Premises / Private, Public, or Hybrid Cloud

‣ Store Anywhere: KV-Store backend (flexible, e.g. Files, S3, HDFS)

‣ Multi-Tenant: DBs share machines dynamically

‣ Geo-Distributed: Active/active across several data centers

‣ Extreme Availability: Massively redundant, permitting live upgrade

‣ Minimal Admin: No knobs, auto everything

NuoDB Summary

Wednesday, April 11, 12

Copyright © 2012 NuoDB

Emergent Database Architecture

“An emergent behavior can

appear when a number of simple agents operate in an environment,

forming more complex behaviors

as a collective.”

- Wikipedia

108

Wednesday, April 11, 12

Copyright © 2012 NuoDB

Instantly Elastic

Second Machine Instant Performance Increase

‣ Second machine more than doubles TPS due to caching effects

‣ Second machine is added to live database while it is running at 1,000’s of TPS

‣ Performance increase is immediate

‣ BTW - you can take either machine away and the database keeps running without data loss

109

Wednesday, April 11, 12

Copyright © 2012 NuoDB

Number of Nodes

TPS

Linearly Scalable

110

Technical Details:‣ 2-9 Tx engines‣ 1 storage manager‣ Best sustained TPS and #

clients combination‣ 50% updates

Nodes TPS

MySQL 1 3,000

NuoDB 1 4,500

NuoDB 9 27,000

NuoDB running on 9 nodes was approx. 9x faster than MySQL running on 1 node.

0"

5000"

10000"

15000"

20000"

25000"

30000"

1" 2" 3" 4" 5" 6" 7" 8" 9"

Wednesday, April 11, 12

Copyright © 2012 NuoDB

... even on Amazon EC2

111

0"

2000"

4000"

6000"

8000"

10000"

12000"

1" 2" 3" 4" 5" 6" 7" 8" 9"

Number of EC2 Nodes

TPS

‣ NuoDB scales linearly on EC2

‣ EC2 performance bound by AMZ TCP/IP traffic shaping

‣ Linearly scales at 50% of rate for physical commodity hardware

‣ Whereas, Amazon RDS runs on 1 node, and gets overloaded at 10+ connections

Wednesday, April 11, 12

Copyright © 2012 NuoDB

We Work with Your SQL Tools

SQuirreLSQL

MS Excel (and other MS tools)

DbVisualizer

112

Wednesday, April 11, 12

Copyright © 2012 NuoDB

NuoDB System Architecture

TM1

Application(JDBC, ODBC, SQL) NuoDB Storage

ManagerNuoDB Transaction

Engines

NuoDB Brokers

Tx Scalability Add as many of B, TE, or SM as you like

I/O Scalability Distributed IO, e.g. Hadoop HDFS

100% Uptime No single point of failure, geo-distributed

Optimal Utilization Multiple Databases on finite resources

Low People Costs Single Console Management

B1

TM1TM1TM1TM1TM1TM1TM1TM1TM1TM1TM1TM1TM1TM1TE

B1B1B

SM

SM

SM

113

Wednesday, April 11, 12

Copyright © 2012 NuoDB 114

‣ 100% SQL

‣ 100% ACID

‣ 100% Elastic Scaling

‣ If you have more questions...

‣ Prove it to yourself. Try it out!

‣ Download it at: www.nuodb.com

‣ Chat with us afterward

NuoDB Summary

Wednesday, April 11, 12

Copyright © 2012 NuoDB

NuoDBThe Elastically Scalable Database™

Wednesday, April 11, 12

Diagnosis and possible fixes

David Holoboff

Wednesday, April 11, 12

DIAGNOSIS ANDPOSSIBLE FIXES:

A MULTIPLE CHOICE PRIMERFOR BEGINNING DBAS

Wednesday, April 11, 12

This talk is for entertainment value only. Any perceived similarity between what you will hear in the next five minutes and true life scenarios are merely coincidental, with

no intent of harm or liability.

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Are you being asked the right question?

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

What do you do with a slow database server?

Wednesday, April 11, 12

Wednesday, April 11, 12

What do you do if swap memory is always being used up?

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

OLTP and OLAPLawrence Schwartz

Wednesday, April 11, 12

OLTP and OLAPHave Your Cake and Eat it Too!

Lawrence Schwartz

Wednesday, April 11, 12

Avoiding the B-tree Valley of Death

Read-intensive Write-intensive

Usa

ge

OLAP OLTP

B-treeValley of

Death

Columnar DBs HadoopMongoDB

However, Today’s database categories - OLAP, OLTP are compromises to get around dated, rigid indexing technology

“The real end-game for Big Data is to have transactional and analytic data on the same database.”

Wednesday, April 11, 12

B-trees Perform Poorly on Disk

• Random Workloads Lead To Frequent Drive Head Movement

• MySQL Can’t Take Advantage of Full Drive I/O Potential

MySQL + InnoDB

• Continuous Rebalancing and Aggregation at Nodes

• Eliminates Fragmentation, Maximizes Disk I/O

MySQL + TokuDBBased on B-Tree Indexes Based on Fractal Tree Indexes

Wednesday, April 11, 12

B-trees Can’t Handle Big Data

• Performance Drops to a Trickle above 50-100M Rows

• Delayed Checkpoints Diminish Performance

• 20x Insertion Rates at One Billion Rows

• Stand Up More Indexes for Better Query Performance

MySQL + TokuDBMySQL + InnoDB

Wednesday, April 11, 12

B-trees Aren’t Agile

• Big Database Schema Changes Take Hours To Complete

• Changes Have to Wait for Scheduled Downtime

• Changes Complete in Seconds

• Allows Business' Data Models to Immediately Adapt

MySQL + TokuDBMySQL + InnoDB

Wednesday, April 11, 12

B-trees Don’t Compress Well

• Compression ~2x to ~2.5x Typical

• Compression Impacts Performance

• High Compression

• No Impact to Performance

MySQL + TokuDBMySQL + InnoDB

Wednesday, April 11, 12

TokuDB Eliminates Death Valley

Read-intensive Write-intensive

Usa

ge“While TokuDB® is effectively an operational database technology, it does blur the lines between operations and analytics”

OLAP OLTP

Fractal Tree® Indexesare the Solution

eCommercePersonalization

Cloud Assets

Logfile analysis

SocialNetworks

Real Time OLAP

Analytic OLTP

Wednesday, April 11, 12

Wednesday, April 11, 12

Building a scalable systemBaron Schwartz

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

Wednesday, April 11, 12

How to become a rock star DBA

Sheeri Cabral

Wednesday, April 11, 12

How to Become a Rock Star DBA

Sheeri Cabral, MozillaOracle ACE Director

MySQL Community Award Winner^2

Wednesday, April 11, 12

Do what you love....

Wednesday, April 11, 12

What you really love

Wednesday, April 11, 12

Have a Twin Brother

Wednesday, April 11, 12

Code

Wednesday, April 11, 12

Write

forums.mysql.com

Tutorials / HOW-TOs

MariaDB/Percona Documentation

#irc

Wednesday, April 11, 12

Make MisteaksMistakes

Wednesday, April 11, 12

Teach others

Wednesday, April 11, 12

Teach others

You know more than you think you do!

Wednesday, April 11, 12

Keep Learning

Wednesday, April 11, 12

Share

Wednesday, April 11, 12

Organize

User Group

UnconferenceIgnite Event

Magazine

Wednesday, April 11, 12

Connect People

Wednesday, April 11, 12

Avoid burnout

Wednesday, April 11, 12

Have a hobby

Wednesday, April 11, 12

Have Support

Wednesday, April 11, 12

Be tall...or not

Wednesday, April 11, 12

Find Ways Others Can Help You

Wednesday, April 11, 12

Some Help You Can Get

MySQL Community TeamVolunteers – UG video: Richard Laskey“What can I help you do?”Technocation for grants - meetup.com fees - Open SQL/DB Camp - Postgres Open - Open Source Bridge - Drizzle Day

(donate to www.technocation.org!)

Wednesday, April 11, 12

It Takes a Community

Permission to use pictures granted by:

Ronald BradfordFrancesca Simon-Carboni PhotographyColin CharlesJeremy ColeJames Duncan DavidsonKeith LarsonGerry Narvaja

Wednesday, April 11, 12

Cruelty on database clustersGiuseppe Maxia

Wednesday, April 11, 12

©Continuent 2012.

Cruel things that you can inflict on your replicated

cluster ... and get away with it!Giuseppe MaxiaContinuent, Inc

Wednesday, April 11, 12

©Continuent 2012

I must confess

185

Wednesday, April 11, 12

©Continuent 2012

I must confess

185

I am a serial killer

Wednesday, April 11, 12

©Continuent 2012

I kill

186

Wednesday, April 11, 12

©Continuent 2012

I kill

•database servers

186

Wednesday, April 11, 12

©Continuent 2012

I kill

•database servers

•client connections

186

Wednesday, April 11, 12

©Continuent 2012

I kill

•database servers

•client connections

•transactions

186

Wednesday, April 11, 12

©Continuent 2012

I kill

•database servers

•client connections

•transactions

•"lesystems

186

Wednesday, April 11, 12

©Continuent 2012

I am armed and dangerous

187

+

= "class 2" weapon

Wednesday, April 11, 12

©Continuent 2012

And of course I carry ...

188

(GASP) Perl!

Wednesday, April 11, 12

©Continuent 2012

I have a criminal mindset

• Like a bank robber

• or an airplane hijacker

• I look around, and watch for weak spots to exploit

189

Wednesday, April 11, 12

©Continuent 2012

Whenever I get a new database cluster

• I open "re

190

$_

@ @

#!

:-)

#!#!#!#!#!

Wednesday, April 11, 12

©Continuent 2012

when a cluster is working just "ne ...

191

Wednesday, April 11, 12

©Continuent 2012

when a cluster is working just "ne ...

• I pull the rug from under its feet

191

Wednesday, April 11, 12

©Continuent 2012

when a cluster is working just "ne ...

• I pull the rug from under its feet

• I switch o# a master's database server

191

Wednesday, April 11, 12

©Continuent 2012

when a cluster is working just "ne ...

• I pull the rug from under its feet

• I switch o# a master's database server

•or I delete its "les191

Wednesday, April 11, 12

©Continuent 2012

I am a Harry Potter fan

192

Wednesday, April 11, 12

©Continuent 2012

So I get carried away, and I use the unforgivable curses

193

$ kill -9

Wednesday, April 11, 12

©Continuent 2012

We have di#erent standpoints

194

Wednesday, April 11, 12

©Continuent 2012

We have di#erent standpoints

•My colleagues say that I am cruel

194

Wednesday, April 11, 12

©Continuent 2012

We have di#erent standpoints

•My colleagues say that I am cruel

• I call it QA

194

Wednesday, April 11, 12

©Continuent 2012

Have you ever reported a bug ...

• about a failure that happens after 9000 switches?

• Or a master that slows down when handling 512 slaves?

195

Wednesday, April 11, 12

©Continuent 2012

Have you ever reported a bug ...

• about a failure that happens after 9000 switches?

• Or a master that slows down when handling 512 slaves?

195

I DIDWednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

196

Wednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

• using the installer with wrong options

196

Wednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

• using the installer with wrong options

• running the installer without a mandatory option

196

Wednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

• using the installer with wrong options

• running the installer without a mandatory option

• Using the wrong version of Java, or Ruby, or MySQL

196

Wednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

• using the installer with wrong options

• running the installer without a mandatory option

• Using the wrong version of Java, or Ruby, or MySQL

• running the installer in a system with only 200 MB of free storage

196

Wednesday, April 11, 12

©Continuent 2012

Things I do that make developers say "it is not fair"

• using the installer with wrong options

• running the installer without a mandatory option

• Using the wrong version of Java, or Ruby, or MySQL

• running the installer in a system with only 200 MB of free storage

• Counting the records after a performance test (and "nding that some are missing)

196

Wednesday, April 11, 12

©Continuent 2012

Why do I do cruel things to replication clusters?

197

Wednesday, April 11, 12

©Continuent 2012

Why do I do cruel things to replication clusters?

• Because, most of the time:

• Developers are not users

• Users do what developers can't imagine

197

Wednesday, April 11, 12

©Continuent 2012

Why do I do cruel things to replication clusters?

• Because, most of the time:

• Developers are not users

• Users do what developers can't imagine

•To make a fool-proof system you need to act like a fool

197

Wednesday, April 11, 12

©Continuent 2012

in the end, I get away with cruelty

I am not bad. I am just drawn that way

(Jessica Rabbit)

198

Wednesday, April 11, 12