SlideShare a Scribd company logo
1 of 221
Download to read offline
Lightning talks
       Giuseppe Maxia
       Continuent, Inc


                          April 11, 2012
Wednesday, April 11, 12
Lineup
             Stewart 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
                             Drizzle
                             Stewart 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
No
                           linked-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-source
              Replication
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
What Could Possibly
                                  Go Wrong?
                                       Je! Mace



   ©Continuent 2012.


Wednesday, April 11, 12
http://mingle2.com/blog/view/web-developer-mind

   ©Continuent 2012       59


Wednesday, April 11, 12
http://www.flickr.com/photos/brhefele/4026340146/

   ©Continuent 2012       60


Wednesday, April 11, 12
http://www.flickr.com/photos/themoly/4336260658/

   ©Continuent 2012       61


Wednesday, April 11, 12
©Continuent 2012       62


Wednesday, April 11, 12
©Continuent 2012       62


Wednesday, April 11, 12
What can I possibly do?

                     •    Relax

                     •    Have a plan

                     •    Keep it simple




   ©Continuent 2012                        63


Wednesday, April 11, 12
http://www.flickr.com/photos/devenlaney/5767271943

   ©Continuent 2012       64


Wednesday, April 11, 12
MAKE.DATABASES.FAST
                          Nicolai Plum




Wednesday, April 11, 12
MAKE.DATABASES.FAST



                                                                      Nicolai Plum



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




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




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




Wednesday, April 11, 12
The challenge




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




Wednesday, April 11, 12
The problem…
        •   Hundreds of database servers
        •   Many replication slaves
        •   Few DBAs, some more sysadmins
        •   Need to make tens of servers each day




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




Wednesday, April 11, 12
If you do this manually
               You are doing it wrong

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




Wednesday, April 11, 12
Among our weapons are…
        •   Network OS installation
        •   Puppet configuration management
        •   Database cloning
        •   and a fanatical devotion to automation!




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




Wednesday, April 11, 12
Server installation
        • Server Database
        • PXE netboot
        • CentOS kickstart




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




Wednesday, April 11, 12
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




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




Wednesday, April 11, 12
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




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




Wednesday, April 11, 12
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.


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




Wednesday, April 11, 12
Things we learned




               DBAs are toolsmiths,
              not database installers

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




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




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




Wednesday, April 11, 12
Schemadoc
                            Bill Karwin




Wednesday, April 11, 12
Schemadoc
                            Bill Karwin, Percona Inc.




Wednesday, April 11, 12
Schema Can Be Unclear
             CREATE TABLE AccountActivity (
                 Id        INT PRIMARY KEY,
                 Name      VARCHAR(100),
                 Status    VARCHAR(20),
                 EntityNum INT,
                 Order     INT
              );




                                              www.percona.com
Wednesday, April 11, 12
Schema Can Be Unclear
             CREATE TABLE AccountActivity (
                 Id        INT PRIMARY KEY,
                                                    whose name?
                 Name      VARCHAR(100),
                 Status    VARCHAR(20),
                 EntityNum INT,
                 Order     INT
              );




                                              www.percona.com
Wednesday, April 11, 12
Schema Can Be Unclear
             CREATE TABLE AccountActivity (
                 Id        INT PRIMARY KEY,
                                                    whose name?
                 Name      VARCHAR(100),
                 Status    VARCHAR(20),       what are the values?

                 EntityNum INT,
                 Order     INT
              );




                                              www.percona.com
Wednesday, April 11, 12
Schema Can Be Unclear
             CREATE TABLE AccountActivity (
                 Id        INT PRIMARY KEY,
                                                     whose name?
                 Name      VARCHAR(100),
                 Status    VARCHAR(20),         what are the values?

                 EntityNum INT,               what’s an entity?
                 Order     INT                what’s a number?
              );




                                               www.percona.com
Wednesday, April 11, 12
Schema Can Be Unclear
             CREATE TABLE AccountActivity (
                 Id        INT PRIMARY KEY,
                                                        whose name?
                 Name      VARCHAR(100),
                 Status    VARCHAR(20),           what are the values?

                 EntityNum INT,                 what’s an entity?
                 Order     INT                  what’s a number?
              );                          commerce, or ordinal?




                                                       www.percona.com
Wednesday, April 11, 12
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’;
                                                 www.percona.com
Wednesday, April 11, 12
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)




                                                               www.percona.com
Wednesday, April 11, 12
“Is there a tool for MySQL
                           like javadoc for Java code?”




                                                   www.percona.com
Wednesday, April 11, 12
development
                                        dba

                             documentation



                                              www.percona.com
Wednesday, April 11, 12
schemadoc


                                      www.percona.com
Wednesday, April 11, 12
Usage
       $ schemadoc -v h=dbserver,D=EcommerceDB,u=root,p=xxxx
       Loading 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.


                                                     www.percona.com
Wednesday, April 11, 12
Wednesday, April 11, 12
hooray.




                                    www.percona.com
Wednesday, April 11, 12
But Wait, There’s More
       • Parses SQL dump file
       • Reads from a live MySQL instance
       • Document many schemas
       • Update one schema at a time




                                              www.percona.com
