SlideShare a Scribd company logo
Big Data is a Big Scam (Most of the Time)

Daniel Austin, PayPal Technical Staff


MySQL Connect Conference
September 30, 2012         v1.2
Today’s Agenda



         Big Myths about Big Data


           YESQL: A Counterexample


                              Q&A



     Global In-memory MySQL         Confidential and Proprietary   2
THE FUNDAMENTAL PROBLEM IN
DISTRIBUTED DATA SYSTEMS

“How Do We Manage Reliable
Distribution of Data Across Geographical
Distances?”




                               Confidential and Proprietary
The NoSQL Solution


 •  NoSQL Systems provide a solution that relaxes
    many of the common constraints of typical
    RDBMS systems
    –  Slow - RDBMS has not scaled with CPUs
    –  Often require complex data management (SOX,
       SOR)
    –  Costly to build and maintain, slow to change and
       adapt
    –  Intolerant of CAP models (more on this later)
 •  Non-relational models, usually key-value
 •  May be batched or streaming
 •  Not necessarily distributed geographically

                                          Confidential and Proprietary
Big Data Myth #1: Big Data = NoSQL


 •  ‘Big Data’ Refers to a Common Set of Problems
    –  Large Volumes
    –  High Rates of Change
        •  Of Data
        •  Of Data Models
        •  Of Data Presentation and Output
    –  Often Require ‘Fast Data’ as well as ‘Big’
        •  Near-real Time Analytics
        •  Mapping Complex Structures

 Takeaway: Big Data is the problem, NoSQL is one
 (proposed) solution
                                            Confidential and Proprietary
3 Kinds of Big Data Systems


 1.  Columnar K-V Systems
    – Hadoop, Hbase, Cassandra, PNUTs
 2.  Document-Based
    – MongoDB, TerraCotta
 3.  Graph-Based
    – FlockDB, Voldemort

 Takeaway: These were originally designed as
 solutions to specific problems because no
 commercial solution would work.

                                 Confidential and Proprietary
Big Data Hype Cycle: Where Are We Now?

   There are currently more than 120+ NoSQL
   databases listed at nosql-databases.com!



                              You Are Here ?




As the pace of new technology solutions has slowed, some clear winners have emerged.

                                                          Confidential and Proprietary
Big Data Myth #2: The CAP Theorem Doesn’t
Say What You Think It Does


 •  Consistency, Availability, (Network) Partition
 •  The Real Story: These are not Independent
    Variables
 •  AP =CP (Um, what? But…A != C )
 •  Variations:
    –  PACELC (adds latency tolerance)


 Takeaway: the real story here is about the tradeoffs
 made by designers of different systems, and the
 main tradeoff is between consistency and
 availability, usually in favor of the latter.

                                         Confidential and Proprietary
Big Data Myth: You Need A Big Data System


 Well, Maybe….But Before You Go There…
 There are essentially two ‘Big Data Problems’:
 “I have too much data and it’s coming in too fast to
 handle with any RDBMS.”

 “I have a lot of data distributed geographically and
 need to be able to read and write from anywhere in
 near real-time.”

 Takeaway: if you have one of these Big Data
 problems, a NoSQL solution might work for you.
 But there are also other alternatives…
                                       Confidential and Proprietary
BIG DATA MYTH #3: BIG DATA AND NOSQL
ARE NEW IDEAS

•  The first and most successful
   such system is DNS, created in
   1983.
•  Began with flat files
•  Currently serves the entire
   Internet (!)
•  DNS is an AP system,
   availability is #1
•  Many extensions complicate a
   simple design
•  Suggests a new term for CAP-
   like ideas: variability
     •  DNS variability is very high,
        often 2-3x the mean


                                        Confidential and Proprietary
Today’s Agenda



            Big Myths About Big Data


       YESQL: A Counterexample


                              Q&A



     Global In-memory MySQL         Confidential and Proprietary   11
