SlideShare una empresa de Scribd logo
1 de 38
Spil Games:
outgrowing an
internet startup
Art van Scheppingen
Head of Database Engineering
Overview

1.   Who is Spil Games?
2.   How to professionalize?
3.   Spil Storage Platform
4.   Questions?




                           2
Who are we?
Who is Spil Games?
Facts

•   Company founded in 2001
•   350+ employees world wide
•   170M unique visitors per month
•   100K unique visitors per month on spilgames.com




                          4
Geographic Reach
       170 Million Monthly Active Users(*)




      •        Over 40 localized portals in 19 languages
      •        Focus on casual and social games
      •        170M MAU per month (30M YoY growth)
      •        Over 40M registered users
Source: (*) Google Analytics, December 2011


                                                5
Brands
Girls, Teens and Family




                          6
Games




        7
Games




        8
Games




        9
Games




        10
Games




        11
Games

• Inhouse game studios
• Partnerships with Social Gaming studios
• Over 1500 licensed games




                         12
Spil Games is growing fast!




                                                          DB Servers
                                                          MAU
                                                          Employees
                                              Employees
                                             MAU
 2006   2007                               DB Servers
               2008   2009   2010   2011



                               13
Database
Engineering
How to professionalize your
department
Startup

• Databases maintained by Systems Engineering
• No focus on performance, structure or backups
• Looking only one or two weeks into the future




                         15
Lessons

• Multiple migrations to new hardware
• Ping-pong on Master-Master setups
• Lack of insight into performance issues




                   Read+write




                                16
Professionalize

• Plan ahead up to three months
• Improve database platform
  • Reduce number of repetitive tasks
      • Write them down step by step (wiki)
      • Automate where possible
  • Improve monitoring
      • A single monitoring system is not enough!
  • Forecast growth
      • Week / Month / Year
      • Look back and evaluate!
• Extend department

                         17
LDAP isn’t suitable for the web

• Scaling the LDAP platform
• LDAP replaced by MySQL based solution (with help
  from Percona)
                DMM                      MMM




                        18
Cloning

• LVM snapshot method
  • took 4 hours on average with manual intervention
• Innobackupex + netcat + tar + script = quick cloning
  • Takes about 1 hour per 100GB
  • Foolproof
  • Can be run on active masters (if necessary)




                          19
Improve monitoring

• Different monitoring systems give different insights
  • Different angles/metrics/purposes
  • Early problem detection
  • Signal abnormal use which could cause outage




                          20
Growing pains

• Uneven growth:
  • Active master handling all write requests
  • Vertical scaling
• Write only
  • More writes than reads
• SOA problems
  • Connection spawning
  • Open file descriptors



                          21
Outgrowing our startup phase

• Anticipate more than one year in advance
• Acknowledge shortcomings/problems, look for
  solutions or alternatives
  • Don't commit to one single solution!
  • Be flexible!
• Plan for capacity per instance, not for growth alone!
• Start thinking globally!




                          22
Spil Storage
Platform
Sharding is inevitable
What is this exciting project about?




                    24
Functional sharding

•   Natural growth
•   Grown out of necessity for more functionality
•   Adding functionality means more interaction
•   Separation of database function
    • Profiles
    • Highscores
    • Comments
    • User Generated Content
    • etc


                           25
Advantages
• KISS
• Problem isolation

Disadvantages
•   Uneven growth
•   Difference in query patterns
•   No data consistency
•   No clear ownership of data
•   Capacity planning on total number of reads/writes
•   Horizontal scaling is difficult
                           26
Spil Storage Platform




                   27
Bucket model

• What is the bucket model?
  • It is an abstraction layer between the database and
    the datamodel
  • Each record has one unique owner attribute (GID)
  • The GID (Global IDentifier) identifies different data
    types
  • Different buckets per function
  • Attributes contain record data
  • Attributes do not have to correspond to schema


                           28
Advantages
• Flexibility
  • Database backend independent
  • Seamless schema changes and upgrades
  • Sharded on both functional and GID level
• Even distribution of queries possible
  • Capacity planning on number and type of entities
• Asynchronous writes possible
• Transparent data migration

Disadvantages
• Harder to find data
  • At least two lookups needed!
  • Datawarehousing needs a different approach
                           29
How do GIDs work?

• Globally sharded on GID
• (local) GID Lookup


                                         GID
                                       lookup

                                                          Persis
                                                           stor




                             Shard 1            Shard 2




                        30
Pipeline flow




                31
Bucket mapping and migration
                                                     Current functional
                                                          shards



                LEGACY
                                   Legacy API
                 adapter




        SPAPI
                                                     Read only

                                                      New GID based
                  New
                                      SSP                shards
                Application



                                      Read + write




                              32