Wednesday, April 11, 12
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
                                             www.percona.com
Wednesday, April 11, 12
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!

                                                    www.percona.com
Wednesday, April 11, 12
yes, we get it.




                                            www.percona.com
Wednesday, April 11, 12
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


                                             www.percona.com
Wednesday, April 11, 12
Wednesday, April 11, 12
Future of Schemadoc




                                            www.percona.com
Wednesday, April 11, 12
launchpad.net/
                            schemadoc

                                       www.percona.com
Wednesday, April 11, 12
It's the application,
                                 stupid!
                                Robert Hodges




Wednesday, April 11, 12
It’s the Application, Stupid!
                             (Or: Multi-Master Enlightenment
                                         in 5 Minutes or Less)

                                   Robert Hodges, Continuent CEO


   ©Continuent 2012.


Wednesday, April 11, 12
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




                          Spoke   Hub        Spoke
   ©Continuent 2012                99


Wednesday, April 11, 12
Multi-Master Apps Not So Much



                        Airline        Airline        Airline
                      Reservations   Reservations   Reservations




                          Spoke         Hub           Spoke
   ©Continuent 2012                       100


Wednesday, April 11, 12
Who Is in Which Seat on Flight 3523?

                    Book Bob         Bump Bob from     Book Sue
                   in Seat 11E         Flight 3523    in Seat 11E
                        Airline          Airline        Airline
                      Reservations     Reservations   Reservations




                          Spoke           Hub           Spoke
   ©Continuent 2012                         101


Wednesday, April 11, 12
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”




   ©Continuent 2012                              102


Wednesday, April 11, 12
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”




   ©Continuent 2012                              103


Wednesday, April 11, 12
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 :)

   ©Continuent 2012                               104


Wednesday, April 11, 12
NuoDB overview
                              Robert Buck




Wednesday, April 11, 12
The Elastically Scalable Database™




                                       Copyright © 2012 NuoDB



Wednesday, April 11, 12
NuoDB Summary
           ‣       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



                                            Copyright © 2012 NuoDB                      107


Wednesday, April 11, 12
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




                                        Copyright © 2012 NuoDB   108


Wednesday, April 11, 12
Instantly Elastic
     ‣ 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                               Second Machine
         either machine away                     Instant Performance Increase
         and the database keeps
         running without data
         loss




                                        Copyright © 2012 NuoDB                  109


Wednesday, April 11, 12
Linearly Scalable

                                                 30000"
                          Nodes    TPS

      MySQL                 1     3,000          25000"

      NuoDB                 1     4,500          20000"
      NuoDB                 9     27,000
                                                 15000"


     Technical Details:                    TPS   10000"

     ‣ 2-9 Tx engines
                                                  5000"
     ‣ 1 storage manager
     ‣ Best sustained TPS and #
                                                     0"
       clients combination
                                                            1"       2"      3"    4"    5"     6"   7"   8"   9"
     ‣ 50% updates

                                                                              Number of Nodes


                            NuoDB running on 9 nodes was approx. 9x faster than MySQL running
                            on 1 node.
                                                          Copyright © 2012 NuoDB                                    110


Wednesday, April 11, 12
... even on Amazon EC2
       ‣ NuoDB scales linearly
                                        12000"




         on EC2
                                        10000"

       ‣ EC2 performance
         bound by AMZ TCP/               8000"


         IP traffic shaping
       ‣ Linearly scales at 50%
                                         6000"
                                  TPS
         of rate for physical
                                         4000"

         commodity hardware
       ‣ Whereas, Amazon                 2000"


         RDS runs on 1 node,
          and gets overloaded               0"
                                                   1"      2"       3"        4"    5"    6"    7"   8"   9"

          at 10+ connections
                                                                          Number of EC2 Nodes




                                                 Copyright © 2012 NuoDB                                        111


Wednesday, April 11, 12
We Work with Your SQL Tools




                                                                    MS Excel (and other MS tools)




                             SQuirreLSQL




                                                                              DbVisualizer
                                           Copyright © 2012 NuoDB                                   112


Wednesday, April 11, 12
NuoDB System Architecture

                                                 TM1
                                                  TM1                                        SM
                                                   TM1
                                                    TM1
                                                     TM1
                                                      TM1
                                B1
                                 B1                    TM1
                                  B1                    TM1
                                                         TM1                                 SM
                                    B                     TM1
                                                           TM1
                                                            TM1
                                                             TM1
                                                              TM1
                              NuoDB Brokers                    TM1
                                                                TE                            SM
        Application
    (JDBC, ODBC, SQL)                                        NuoDB Transaction        NuoDB Storage
                                                                 Engines                Manager



                                    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

                                                  Copyright © 2012 NuoDB                                         113


Wednesday, April 11, 12
NuoDB Summary
           ‣          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




                                                       Copyright © 2012 NuoDB   114


Wednesday, April 11, 12
NuoDB
                          The Elastically Scalable Database™

                              Copyright © 2012 NuoDB



Wednesday, April 11, 12
Diagnosis and possible
                             fixes
                            David Holoboff