Mission YESQL

 “Develop a globally distributed DB For
 user-related data.”
 •  Must Not Fail (99.999%)
 •  Must Not Lose Data. Period.
 •  Must Support Transactions
 •  Must Support (some) SQL
 •  Must WriteRead 32-bit integer globally in
    1000ms
 •  Maximum Data Volume: 100 TB
 •  Must Scale Linearly with Costs

                                  Confidential and Proprietary
What about “High Performance”?

  • Maximum lightspeed distance on Earth’s
    Surface: ~67 ms
  • Target: data available worldwide in < 1000 ms

                  Sound Easy?

                   Think Again!




                                     Confidential and Proprietary
WHY MYSQL CLUSTER?

            Pro                        Con
•  True HA by design     •    Some semantic
    –  Fast recovery          limitations on fields
•  Supports (some) X-    •    Size constraints (2
   actions                    TB?)
•  Relational Model            –  Hardware limits
•  In-memory                      also
   architecture = high   •    Higher cost/byte
   performance           •    Requires reasonable
•  Disk storage for           data partitioning
   non-indexed data      •    Higher complexity
•  APIs, APIs, APIs
                                     Confidential and Proprietary
How MySQL Cluster Works in 1 Slide




Graphics courtesy dev.mysql.com

                                  Confidential and Proprietary
CIRCULAR REPLICATION/FAILOVER




Graphics courtesy O’Reilly OnLamp.com


                                        Confidential and Proprietary
AVAILABILITY DEFINED

•  Availability of the entire
   system:
             n   m
Asys = 1 – Π(1-Πri)j            V
            i=1 j=1             I
                                P

•  Number of Parallel
   Components Needed to
   Achieve Availability Amin:



                                    Parallel
                                                       Serial
Nmin = [ln(1-Amin)/ln(1-r)]



                                               Confidential and Proprietary