Master-Master Sharding

• Each cluster of two masters will contain two shards
  • Data is written interleaved
  • HA for both shards
  • No warmup needed
• Both masters active and “warmed up”
• Slave added for backups and Datawarehouse
                             SSP


                   Shard 1         Shard 2




                              33
How are we implementing this SSP?

•   Erlang cluster with many workers
•   Every GID has its own worker process
•   (Inter)cluster communication
•   (Near) linear scalability




                           34
Advantages
• Erlang node caching
• Multiple backend connectors
  • MySQL library
  • Handlersockets
  • Any other connectors if needed
• Connection pooling

Disadvantages
• NOT SEXY? ( http://spil.com/notsexy )


                         35
Do YOU want to be sexy?




                 36
Questions?
Thank you!




             38

Más contenido relacionado

La actualidad más candente

The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceAbdelmonaim Remani
 
Apache geode
Apache geodeApache geode
Apache geodeYogesh BG
 
MS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersMS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersДенис Резник
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Manik Surtani
 
NoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooNoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooAndrew Brust
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLRichard Schneeman
 
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullySQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullyMd Kamaruzzaman
 
Jss 2015 in memory and operational analytics
Jss 2015   in memory and operational analyticsJss 2015   in memory and operational analytics
Jss 2015 in memory and operational analyticsDavid Barbarin
 
Stumbling stones when migrating from Oracle
 Stumbling stones when migrating from Oracle Stumbling stones when migrating from Oracle
Stumbling stones when migrating from OracleEDB
 
Scala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big DataScala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big DataJohn Nestor
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012Eonblast
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesScott Hoag
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?CQD
 
Geek Sync | Azure Cloud & You: First Steps for the DBA
Geek Sync | Azure Cloud & You: First Steps for the DBAGeek Sync | Azure Cloud & You: First Steps for the DBA
Geek Sync | Azure Cloud & You: First Steps for the DBAIDERA Software
 
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UNMariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN✔ Eric David Benari, PMP
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremRahul Jain
 
Stig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleStig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleDATAVERSITY
 
SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017Travis Wright
 
When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...MongoDB
 

La actualidad más candente (20)

The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
Apache geode
Apache geodeApache geode
Apache geode
 
MS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for DevelopersMS DevDay - SQLServer 2014 for Developers
MS DevDay - SQLServer 2014 for Developers
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
 
NoSQL and The Big Data Hullabaloo
NoSQL and The Big Data HullabalooNoSQL and The Big Data Hullabaloo
NoSQL and The Big Data Hullabaloo
 
Scaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQLScaling the Web: Databases & NoSQL
Scaling the Web: Databases & NoSQL
 
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefullySQL, NoSQL, Distributed SQL: Choose your DataStore carefully
SQL, NoSQL, Distributed SQL: Choose your DataStore carefully
 
Jss 2015 in memory and operational analytics
Jss 2015   in memory and operational analyticsJss 2015   in memory and operational analytics
Jss 2015 in memory and operational analytics
 
Stumbling stones when migrating from Oracle
 Stumbling stones when migrating from Oracle Stumbling stones when migrating from Oracle
Stumbling stones when migrating from Oracle
 
Scala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big DataScala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big Data
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That Scales
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?
 
Geek Sync | Azure Cloud & You: First Steps for the DBA
Geek Sync | Azure Cloud & You: First Steps for the DBAGeek Sync | Azure Cloud & You: First Steps for the DBA
Geek Sync | Azure Cloud & You: First Steps for the DBA
 
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UNMariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP Theorem
 
Stig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleStig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at Scale
 
SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017SQL Server 2017 Deep Dive - @Ignite 2017
SQL Server 2017 Deep Dive - @Ignite 2017
 
When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...When to Use MongoDB...and When You Should Not...
When to Use MongoDB...and When You Should Not...
 

Similar a Spil Games: outgrowing an internet startup

Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQLDon Demcsak
 
NOSQL, CouchDB, and the Cloud
NOSQL, CouchDB, and the CloudNOSQL, CouchDB, and the Cloud
NOSQL, CouchDB, and the Cloudboorad
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalramazan fırın
 
Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Saltmarch Media
 
Large scale computing with mapreduce
Large scale computing with mapreduceLarge scale computing with mapreduce
Large scale computing with mapreducehansen3032
 
DevNation Atlanta
DevNation AtlantaDevNation Atlanta
DevNation Atlantaboorad
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Christopher Curtin
 
Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDBDATAVERSITY
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsMichael Kopp
 
eHarmony in the Cloud
eHarmony in the CloudeHarmony in the Cloud
eHarmony in the CloudCraig Dickson
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Group, Inc.
 
Austin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at VastAustin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at VastDataStax Academy
 
Stardog 1.1: Easier, Smarter, Faster RDF Database
Stardog 1.1: Easier, Smarter, Faster RDF DatabaseStardog 1.1: Easier, Smarter, Faster RDF Database
Stardog 1.1: Easier, Smarter, Faster RDF DatabaseClark & Parsia LLC
 
Stardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF DatabaseStardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF Databasekendallclark
 
Spil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLSpil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLThijs Terlouw
 
Continuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData AnalysisContinuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData AnalysisKai Sasaki
 

Similar a Spil Games: outgrowing an internet startup (20)

Intro to Big Data and NoSQL
Intro to Big Data and NoSQLIntro to Big Data and NoSQL
Intro to Big Data and NoSQL
 
NOSQL, CouchDB, and the Cloud
NOSQL, CouchDB, and the CloudNOSQL, CouchDB, and the Cloud
NOSQL, CouchDB, and the Cloud
 
Lean & agile with MongoDB
Lean & agile with MongoDBLean & agile with MongoDB
Lean & agile with MongoDB
 
Big data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-finalBig data hadoop-no sql and graph db-final
Big data hadoop-no sql and graph db-final
 
Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?
 
Large scale computing with mapreduce
Large scale computing with mapreduceLarge scale computing with mapreduce
Large scale computing with mapreduce
 
DevNation Atlanta
DevNation AtlantaDevNation Atlanta
DevNation Atlanta
 
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
Kafka 0.8.0 Presentation to Atlanta Java User's Group March 2013
 
Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBIntro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
 
Is hadoop for you
Is hadoop for youIs hadoop for you
Is hadoop for you
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ Applications
 
eHarmony in the Cloud
eHarmony in the CloudeHarmony in the Cloud
eHarmony in the Cloud
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016
 
Cassandra at Vast
Cassandra at VastCassandra at Vast
Cassandra at Vast
 
Austin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at VastAustin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at Vast
 
Stardog 1.1: Easier, Smarter, Faster RDF Database
Stardog 1.1: Easier, Smarter, Faster RDF DatabaseStardog 1.1: Easier, Smarter, Faster RDF Database
Stardog 1.1: Easier, Smarter, Faster RDF Database
 
Stardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF DatabaseStardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF Database
 
Spil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLSpil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NL
 
Continuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData AnalysisContinuous Optimization for Distributed BigData Analysis
Continuous Optimization for Distributed BigData Analysis
 
Intro to Big Data - Spark
Intro to Big Data - SparkIntro to Big Data - Spark
Intro to Big Data - Spark
 

Último

↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...noor ahmed
 
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...rahim quresi
 
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...aamir
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goasexy call girls service in goa
 
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingKanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingNitya salvi
 
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...noor ahmed
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...ritikasharma
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceDamini Dixit
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...rahim quresi
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...russian goa call girl and escorts service
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...ritikasharma
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Apsara Of India
 
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna... Shivani Pandey
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goasexy call girls service in goa
 
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...Apsara Of India
 
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...noor ahmed
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...ritikasharma
 
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...noor ahmed
 

Último (20)

↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
 
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
 
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
 
Goa Call "Girls Service 9316020077 Call "Girls in Goa
Goa Call "Girls  Service   9316020077 Call "Girls in GoaGoa Call "Girls  Service   9316020077 Call "Girls in Goa
Goa Call "Girls Service 9316020077 Call "Girls in Goa
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
 
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment BookingKanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
Kanpur call girls 📞 8617697112 At Low Cost Cash Payment Booking
 
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Howrah ⟟ 8250192130 ⟟ High Class Call Girl In...
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
 
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
 
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...
5* Hotels Call Girls In Goa {{07028418221}} Call Girls In North Goa Escort Se...
 
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
 
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
Book Paid Sonagachi Call Girls Kolkata 𖠋 8250192130 𖠋Low Budget Full Independ...
 

Spil Games: outgrowing an internet startup

  • 1. Spil Games: outgrowing an internet startup Art van Scheppingen Head of Database Engineering
  • 2. Overview 1. Who is Spil Games? 2. How to professionalize? 3. Spil Storage Platform 4. Questions? 2
  • 3. Who are we? Who is Spil Games?
  • 4. Facts • Company founded in 2001 • 350+ employees world wide • 170M unique visitors per month • 100K unique visitors per month on spilgames.com 4
  • 5. Geographic Reach 170 Million Monthly Active Users(*) • Over 40 localized portals in 19 languages • Focus on casual and social games • 170M MAU per month (30M YoY growth) • Over 40M registered users Source: (*) Google Analytics, December 2011 5
  • 7. Games 7
  • 8. Games 8
  • 9. Games 9
  • 10. Games 10
  • 11. Games 11
  • 12. Games • Inhouse game studios • Partnerships with Social Gaming studios • Over 1500 licensed games 12
  • 13. Spil Games is growing fast! DB Servers MAU Employees Employees MAU 2006 2007 DB Servers 2008 2009 2010 2011 13
  • 15. Startup • Databases maintained by Systems Engineering • No focus on performance, structure or backups • Looking only one or two weeks into the future 15
  • 16. Lessons • Multiple migrations to new hardware • Ping-pong on Master-Master setups • Lack of insight into performance issues Read+write 16
  • 17. Professionalize • Plan ahead up to three months • Improve database platform • Reduce number of repetitive tasks • Write them down step by step (wiki) • Automate where possible • Improve monitoring • A single monitoring system is not enough! • Forecast growth • Week / Month / Year • Look back and evaluate! • Extend department 17
  • 18. LDAP isn’t suitable for the web • Scaling the LDAP platform • LDAP replaced by MySQL based solution (with help from Percona) DMM MMM 18
  • 19. Cloning • LVM snapshot method • took 4 hours on average with manual intervention • Innobackupex + netcat + tar + script = quick cloning • Takes about 1 hour per 100GB • Foolproof • Can be run on active masters (if necessary) 19
  • 20. Improve monitoring • Different monitoring systems give different insights • Different angles/metrics/purposes • Early problem detection • Signal abnormal use which could cause outage 20
  • 21. Growing pains • Uneven growth: • Active master handling all write requests • Vertical scaling • Write only • More writes than reads • SOA problems • Connection spawning • Open file descriptors 21
  • 22. Outgrowing our startup phase • Anticipate more than one year in advance • Acknowledge shortcomings/problems, look for solutions or alternatives • Don't commit to one single solution! • Be flexible! • Plan for capacity per instance, not for growth alone! • Start thinking globally! 22
  • 24. What is this exciting project about? 24
  • 25. Functional sharding • Natural growth • Grown out of necessity for more functionality • Adding functionality means more interaction • Separation of database function • Profiles • Highscores • Comments • User Generated Content • etc 25
  • 26. Advantages • KISS • Problem isolation Disadvantages • Uneven growth • Difference in query patterns • No data consistency • No clear ownership of data • Capacity planning on total number of reads/writes • Horizontal scaling is difficult 26
  • 28. Bucket model • What is the bucket model? • It is an abstraction layer between the database and the datamodel • Each record has one unique owner attribute (GID) • The GID (Global IDentifier) identifies different data types • Different buckets per function • Attributes contain record data • Attributes do not have to correspond to schema 28
  • 29. Advantages • Flexibility • Database backend independent • Seamless schema changes and upgrades • Sharded on both functional and GID level • Even distribution of queries possible • Capacity planning on number and type of entities • Asynchronous writes possible • Transparent data migration Disadvantages • Harder to find data • At least two lookups needed! • Datawarehousing needs a different approach 29
  • 30. How do GIDs work? • Globally sharded on GID • (local) GID Lookup GID lookup Persis stor Shard 1 Shard 2 30
  • 32. Bucket mapping and migration Current functional shards LEGACY Legacy API adapter SPAPI Read only New GID based New SSP shards Application Read + write 32
  • 33. Master-Master Sharding • Each cluster of two masters will contain two shards • Data is written interleaved • HA for both shards • No warmup needed • Both masters active and “warmed up” • Slave added for backups and Datawarehouse SSP Shard 1 Shard 2 33
  • 34. How are we implementing this SSP? • Erlang cluster with many workers • Every GID has its own worker process • (Inter)cluster communication • (Near) linear scalability 34
  • 35. Advantages • Erlang node caching • Multiple backend connectors • MySQL library • Handlersockets • Any other connectors if needed • Connection pooling Disadvantages • NOT SEXY? ( http://spil.com/notsexy ) 35
  • 36. Do YOU want to be sexy? 36

Notas del editor

  1. Welcome everybody!My name is Art van Scheppingen and I’m from Spil Games from the Netherlands.I’m the head of the Database Engineering department.Not many of you have heard from Spil Games before, but I hope at the end of my presentation you all will have a good impression what this company is all about.
  2. So what is my presentation all about?It will consist of three major parts:First I’m going to give you a small introduction on what Spil Games is doingIn the second part I will tell you about the growing pains we faced in my departmentIn the third part I will tell you a bit more on our exciting new project!At the end of the presentation there will be room for questions.
  3. So who are we? Who is Spil Games?It would be best by telling you some facts about our company.
  4. We do about 170M unique visitors per monthBut our corporate website spilgames.com receives about 100 thousand unique visitors per month, so that may be the reason our name is not widely known.
  5. Where do these 170M users come from?World wide we have over 40 localized portals in 19 languagesOn these portals we mainly have casual and social gamesApart from the 170 million users we also have 40 million registered users who create a whole lot of interactions to our databases. Fortunately it is not all direct2db!So how do we keep that 170 million users interested?
  6. We divided our portals into three major brands: Girls, Teens and FamilyOn the left you can see our Girls brand: it is pink, targeted at Girls in the age of 8 to 12 featuring mainly dress-up and cooking games. 60% of the girls between 8 and 12 in the US visit GGG.comIn the middle you see our Teens brand which is targeted at children in the age between 10 and 16. The games are targeted at this age groupOn the right you see our Family brand which is targeted at Families, mothers and children playing together. It therefore has the largest variety in games.The games on these portals are created in our own inhouse game studio, or licensed from partners or made together in a partnership. I will show some examples of the games featured on our portals
  7. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  8. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  9. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  10. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  11. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  12. Our most popular social game in the United States is Pet Party were you can keep your own virtual pet.We also have other social games like Forest Story where you can run your own tribeOr racing games like Lose the Heat where you can race against others and try to lose the policeAn ever popular title is Uphill Rush which already received its third sequelOur most popular game ever is: Bubble Shooter. We have been featuring this game since the beginning.So we have inhouse game studios who create our own games, partnerships with social gaming studios and 1500 licensed games so far!
  13. This graph shows the overall growth of Spil Games.The last row shows increasing number of employees over the years. The middle shows the number of monthly active users which parallels the growth iin the number of employees and databases. Our growth has been quite consistent over the past years: on all sides we have more than 30% YoY growthThis rate of growth makes it inevitable that the number of database servers will also increase.
  14. Stabilizing the platform meant upgrading from MySQL 5.0 to Percona 5.1, getting backups in orderForecasting is nothing compared to the talk Baron Schwartz presented yesterday
  15. LDAP was first designed to do multiple master cluster. What seemed to be a good idea turned out to be your worst nightmare.389 directory server can only handle 2 replication threads max. Above that it becomes unstable in response times and queues. Thanks to our own DMM implementation machines were kicked out of the pool even though they were perfectly fine.Tree structure design to solve replication problem, but lag and SPOF was the downsideSetup of instance slow: 30 hours for 7M to 8M profilesSharding was not an option as there was a unique on username and email address“Hardware is cheap”, but investing 40k is a pretty bad deal.LDAP replacement was going from 11 servers to 2 serversEventually we could have done it ourselves, but politically it could have taken ages. Consultancy can solve your problem then. 
  16. Functionally shard a generic database machine and split off one (or more) functionalities required a lot of handworkAlso (terribly) out of sync machines were eating up a lot of timeLive migrations to new hardware were a pain
  17. If you have monitoring from all angles you can detect abnormal usage earlier. These problems will get worse over time and might even bring down your infrastructure at worse timing ever!Also application monitoring tools, like Newrelic, give insight in code deployments and database metrics from the application point of view
  18. Hyscor uses 1 active master and 3 read slavesConnections can spawn very quickly within a SOA architectureFeedar doing persistent write of Memcache within MySQL and never select any data from MySQL
  19. Why start thinking global? We grow so fast we can not keep all databases located in one datacenter.Also we want to bring the data as close as possible to the end user. Why? Imagine services like ‘search as you type’ that suffer from latency.
  20. After servingSpil Games for many years our old architecture on the left is getting overcomplex. Therefore we are now building our much more structured new architecture on which we hope to rely upon in the upcoming years
  21. Horizontal scaling: everything of a function in one database, so sharding on, for instance uid, requires a large overhaul of all existing service
  22. So what does our new model look like then? We call it the Spil Storage platform and it looks like this in overview. As you can see it consists of three layers and I will tell you more about those layers in detail. Our most important component is the bucket model.
  23. How does this bucket model work?This graph shows you the three layers: the owner router will make sure you get to the correct data owner pipeline. This is important because to create atomicity we need a strict separation of ownership of data. Within this pipeline the bucket can be implemented in many different ways: the bucker may be a persistent bucket, but it could also be a ram only bucket. Then the bucket itself will contain the cache between the call and the data storage layer at the bottom. This data storage layer contains the individual shards, in this case on a MySQL InnoDB platform but it could very well be any other storage platform.
  24. Josh Berkus