Wednesday, April 11, 12
DIAGNOSIS AND
                          POSSIBLE FIXES:

               A MULTIPLE CHOICE PRIMER
                 FOR 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 OLAP
                             Lawrence Schwartz




Wednesday, April 11, 12
OLTP and OLAP
                          Have Your Cake and Eat it Too!

                                Lawrence Schwartz




Wednesday, April 11, 12
Avoiding the B-tree Valley of Death

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


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




                                                            B-tree
                                                           Valley of
                      Usage




                                                            Death
                                           OLAP                            OLTP
                                      Columnar DBs                                Hadoop
                                            MongoDB

                                          Read-intensive               Write-intensive




Wednesday, April 11, 12
B-trees Perform Poorly on Disk


      MySQL + InnoDB                        MySQL + TokuDB
     Based on B-Tree Indexes             Based on Fractal Tree Indexes




  • Random Workloads Lead To Frequent      • Continuous Rebalancing and
    Drive Head Movement                      Aggregation at Nodes

  • MySQL Can’t Take Advantage of Full     • Eliminates Fragmentation,
    Drive I/O Potential                      Maximizes Disk I/O


Wednesday, April 11, 12
B-trees Can’t Handle Big Data


      MySQL + InnoDB                       MySQL + TokuDB




  • Performance Drops to a Trickle above   • 20x Insertion Rates at One
    50-100M Rows                             Billion Rows

  • Delayed Checkpoints Diminish           • Stand Up More Indexes for
    Performance                              Better Query Performance


Wednesday, April 11, 12
B-trees Aren’t Agile


      MySQL + InnoDB                     MySQL + TokuDB




  • Big Database Schema Changes Take     • Changes Complete in Seconds
    Hours To Complete
                                         • Allows Business' Data Models
  • Changes Have to Wait for Scheduled     to Immediately Adapt
    Downtime


Wednesday, April 11, 12
B-trees Don’t Compress Well


      MySQL + InnoDB                      MySQL + TokuDB




  • Compression ~2x to ~2.5x Typical      • High Compression

  • Compression Impacts Performance       • No Impact to Performance




Wednesday, April 11, 12
TokuDB Eliminates Death Valley

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



                                                           eCommerce
                                                          Personalization
                                                                  Social
                                                   Cloud         Networks
                                                   Assets
                                                        Logfile analysis


                                            Fractal Tree® Indexes
                                               are the Solution
                      Usage




                                      Real Time
                                        OLAP                                Analytic
                                                                             OLTP
                                        OLAP                                 OLTP

                                         Read-intensive                 Write-intensive



Wednesday, April 11, 12
Wednesday, April 11, 12
Building a scalable
                                system
                               Baron 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, Mozilla
                               Oracle 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

                                             Tutorials / HOW-TOs




                          MariaDB/Percona Documentation


      forums.mysql.com
                                           #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                    Magazine




                Ignite Event
                                          Unconference



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 Team
        Volunteers – 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 Bradford
        Francesca Simon-Carboni Photography
        Colin Charles
        Jeremy Cole
        James Duncan Davidson
        Keith Larson
        Gerry Narvaja



Wednesday, April 11, 12
Cruelty on database
                                clusters
                                Giuseppe Maxia




Wednesday, April 11, 12
Cruel things that you can
                          inflict on your replicated
                    cluster ... and get away with it!
                                          Giuseppe Maxia
                                          Continuent, Inc


   ©Continuent 2012.


Wednesday, April 11, 12
I must confess




   ©Continuent 2012             185


Wednesday, April 11, 12
I must confess




                          I am a serial killer




   ©Continuent 2012                 185


Wednesday, April 11, 12
I kill




   ©Continuent 2012       186


Wednesday, April 11, 12
I kill

                     •    database servers




   ©Continuent 2012                 186


Wednesday, April 11, 12
I kill

                     •    database servers
                     • client connections




   ©Continuent 2012                 186


Wednesday, April 11, 12
I kill

                     •    database servers
                     • client connections
                     • transactions




   ©Continuent 2012                 186


Wednesday, April 11, 12
I kill

                     •    database servers
                     • client connections
                     • transactions
                     • "lesystems


   ©Continuent 2012                 186


Wednesday, April 11, 12
I am armed and dangerous




                                 +
                          = "class 2" weapon
   ©Continuent 2012               187


Wednesday, April 11, 12
And of course I carry ...




(GASP)                                    Perl!


   ©Continuent 2012               188


Wednesday, April 11, 12
I have a criminal mindset

                     •    Like a bank robber

                     •    or an airplane hijacker

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




   ©Continuent 2012                            189


Wednesday, April 11, 12
Whenever I get a new database
               cluster
                     •    I open "re




                                                         :)
                                                     @        @




                                                          -
                                                         $_

                                       #!
                                       #!
                                        #!
                                        #!
                                         #!
                                          #!




   ©Continuent 2012                            190


Wednesday, April 11, 12
when a cluster is working
               just "ne ...




   ©Continuent 2012         191