AWS Meets MySQL Cluster

 •  Why AWS?
   – Cheap and easy infrastructure-in-a-box
      (Or so I thought! Ha!)
 •  Services Used:
   – EC2 (Centos 5.3, small instances for mgm
     & query nodes, XL for data
   – Elastic IPs/ELB
   – EBS Volumes
   – S3
   – Cloudwatch

                                  Confidential and Proprietary
ARCHITECTURAL TILES
                                   AWS Availability Zones
Tiling Rules
•  Never separate NDB & SQL
                                   A                        B
•  Ndb:2-SQL:1-MGM:1
•  Scale by adding more tiles
•  Failover 1st to nearest AZ
•  Then to nearest DC
•  At least 1 replica/AZ
                                   C                ELB
•  Don’t share nodes
•  Mgmt nodes are redundant
Limitations                            Unused (not present in all locations)
•  AWS is network-bound @
   250 MBPS – ouch!
•  Need specific ACL across AZ           Data                Mgmt                 SQL
   boundaries                            Node                Node                 Node
•  AZs not uniform!
•  No GSLB
•  Dynamic IPs
•  ELB sticky sessions !reliable

                                                   Confidential and Proprietary
Architecture Stack

Scale by Tiling




                  A   B             A      B           A       B
                   A   B
                    A   B




                         A      B               A      B




                     5 AWS Data Centers: US-E, US-W, TK, EU, AS




                                                             Confidential and Proprietary
Other Technologies Considered

 •  Paxos
   – Elegant-but-complex consensus-based
     messaging protocol
   – Used in Google Megastore, Bing metadata
 •  Java Query Caching
   – Queries as serialized objects
   – Not yet working
 •  Multiple Ring Architectures
   – Even more complicated = no way


                                     Confidential and Proprietary
SYSTEM READ/WRITE PERFORMANCE (!)

 What we tested:
 •  32 & 256 byte char fields
                                                 In-region replication tests
 •  Reads, writes, query speed vs. volume
 •  Data replication speeds
 Results:
 •  Global replication < 350 ms
 •  256 byte read < 10ms worldwide




  06/19/2011     06/20/2011     06/21/2011   06/22/2011                     06/23/2011

                                             Confidential and Proprietary
Data Models and Query Optimization


  •  Network Latency is an obvious issue
  •  Data model requires all segments present
     in each geo-region
  •  Parameterized (Linked) Joins
    – Adaptive Query Localization (SIP)
      technique from Clustra (see Clement
      Frazer’s blog for details)




                                   Confidential and Proprietary
Conservation of Timestamps or The
Commit Ordering Problem
 •  Why does commit ordering matter?
 •  Write operators are non-commutative

     [W(d,t1),W(d,t2)] != 0 unless t1=t2

   – Can lead to inconsistency
   – Can lead to timestamp corruption
   – Forcing sequential writes defeats Amdahl’s
     rule
 •  Can show up in GSLB scenarios

                                   Confidential and Proprietary
Hard Lessons, Shared

 •  Be Careful…
     –  With “Eventual Consistency”-related concepts
     –  ACID, CAP are not really as well-defined as we’d like
        considering how often we invoke them
 •  MySQL Cluster is a good solution
     –  Real HA, real SQL
     –  Notable limitations around fields, datatypes
     –  Successfully competes with NoSQL systems for most use
        cases – better in many cases
 •  NoSQL Systems
     –  All have relatively low levels of maturity
     –  More suitable for simpler key-value models
     –  Victim of Tech Fashion


                                            Confidential and Proprietary
Future Directions

 •  Alternate solution using Pacemaker,
    Heartbeat
   – From Yves Trudeau @ Percona
   – Uses InnoDB, not NDB
 •  Implement Memcached plugin
   – To test NoSQL functionality, APIs
 •  Add simple connection-based persistence
    to preserve connections during failover
 •  Better data node distribution
 •  Better testing & monitoring

                                   Confidential and Proprietary
Summing Up On YESQL v0.85


•  It works! Far better than expected.
•  Very fast, very reliable
•  Reduced complexity since v0.7
•  AWS poses challenges that private data
   centers may not experience
•  You can achieve high performance and
   availability without giving up relational
   models and read consistency!


                                  Confidential and Proprietary
The Big Picture on Big Data

 •  Only use Big Data solutions when you have a real
    Big Data problem.
    –  Don’t be a Dedicated Follower of Tech Fashion!
 •  Not all Big Data solutions are created equal
    –  What tradeoffs are most important to you?
    –  Consistency, Fault Tolerance, Availability,
       Performance, Variability
 •  Is your data model a fit for NoSQL?
    –  You don’t have to give up the relational model in
       most cases, so don’t!
 •  You can achieve high performance and availability
    without giving up relational models and read
    consistency! Just say YESQL!

                                           Confidential and Proprietary
“In the long run, we are all dead
eventually consistent.”
Maynard Keynes on NoSQL Databases


Twitter: @daniel_b_austin
Email: daaustin@paypal.com




With apologies and thanks to the real DB experts, Andrew Goodman, Yves
Trudeau, Frazer Clement, Daniel Abadi, Kent Beck, and everyone else who
contributed. It really works!

More Related Content

What's hot (20)

PDF
Conference slides: MySQL Cluster Performance Tuning
Severalnines
 
PDF
Conference tutorial: MySQL Cluster as NoSQL
Severalnines
 
PDF
MySQL Cluster (NDB) - Best Practices Percona Live 2017
Severalnines
 
PDF
MySQL NDB Cluster 8.0
Ted Wennmark
 
PDF
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
ScaleBase
 
ODP
MySQL Cluster
Abel Flórez
 
PDF
MOUG17 Keynote: Oracle OpenWorld Major Announcements
Monica Li
 
PDF
The Real Scoop on Migrating from Oracle Databases
EDB
 
PDF
MariaDB: Connect Storage Engine
Kangaroot
 
PDF
MySQL for Software-as-a-Service (SaaS)
Mario Beck
 
PDF
MySQL 5.7: Focus on InnoDB
Mario Beck
 
PDF
MySQL InnoDB Cluster and NDB Cluster
Mario Beck
 
PDF
Python Utilities for Managing MySQL Databases
Mats Kindahl
 
PDF
20141011 my sql clusterv01pptx
Ivan Ma
 
PPTX
Severalnines Self-Training: MySQL® Cluster - Part VI
Severalnines
 
PPTX
MariaDB Galera Cluster
Abdul Manaf
 
PDF
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
Geir Høydalsvik
 
PDF
Elastic Scalability in MySQL Fabric Using OpenStack
Mats Kindahl
 
PDF
Avoiding.the.pitfallsof.oracle.migration.2013
EDB
 
PDF
DB12c: All You Need to Know About the Resource Manager
Maris Elsins
 
Conference slides: MySQL Cluster Performance Tuning
Severalnines
 
Conference tutorial: MySQL Cluster as NoSQL
Severalnines
 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
Severalnines
 
MySQL NDB Cluster 8.0
Ted Wennmark
 
Choosing a Next Gen Database: the New World Order of NoSQL, NewSQL, and MySQL
ScaleBase
 
MySQL Cluster
Abel Flórez
 
MOUG17 Keynote: Oracle OpenWorld Major Announcements
Monica Li
 
The Real Scoop on Migrating from Oracle Databases
EDB
 
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL for Software-as-a-Service (SaaS)
Mario Beck
 
MySQL 5.7: Focus on InnoDB
Mario Beck
 
MySQL InnoDB Cluster and NDB Cluster
Mario Beck
 
Python Utilities for Managing MySQL Databases
Mats Kindahl
 
20141011 my sql clusterv01pptx
Ivan Ma
 
Severalnines Self-Training: MySQL® Cluster - Part VI
Severalnines
 
MariaDB Galera Cluster
Abdul Manaf
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
Geir Høydalsvik
 
Elastic Scalability in MySQL Fabric Using OpenStack
Mats Kindahl
 
Avoiding.the.pitfallsof.oracle.migration.2013
EDB
 
DB12c: All You Need to Know About the Resource Manager
Maris Elsins
 

Viewers also liked (20)

PDF
MySQL カジュアル 福岡 03
Aya Komuro
 
PDF
keyvi the key value index @ Cliqz
Hendrik Muhs
 
PDF
DB技術[実践]入門を読んだ
Yuuki Tan-nai
 
PPTX
Big Data: It's More Than Volume, Paypal
Innovation Enterprise
 
PDF
H2O World - Data Science w/ Big Data in a Corporate Environment - Nachum Shacham
Sri Ambati
 
PDF
Scaling Twitter
Blaine
 
PDF
Boo box e my sql
Douglas Roeder
 
PDF
MySQL Cluster no PayPal
MySQL Brasil
 
PDF
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
 
PDF
DRBD9とdrbdmanageの概要紹介
株式会社サードウェア
 
PPTX
Driving Sales Execution with Compelling Messaging
Russell Scherwin
 
PDF
The little engine(s) that could: scaling online social networks
Josep M. Pujol
 
PDF
Fluentd meetup #2
Tomohiro Ikeda
 
PDF
fluent-plugin-resque_stat
Makoto Haruyama
 
PDF
Tracking The Trackers WWW 2016
Josep M. Pujol
 
PPTX
私がMySQLを始めた理由
yoyamasaki
 
PPTX
MySQL for Excelの紹介
yoyamasaki
 
PDF
Fluentd in Co-Work
Makoto Haruyama
 
PDF
MySQL de NoSQL Fukuoka
Ryusuke Kajiyama
 
PDF
カジュアルにギャップキーロックとネクストキーロック
株式会社シャーロック
 
MySQL カジュアル 福岡 03
Aya Komuro
 
keyvi the key value index @ Cliqz
Hendrik Muhs
 
DB技術[実践]入門を読んだ
Yuuki Tan-nai
 
Big Data: It's More Than Volume, Paypal
Innovation Enterprise
 
H2O World - Data Science w/ Big Data in a Corporate Environment - Nachum Shacham
Sri Ambati
 
Scaling Twitter
Blaine
 
Boo box e my sql
Douglas Roeder
 
MySQL Cluster no PayPal
MySQL Brasil
 
初心者エンジニアのシステム構築失敗談
Makoto Haruyama
 
DRBD9とdrbdmanageの概要紹介
株式会社サードウェア
 
Driving Sales Execution with Compelling Messaging
Russell Scherwin
 
The little engine(s) that could: scaling online social networks
Josep M. Pujol
 
Fluentd meetup #2
Tomohiro Ikeda
 
fluent-plugin-resque_stat
Makoto Haruyama
 
Tracking The Trackers WWW 2016
Josep M. Pujol
 
私がMySQLを始めた理由
yoyamasaki
 
MySQL for Excelの紹介
yoyamasaki
 
Fluentd in Co-Work
Makoto Haruyama
 
MySQL de NoSQL Fukuoka
Ryusuke Kajiyama
 
カジュアルにギャップキーロックとネクストキーロック
株式会社シャーロック
 
Ad

Similar to PayPal Big Data and MySQL Cluster (20)

PPTX
Yes sql08 inmemorydb
Daniel Austin
 
PPTX
A Global In-memory Data System for MySQL
Daniel Austin
 
PPTX
Big Data is a Big Scam Most of the Time! (MySQL Connect Keynote 2012)
Daniel Austin
 
ODP
Front Range PHP NoSQL Databases
Jon Meredith
 
PDF
Scaling data on public clouds
Liran Zelkha
 
PDF
Oracle vs NoSQL – The good, the bad and the ugly
John Kanagaraj
 
PDF
What every developer should know about database scalability, PyCon 2010
jbellis
 
PDF
Hpts 2011 flexible_oltp
Jags Ramnarayan
 
PPTX
DataStax C*ollege Credit: What and Why NoSQL?
DataStax
 
PDF
Why Distributed Databases?
Sargun Dhillon
 
PPTX
Big Data Platforms: An Overview
C. Scyphers
 
PPTX
GIDS 2016 Understanding and Building No SQLs
techmaddy
 
PPTX
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
PPTX
Sql vs NoSQL
RTigger
 
PDF
Design Patterns for Distributed Non-Relational Databases
guestdfd1ec
 
PDF
Design Patterns For Distributed NO-reational databases
lovingprince58
 
PPTX
Big Data (NJ SQL Server User Group)
Don Demcsak
 
PPTX
NOSQL PRESENTATION ON INTRRODUCTION Intro.pptx
plvdravikumarit
 
PPTX
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
PDF
Nosql intro
Hoang Nguyen
 
Yes sql08 inmemorydb
Daniel Austin
 
A Global In-memory Data System for MySQL
Daniel Austin
 
Big Data is a Big Scam Most of the Time! (MySQL Connect Keynote 2012)
Daniel Austin
 
Front Range PHP NoSQL Databases
Jon Meredith
 
Scaling data on public clouds
Liran Zelkha
 
Oracle vs NoSQL – The good, the bad and the ugly
John Kanagaraj
 
What every developer should know about database scalability, PyCon 2010
jbellis
 
Hpts 2011 flexible_oltp
Jags Ramnarayan
 
DataStax C*ollege Credit: What and Why NoSQL?
DataStax
 
Why Distributed Databases?
Sargun Dhillon
 
Big Data Platforms: An Overview
C. Scyphers
 
GIDS 2016 Understanding and Building No SQLs
techmaddy
 
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
Sql vs NoSQL
RTigger
 
Design Patterns for Distributed Non-Relational Databases
guestdfd1ec
 
Design Patterns For Distributed NO-reational databases
lovingprince58
 
Big Data (NJ SQL Server User Group)
Don Demcsak
 
NOSQL PRESENTATION ON INTRRODUCTION Intro.pptx
plvdravikumarit
 
UNIT I Introduction to NoSQL.pptx
Rahul Borate
 
Nosql intro
Hoang Nguyen
 
Ad

More from Mat Keep (9)

PDF
Blockchain & the IoT
Mat Keep
 
PDF
10-Step Methodology to Building a Single View with MongoDB
Mat Keep
 
PDF
MongoDB at Baidu
Mat Keep
 
PDF
MongoDB_Spark
Mat Keep
 
PDF
Business of iot_mongodb_spark
Mat Keep
 
PDF
Mongo db 2.6_security_architecture
Mat Keep
 
PDF
MySQL HA Solutions
Mat Keep
 
PDF
MySQL Cluster NoSQL Memcached API
Mat Keep
 
PDF
My sql 5.6_replwebinar_may12
Mat Keep
 
Blockchain & the IoT
Mat Keep
 
10-Step Methodology to Building a Single View with MongoDB
Mat Keep
 
MongoDB at Baidu
Mat Keep
 
MongoDB_Spark
Mat Keep
 
Business of iot_mongodb_spark
Mat Keep
 
Mongo db 2.6_security_architecture
Mat Keep
 
MySQL HA Solutions
Mat Keep
 
MySQL Cluster NoSQL Memcached API
Mat Keep
 
My sql 5.6_replwebinar_may12
Mat Keep
 

Recently uploaded (20)

PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Biography of Daniel Podor.pdf
Daniel Podor
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 

PayPal Big Data and MySQL Cluster

  • 1. Big Data is a Big Scam (Most of the Time) Daniel Austin, PayPal Technical Staff MySQL Connect Conference September 30, 2012 v1.2
  • 2. Today’s Agenda Big Myths about Big Data YESQL: A Counterexample Q&A Global In-memory MySQL Confidential and Proprietary 2
  • 3. THE FUNDAMENTAL PROBLEM IN DISTRIBUTED DATA SYSTEMS “How Do We Manage Reliable Distribution of Data Across Geographical Distances?” Confidential and Proprietary
  • 4. The NoSQL Solution •  NoSQL Systems provide a solution that relaxes many of the common constraints of typical RDBMS systems –  Slow - RDBMS has not scaled with CPUs –  Often require complex data management (SOX, SOR) –  Costly to build and maintain, slow to change and adapt –  Intolerant of CAP models (more on this later) •  Non-relational models, usually key-value •  May be batched or streaming •  Not necessarily distributed geographically Confidential and Proprietary
  • 5. Big Data Myth #1: Big Data = NoSQL •  ‘Big Data’ Refers to a Common Set of Problems –  Large Volumes –  High Rates of Change •  Of Data •  Of Data Models •  Of Data Presentation and Output –  Often Require ‘Fast Data’ as well as ‘Big’ •  Near-real Time Analytics •  Mapping Complex Structures Takeaway: Big Data is the problem, NoSQL is one (proposed) solution Confidential and Proprietary
  • 6. 3 Kinds of Big Data Systems 1.  Columnar K-V Systems – Hadoop, Hbase, Cassandra, PNUTs 2.  Document-Based – MongoDB, TerraCotta 3.  Graph-Based – FlockDB, Voldemort Takeaway: These were originally designed as solutions to specific problems because no commercial solution would work. Confidential and Proprietary
  • 7. Big Data Hype Cycle: Where Are We Now? There are currently more than 120+ NoSQL databases listed at nosql-databases.com! You Are Here ? As the pace of new technology solutions has slowed, some clear winners have emerged. Confidential and Proprietary
  • 8. Big Data Myth #2: The CAP Theorem Doesn’t Say What You Think It Does •  Consistency, Availability, (Network) Partition •  The Real Story: These are not Independent Variables •  AP =CP (Um, what? But…A != C ) •  Variations: –  PACELC (adds latency tolerance) Takeaway: the real story here is about the tradeoffs made by designers of different systems, and the main tradeoff is between consistency and availability, usually in favor of the latter. Confidential and Proprietary
  • 9. Big Data Myth: You Need A Big Data System Well, Maybe….But Before You Go There… There are essentially two ‘Big Data Problems’: “I have too much data and it’s coming in too fast to handle with any RDBMS.” “I have a lot of data distributed geographically and need to be able to read and write from anywhere in near real-time.” Takeaway: if you have one of these Big Data problems, a NoSQL solution might work for you. But there are also other alternatives… Confidential and Proprietary
  • 10. BIG DATA MYTH #3: BIG DATA AND NOSQL ARE NEW IDEAS •  The first and most successful such system is DNS, created in 1983. •  Began with flat files •  Currently serves the entire Internet (!) •  DNS is an AP system, availability is #1 •  Many extensions complicate a simple design •  Suggests a new term for CAP- like ideas: variability •  DNS variability is very high, often 2-3x the mean Confidential and Proprietary
  • 11. Today’s Agenda Big Myths About Big Data YESQL: A Counterexample Q&A Global In-memory MySQL Confidential and Proprietary 11
  • 12. Mission YESQL “Develop a globally distributed DB For user-related data.” •  Must Not Fail (99.999%) •  Must Not Lose Data. Period. •  Must Support Transactions •  Must Support (some) SQL •  Must WriteRead 32-bit integer globally in 1000ms •  Maximum Data Volume: 100 TB •  Must Scale Linearly with Costs Confidential and Proprietary
  • 13. What about “High Performance”? • Maximum lightspeed distance on Earth’s Surface: ~67 ms • Target: data available worldwide in < 1000 ms Sound Easy? Think Again! Confidential and Proprietary
  • 14. WHY MYSQL CLUSTER? Pro Con •  True HA by design •  Some semantic –  Fast recovery limitations on fields •  Supports (some) X- •  Size constraints (2 actions TB?) •  Relational Model –  Hardware limits •  In-memory also architecture = high •  Higher cost/byte performance •  Requires reasonable •  Disk storage for data partitioning non-indexed data •  Higher complexity •  APIs, APIs, APIs Confidential and Proprietary
  • 15. How MySQL Cluster Works in 1 Slide Graphics courtesy dev.mysql.com Confidential and Proprietary
  • 16. CIRCULAR REPLICATION/FAILOVER Graphics courtesy O’Reilly OnLamp.com Confidential and Proprietary
  • 17. AVAILABILITY DEFINED •  Availability of the entire system: n m Asys = 1 – Π(1-Πri)j V i=1 j=1 I P •  Number of Parallel Components Needed to Achieve Availability Amin: Parallel Serial Nmin = [ln(1-Amin)/ln(1-r)] Confidential and Proprietary
  • 18. AWS Meets MySQL Cluster •  Why AWS? – Cheap and easy infrastructure-in-a-box (Or so I thought! Ha!) •  Services Used: – EC2 (Centos 5.3, small instances for mgm & query nodes, XL for data – Elastic IPs/ELB – EBS Volumes – S3 – Cloudwatch Confidential and Proprietary
  • 19. ARCHITECTURAL TILES AWS Availability Zones Tiling Rules •  Never separate NDB & SQL A B •  Ndb:2-SQL:1-MGM:1 •  Scale by adding more tiles •  Failover 1st to nearest AZ •  Then to nearest DC •  At least 1 replica/AZ C ELB •  Don’t share nodes •  Mgmt nodes are redundant Limitations Unused (not present in all locations) •  AWS is network-bound @ 250 MBPS – ouch! •  Need specific ACL across AZ Data Mgmt SQL boundaries Node Node Node •  AZs not uniform! •  No GSLB •  Dynamic IPs •  ELB sticky sessions !reliable Confidential and Proprietary
  • 20. Architecture Stack Scale by Tiling A B A B A B A B A B A B A B 5 AWS Data Centers: US-E, US-W, TK, EU, AS Confidential and Proprietary
  • 21. Other Technologies Considered •  Paxos – Elegant-but-complex consensus-based messaging protocol – Used in Google Megastore, Bing metadata •  Java Query Caching – Queries as serialized objects – Not yet working •  Multiple Ring Architectures – Even more complicated = no way Confidential and Proprietary
  • 22. SYSTEM READ/WRITE PERFORMANCE (!) What we tested: •  32 & 256 byte char fields In-region replication tests •  Reads, writes, query speed vs. volume •  Data replication speeds Results: •  Global replication < 350 ms •  256 byte read < 10ms worldwide 06/19/2011 06/20/2011 06/21/2011 06/22/2011 06/23/2011 Confidential and Proprietary
  • 23. Data Models and Query Optimization •  Network Latency is an obvious issue •  Data model requires all segments present in each geo-region •  Parameterized (Linked) Joins – Adaptive Query Localization (SIP) technique from Clustra (see Clement Frazer’s blog for details) Confidential and Proprietary
  • 24. Conservation of Timestamps or The Commit Ordering Problem •  Why does commit ordering matter? •  Write operators are non-commutative [W(d,t1),W(d,t2)] != 0 unless t1=t2 – Can lead to inconsistency – Can lead to timestamp corruption – Forcing sequential writes defeats Amdahl’s rule •  Can show up in GSLB scenarios Confidential and Proprietary
  • 25. Hard Lessons, Shared •  Be Careful… –  With “Eventual Consistency”-related concepts –  ACID, CAP are not really as well-defined as we’d like considering how often we invoke them •  MySQL Cluster is a good solution –  Real HA, real SQL –  Notable limitations around fields, datatypes –  Successfully competes with NoSQL systems for most use cases – better in many cases •  NoSQL Systems –  All have relatively low levels of maturity –  More suitable for simpler key-value models –  Victim of Tech Fashion Confidential and Proprietary
  • 26. Future Directions •  Alternate solution using Pacemaker, Heartbeat – From Yves Trudeau @ Percona – Uses InnoDB, not NDB •  Implement Memcached plugin – To test NoSQL functionality, APIs •  Add simple connection-based persistence to preserve connections during failover •  Better data node distribution •  Better testing & monitoring Confidential and Proprietary
  • 27. Summing Up On YESQL v0.85 •  It works! Far better than expected. •  Very fast, very reliable •  Reduced complexity since v0.7 •  AWS poses challenges that private data centers may not experience •  You can achieve high performance and availability without giving up relational models and read consistency! Confidential and Proprietary
  • 28. The Big Picture on Big Data •  Only use Big Data solutions when you have a real Big Data problem. –  Don’t be a Dedicated Follower of Tech Fashion! •  Not all Big Data solutions are created equal –  What tradeoffs are most important to you? –  Consistency, Fault Tolerance, Availability, Performance, Variability •  Is your data model a fit for NoSQL? –  You don’t have to give up the relational model in most cases, so don’t! •  You can achieve high performance and availability without giving up relational models and read consistency! Just say YESQL! Confidential and Proprietary
  • 29. “In the long run, we are all dead eventually consistent.” Maynard Keynes on NoSQL Databases Twitter: @daniel_b_austin Email: [email protected] With apologies and thanks to the real DB experts, Andrew Goodman, Yves Trudeau, Frazer Clement, Daniel Abadi, Kent Beck, and everyone else who contributed. It really works!