Wednesday, April 11, 12
when a cluster is working
               just "ne ...

                     •    I pull the rug from under
                          its feet




   ©Continuent 2012                  191


Wednesday, April 11, 12
when a cluster is working
               just "ne ...

                     •    I pull the rug from under
                          its feet
                     •    I switch o# a master's
                          database server

   ©Continuent 2012                  191


Wednesday, April 11, 12
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 "les
   ©Continuent 2012                   191


Wednesday, April 11, 12
I am a Harry Potter fan




   ©Continuent 2012                  192


Wednesday, April 11, 12
So I get carried away, and I use the
               unforgivable curses

                                        $ kill -9




   ©Continuent 2012               193


Wednesday, April 11, 12
We have di#erent
               standpoints




   ©Continuent 2012        194


Wednesday, April 11, 12
We have di#erent
               standpoints


                     •    My colleagues say that I
                          am cruel



   ©Continuent 2012                  194


Wednesday, April 11, 12
We have di#erent
               standpoints


                     •    My colleagues say that I
                          am cruel
                     •    I call it QA

   ©Continuent 2012                      194


Wednesday, April 11, 12
Have you ever reported a bug ...
                     • about a failure that happens after
                          9000 switches?
                     • Or a master that slows down
                          when handling 512 slaves?




   ©Continuent 2012                        195


Wednesday, April 11, 12
Have you ever reported a bug ...
                     • about a failure that happens after
                          9000 switches?
                     • Or a master that slows down
                          when handling 512 slaves?


                                 I DID
   ©Continuent 2012                        195


Wednesday, April 11, 12
Things I do that make developers say
               "it is not fair"




   ©Continuent 2012              196


Wednesday, April 11, 12
Things I do that make developers say
               "it is not fair"
                     •    using the installer with wrong options




   ©Continuent 2012                           196


Wednesday, April 11, 12
Things I do that make developers say
               "it is not fair"
                     •    using the installer with wrong options

                     •    running the installer without a mandatory
                          option




   ©Continuent 2012                           196


Wednesday, April 11, 12
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




   ©Continuent 2012                           196


Wednesday, April 11, 12
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




   ©Continuent 2012                           196


Wednesday, April 11, 12
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)

   ©Continuent 2012                           196


Wednesday, April 11, 12
Why do I do cruel things to replication
               clusters?




   ©Continuent 2012               197


Wednesday, April 11, 12
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




   ©Continuent 2012                  197


Wednesday, April 11, 12
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
   ©Continuent 2012                  197


Wednesday, April 11, 12
in the end, I get away with cruelty

                I am not bad. I am
                just drawn that way
                           (Jessica Rabbit)


   ©Continuent 2012       198


Wednesday, April 11, 12

More Related Content

Similar to Lightning talks percona live mysql_2012

Software Libraries And Numbers
Software Libraries And NumbersSoftware Libraries And Numbers
Software Libraries And NumbersRobert Reiz
 
Optimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentOptimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentRaven Tools
 
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services 2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services PHP Conference Argentina
 
Escalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceEscalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceMatias Paterlini
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureRaven Tools
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet
 
What is Node and Why does it Matter?
What is Node and Why does it Matter?What is Node and Why does it Matter?
What is Node and Why does it Matter?Dominiek ter Heide
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandboxGiuseppe Maxia
 
Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5C4Media
 
Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies
Eclipse con 2012 - Frictionless operations with Puppet - Luke KaniesEclipse con 2012 - Frictionless operations with Puppet - Luke Kanies
Eclipse con 2012 - Frictionless operations with Puppet - Luke KaniesPuppet
 
Web5 pushing the web forward.apr
Web5 pushing the web forward.aprWeb5 pushing the web forward.apr
Web5 pushing the web forward.aprArnout Kazemier
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywoodehuard
 
JS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onJS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onBrice Argenson
 
Educause - Building a Responsive Website for the Presidential Debate
Educause - Building a Responsive Website for the Presidential DebateEducause - Building a Responsive Website for the Presidential Debate
Educause - Building a Responsive Website for the Presidential DebateJon Liu
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012Theo Schlossnagle
 
Solr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ EtsySolr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ Etsylucenerevolution
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSCaridy Patino
 
WordPress Website Basics - Domains, Hosting & Why WordPress
WordPress Website Basics - Domains, Hosting & Why WordPressWordPress Website Basics - Domains, Hosting & Why WordPress
WordPress Website Basics - Domains, Hosting & Why WordPressRoss Johnson
 
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)Neeme Praks
 

Similar to Lightning talks percona live mysql_2012 (20)

Software Libraries And Numbers
Software Libraries And NumbersSoftware Libraries And Numbers
Software Libraries And Numbers
 
Optimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentOptimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and Content
 
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services 2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
 
Escalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceEscalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP Conference
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & Structure
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet Design
 
What is Node and Why does it Matter?
What is Node and Why does it Matter?What is Node and Why does it Matter?
What is Node and Why does it Matter?
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandbox
 
Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5
 
Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies
Eclipse con 2012 - Frictionless operations with Puppet - Luke KaniesEclipse con 2012 - Frictionless operations with Puppet - Luke Kanies
Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies
 
Web5 pushing the web forward.apr
Web5 pushing the web forward.aprWeb5 pushing the web forward.apr
Web5 pushing the web forward.apr
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
JS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onJS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-on
 
Educause - Building a Responsive Website for the Presidential Debate
Educause - Building a Responsive Website for the Presidential DebateEducause - Building a Responsive Website for the Presidential Debate
Educause - Building a Responsive Website for the Presidential Debate
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
 
Solr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ EtsySolr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ Etsy
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
 
WordPress Website Basics - Domains, Hosting & Why WordPress
WordPress Website Basics - Domains, Hosting & Why WordPressWordPress Website Basics - Domains, Hosting & Why WordPress
WordPress Website Basics - Domains, Hosting & Why WordPress
 
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
 

More from Giuseppe Maxia

MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe Maxia
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installerGiuseppe Maxia
 
Test complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerTest complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerGiuseppe Maxia
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesGiuseppe Maxia
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBGiuseppe Maxia
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorGiuseppe Maxia
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorialGiuseppe Maxia
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenGiuseppe Maxia
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usabilityGiuseppe Maxia
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenGiuseppe Maxia
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringGiuseppe Maxia
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationGiuseppe Maxia
 

More from Giuseppe Maxia (20)

MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployer
 
Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installer
 
Test complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerTest complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployer
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 roles
 
MySQL document_store
MySQL document_storeMySQL document_store
MySQL document_store
 
Replication skeptic
Replication skepticReplication skeptic
Replication skeptic
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten Replicator
 
MySQL in your laptop
MySQL in your laptopMySQL in your laptop
MySQL in your laptop
 
Script it
Script itScript it
Script it
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorial
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungsten
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usability
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with Tungsten
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clustering
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replication
 
Replication 101
Replication 101Replication 101
Replication 101
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

Lightning talks percona live mysql_2012

  • 1. Lightning talks Giuseppe Maxia Continuent, Inc April 11, 2012 Wednesday, April 11, 12
  • 2. Lineup Stewart 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
  • 3. The 5 minutes tour of Drizzle Stewart Smith Wednesday, April 11, 12
  • 11. What is Drizzle? Wednesday, April 11, 12
  • 12. Modular architecture Wednesday, April 11, 12
  • 14. Infrastructure Aware Wednesday, April 11, 12
  • 15. Community Developed Wednesday, April 11, 12
  • 20. EBCDIC != Wednesday, April 11, 12
  • 21. Enable others Wednesday, April 11, 12
  • 22. Modern codebase Wednesday, April 11, 12
  • 26. No linked-list innovation Wednesday, April 11, 12
  • 29. Build businesses Wednesday, April 11, 12
  • 35. Multi-source Replication Wednesday, April 11, 12
  • 39. In database tables Wednesday, April 11, 12
  • 40. No bad data Wednesday, April 11, 12
  • 43. No implicit COMMIT Wednesday, April 11, 12
  • 44. BSD Client Libraries Wednesday, April 11, 12
  • 45. New in 7.1 Wednesday, April 11, 12
  • 46. Multi-source Replication Wednesday, April 11, 12
  • 48. IPv6 data type Wednesday, April 11, 12
  • 50. Syslog is default Wednesday, April 11, 12
  • 51. query_log plugin Wednesday, April 11, 12
  • 52. Auth from tables Wednesday, April 11, 12
  • 53. Server-side Javascript Wednesday, April 11, 12
  • 54. HTTP JSON API Wednesday, April 11, 12
  • 55. Percona InnoDB Patches Wednesday, April 11, 12
  • 57. What could possibly go wrong? Jeff Mace Wednesday, April 11, 12
  • 58. What Could Possibly Go Wrong? Je! Mace ©Continuent 2012. Wednesday, April 11, 12
  • 59. http://mingle2.com/blog/view/web-developer-mind ©Continuent 2012 59 Wednesday, April 11, 12
  • 60. http://www.flickr.com/photos/brhefele/4026340146/ ©Continuent 2012 60 Wednesday, April 11, 12
  • 61. http://www.flickr.com/photos/themoly/4336260658/ ©Continuent 2012 61 Wednesday, April 11, 12
  • 62. ©Continuent 2012 62 Wednesday, April 11, 12
  • 63. ©Continuent 2012 62 Wednesday, April 11, 12
  • 64. What can I possibly do? • Relax • Have a plan • Keep it simple ©Continuent 2012 63 Wednesday, April 11, 12
  • 65. http://www.flickr.com/photos/devenlaney/5767271943 ©Continuent 2012 64 Wednesday, April 11, 12
  • 66. MAKE.DATABASES.FAST Nicolai Plum Wednesday, April 11, 12
  • 67. MAKE.DATABASES.FAST Nicolai Plum Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 68. The business • Booking.com – Leading online hotel reservation agency – Part of the Priceline Group of Companies – Sustained rapid business growth – All powered by MySQL Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 69. The challenge Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 70. The problem… • Hundreds of database servers • Many replication slaves • Few DBAs, some more sysadmins • Need to make tens of servers each day Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 71. If you do this manually You are doing it wrong Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 72. Among our weapons are… • Network OS installation • Puppet configuration management • Database cloning • and a fanatical devotion to automation! Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 73. Server installation • Server Database • PXE netboot • CentOS kickstart Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 74. 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 Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 75. 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 Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 76. 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. Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 77. Things we learned DBAs are toolsmiths, not database installers Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 78. Thank you • … if you like the way we work, we are hiring • http://www.booking.com/jobs Booking.com, part of priceline.com (Nasdaq: PCLN), headquartered in Amsterdam, 50+ offices worldwide. www.booking.com/offices Wednesday, April 11, 12
  • 79. Schemadoc Bill Karwin Wednesday, April 11, 12
  • 80. Schemadoc Bill Karwin, Percona Inc. Wednesday, April 11, 12
  • 81. Schema Can Be Unclear CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT ); www.percona.com Wednesday, April 11, 12
  • 82. Schema Can Be Unclear CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, whose name? Name VARCHAR(100), Status VARCHAR(20), EntityNum INT, Order INT ); www.percona.com Wednesday, April 11, 12
  • 83. Schema Can Be Unclear CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, whose name? Name VARCHAR(100), Status VARCHAR(20), what are the values? EntityNum INT, Order INT ); www.percona.com Wednesday, April 11, 12
  • 84. Schema Can Be Unclear CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, whose name? Name VARCHAR(100), Status VARCHAR(20), what are the values? EntityNum INT, what’s an entity? Order INT what’s a number? ); www.percona.com Wednesday, April 11, 12
  • 85. Schema Can Be Unclear CREATE TABLE AccountActivity ( Id INT PRIMARY KEY, whose name? Name VARCHAR(100), Status VARCHAR(20), what are the values? EntityNum INT, what’s an entity? Order INT what’s a number? ); commerce, or ordinal? www.percona.com Wednesday, April 11, 12
  • 86. 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’; www.percona.com Wednesday, April 11, 12
  • 87. 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) www.percona.com Wednesday, April 11, 12
  • 88. “Is there a tool for MySQL like javadoc for Java code?” www.percona.com Wednesday, April 11, 12
  • 89. development dba documentation www.percona.com Wednesday, April 11, 12
  • 90. schemadoc www.percona.com Wednesday, April 11, 12
  • 91. Usage $ schemadoc -v h=dbserver,D=EcommerceDB,u=root,p=xxxx Loading 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. www.percona.com Wednesday, April 11, 12
  • 93. hooray. www.percona.com Wednesday, April 11, 12
  • 94. But Wait, There’s More • Parses SQL dump file • Reads from a live MySQL instance • Document many schemas • Update one schema at a time www.percona.com Wednesday, April 11, 12
  • 95. 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 www.percona.com Wednesday, April 11, 12
  • 96. 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! www.percona.com Wednesday, April 11, 12
  • 97. yes, we get it. www.percona.com Wednesday, April 11, 12
  • 98. 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 www.percona.com Wednesday, April 11, 12
  • 100. Future of Schemadoc www.percona.com Wednesday, April 11, 12
  • 101. launchpad.net/ schemadoc www.percona.com Wednesday, April 11, 12
  • 102. It's the application, stupid! Robert Hodges Wednesday, April 11, 12
  • 103. It’s the Application, Stupid! (Or: Multi-Master Enlightenment in 5 Minutes or Less) Robert Hodges, Continuent CEO ©Continuent 2012. Wednesday, April 11, 12
  • 104. 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 Spoke Hub Spoke ©Continuent 2012 99 Wednesday, April 11, 12
  • 105. Multi-Master Apps Not So Much Airline Airline Airline Reservations Reservations Reservations Spoke Hub Spoke ©Continuent 2012 100 Wednesday, April 11, 12
  • 106. Who Is in Which Seat on Flight 3523? Book Bob Bump Bob from Book Sue in Seat 11E Flight 3523 in Seat 11E Airline Airline Airline Reservations Reservations Reservations Spoke Hub Spoke ©Continuent 2012 101 Wednesday, April 11, 12
  • 107. 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” ©Continuent 2012 102 Wednesday, April 11, 12
  • 108. 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” ©Continuent 2012 103 Wednesday, April 11, 12
  • 109. 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 :) ©Continuent 2012 104 Wednesday, April 11, 12
  • 110. NuoDB overview Robert Buck Wednesday, April 11, 12
  • 111. The Elastically Scalable Database™ Copyright © 2012 NuoDB Wednesday, April 11, 12
  • 112. NuoDB Summary ‣ 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 Copyright © 2012 NuoDB 107 Wednesday, April 11, 12
  • 113. 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 Copyright © 2012 NuoDB 108 Wednesday, April 11, 12
  • 114. Instantly Elastic ‣ 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 Second Machine either machine away Instant Performance Increase and the database keeps running without data loss Copyright © 2012 NuoDB 109 Wednesday, April 11, 12
  • 115. Linearly Scalable 30000" Nodes TPS MySQL 1 3,000 25000" NuoDB 1 4,500 20000" NuoDB 9 27,000 15000" Technical Details: TPS 10000" ‣ 2-9 Tx engines 5000" ‣ 1 storage manager ‣ Best sustained TPS and # 0" clients combination 1" 2" 3" 4" 5" 6" 7" 8" 9" ‣ 50% updates Number of Nodes NuoDB running on 9 nodes was approx. 9x faster than MySQL running on 1 node. Copyright © 2012 NuoDB 110 Wednesday, April 11, 12
  • 116. ... even on Amazon EC2 ‣ NuoDB scales linearly 12000" on EC2 10000" ‣ EC2 performance bound by AMZ TCP/ 8000" IP traffic shaping ‣ Linearly scales at 50% 6000" TPS of rate for physical 4000" commodity hardware ‣ Whereas, Amazon 2000" RDS runs on 1 node, and gets overloaded 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" at 10+ connections Number of EC2 Nodes Copyright © 2012 NuoDB 111 Wednesday, April 11, 12
  • 117. We Work with Your SQL Tools MS Excel (and other MS tools) SQuirreLSQL DbVisualizer Copyright © 2012 NuoDB 112 Wednesday, April 11, 12
  • 118. NuoDB System Architecture TM1 TM1 SM TM1 TM1 TM1 TM1 B1 B1 TM1 B1 TM1 TM1 SM B TM1 TM1 TM1 TM1 TM1 NuoDB Brokers TM1 TE SM Application (JDBC, ODBC, SQL) NuoDB Transaction NuoDB Storage Engines Manager 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 Copyright © 2012 NuoDB 113 Wednesday, April 11, 12
  • 119. NuoDB Summary ‣ 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 Copyright © 2012 NuoDB 114 Wednesday, April 11, 12
  • 120. NuoDB The Elastically Scalable Database™ Copyright © 2012 NuoDB Wednesday, April 11, 12
  • 121. Diagnosis and possible fixes David Holoboff Wednesday, April 11, 12
  • 122. DIAGNOSIS AND POSSIBLE FIXES: A MULTIPLE CHOICE PRIMER FOR BEGINNING DBAS Wednesday, April 11, 12
  • 123. 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
  • 128. Are you being asked the right question? Wednesday, April 11, 12
  • 134. What do you do with a slow database server? Wednesday, April 11, 12
  • 136. What do you do if swap memory is always being used up? Wednesday, April 11, 12
  • 154. OLTP and OLAP Lawrence Schwartz Wednesday, April 11, 12
  • 155. OLTP and OLAP Have Your Cake and Eat it Too! Lawrence Schwartz Wednesday, April 11, 12
  • 156. Avoiding the B-tree Valley of Death “The real end-game for Big Data is to have transactional a analytic data on the same database.” However, Today’s database categories - OLAP, OLTP are compromises to get around dated, rigid indexing technology B-tree Valley of Usage Death OLAP OLTP Columnar DBs Hadoop MongoDB Read-intensive Write-intensive Wednesday, April 11, 12
  • 157. B-trees Perform Poorly on Disk MySQL + InnoDB MySQL + TokuDB Based on B-Tree Indexes Based on Fractal Tree Indexes • Random Workloads Lead To Frequent • Continuous Rebalancing and Drive Head Movement Aggregation at Nodes • MySQL Can’t Take Advantage of Full • Eliminates Fragmentation, Drive I/O Potential Maximizes Disk I/O Wednesday, April 11, 12
  • 158. B-trees Can’t Handle Big Data MySQL + InnoDB MySQL + TokuDB • Performance Drops to a Trickle above • 20x Insertion Rates at One 50-100M Rows Billion Rows • Delayed Checkpoints Diminish • Stand Up More Indexes for Performance Better Query Performance Wednesday, April 11, 12
  • 159. B-trees Aren’t Agile MySQL + InnoDB MySQL + TokuDB • Big Database Schema Changes Take • Changes Complete in Seconds Hours To Complete • Allows Business' Data Models • Changes Have to Wait for Scheduled to Immediately Adapt Downtime Wednesday, April 11, 12
  • 160. B-trees Don’t Compress Well MySQL + InnoDB MySQL + TokuDB • Compression ~2x to ~2.5x Typical • High Compression • Compression Impacts Performance • No Impact to Performance Wednesday, April 11, 12
  • 161. TokuDB Eliminates Death Valley “While TokuDB® is effectively an operational database technology, it does blur the lines between operations and analytics” eCommerce Personalization Social Cloud Networks Assets Logfile analysis Fractal Tree® Indexes are the Solution Usage Real Time OLAP Analytic OLTP OLAP OLTP Read-intensive Write-intensive Wednesday, April 11, 12
  • 163. Building a scalable system Baron Schwartz Wednesday, April 11, 12
  • 167. How to become a rock star DBA Sheeri Cabral Wednesday, April 11, 12
  • 168. How to Become a Rock Star DBA Sheeri Cabral, Mozilla Oracle ACE Director MySQL Community Award Winner^2 Wednesday, April 11, 12
  • 169. Do what you love.... Wednesday, April 11, 12
  • 170. What you really love Wednesday, April 11, 12
  • 171. Have a Twin Brother Wednesday, April 11, 12
  • 173. Write Tutorials / HOW-TOs MariaDB/Percona Documentation forums.mysql.com #irc Wednesday, April 11, 12
  • 176. Teach others You know more than you think you do! Wednesday, April 11, 12
  • 179. Organize User Group Magazine Ignite Event Unconference Wednesday, April 11, 12
  • 182. Have a hobby Wednesday, April 11, 12
  • 185. Find Ways Others Can Help You Wednesday, April 11, 12
  • 186. Some Help You Can Get MySQL Community Team Volunteers – 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
  • 187. It Takes a Community Permission to use pictures granted by: Ronald Bradford Francesca Simon-Carboni Photography Colin Charles Jeremy Cole James Duncan Davidson Keith Larson Gerry Narvaja Wednesday, April 11, 12
  • 188. Cruelty on database clusters Giuseppe Maxia Wednesday, April 11, 12
  • 189. Cruel things that you can inflict on your replicated cluster ... and get away with it! Giuseppe Maxia Continuent, Inc ©Continuent 2012. Wednesday, April 11, 12
  • 190. I must confess ©Continuent 2012 185 Wednesday, April 11, 12
  • 191. I must confess I am a serial killer ©Continuent 2012 185 Wednesday, April 11, 12
  • 192. I kill ©Continuent 2012 186 Wednesday, April 11, 12
  • 193. I kill • database servers ©Continuent 2012 186 Wednesday, April 11, 12
  • 194. I kill • database servers • client connections ©Continuent 2012 186 Wednesday, April 11, 12
  • 195. I kill • database servers • client connections • transactions ©Continuent 2012 186 Wednesday, April 11, 12
  • 196. I kill • database servers • client connections • transactions • "lesystems ©Continuent 2012 186 Wednesday, April 11, 12
  • 197. I am armed and dangerous + = "class 2" weapon ©Continuent 2012 187 Wednesday, April 11, 12
  • 198. And of course I carry ... (GASP) Perl! ©Continuent 2012 188 Wednesday, April 11, 12
  • 199. I have a criminal mindset • Like a bank robber • or an airplane hijacker • I look around, and watch for weak spots to exploit ©Continuent 2012 189 Wednesday, April 11, 12
  • 200. Whenever I get a new database cluster • I open "re :) @ @ - $_ #! #! #! #! #! #! ©Continuent 2012 190 Wednesday, April 11, 12
  • 201. when a cluster is working just "ne ... ©Continuent 2012 191 Wednesday, April 11, 12
  • 202. when a cluster is working just "ne ... • I pull the rug from under its feet ©Continuent 2012 191 Wednesday, April 11, 12
  • 203. when a cluster is working just "ne ... • I pull the rug from under its feet • I switch o# a master's database server ©Continuent 2012 191 Wednesday, April 11, 12
  • 204. 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 "les ©Continuent 2012 191 Wednesday, April 11, 12
  • 205. I am a Harry Potter fan ©Continuent 2012 192 Wednesday, April 11, 12
  • 206. So I get carried away, and I use the unforgivable curses $ kill -9 ©Continuent 2012 193 Wednesday, April 11, 12
  • 207. We have di#erent standpoints ©Continuent 2012 194 Wednesday, April 11, 12
  • 208. We have di#erent standpoints • My colleagues say that I am cruel ©Continuent 2012 194 Wednesday, April 11, 12
  • 209. We have di#erent standpoints • My colleagues say that I am cruel • I call it QA ©Continuent 2012 194 Wednesday, April 11, 12
  • 210. Have you ever reported a bug ... • about a failure that happens after 9000 switches? • Or a master that slows down when handling 512 slaves? ©Continuent 2012 195 Wednesday, April 11, 12
  • 211. Have you ever reported a bug ... • about a failure that happens after 9000 switches? • Or a master that slows down when handling 512 slaves? I DID ©Continuent 2012 195 Wednesday, April 11, 12
  • 212. Things I do that make developers say "it is not fair" ©Continuent 2012 196 Wednesday, April 11, 12
  • 213. Things I do that make developers say "it is not fair" • using the installer with wrong options ©Continuent 2012 196 Wednesday, April 11, 12
  • 214. Things I do that make developers say "it is not fair" • using the installer with wrong options • running the installer without a mandatory option ©Continuent 2012 196 Wednesday, April 11, 12
  • 215. 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 ©Continuent 2012 196 Wednesday, April 11, 12
  • 216. 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 ©Continuent 2012 196 Wednesday, April 11, 12
  • 217. 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) ©Continuent 2012 196 Wednesday, April 11, 12
  • 218. Why do I do cruel things to replication clusters? ©Continuent 2012 197 Wednesday, April 11, 12
  • 219. 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 ©Continuent 2012 197 Wednesday, April 11, 12
  • 220. 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 ©Continuent 2012 197 Wednesday, April 11, 12
  • 221. in the end, I get away with cruelty I am not bad. I am just drawn that way (Jessica Rabbit) ©Continuent 2012 198 Wednesday, April 11, 12