SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Introduction
System Design
Performance
Conclusions
MoSQL: An Elastic Storage Engine For MySQL
Alexander Tomic, Daniele Sciascia, Fernando Pedone
University of Lugano, Switzerland
March 20, 2013
ACM SAC 2013 - Dependable and Distributed Systems Track
1/17
Introduction
System Design
Performance
Conclusions
1 Introduction
2 System Design
MySQL Servers
Storage Nodes
Certifier
3 Performance
TPC-C
4 Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
2/17
Introduction
System Design
Performance
Conclusions
MySQL is a popular open-source RDBMS at the core of
many web-based applications (part of “LAMP” stack)
Typical approaches to scaling MySQL in the wild (e.g.
sharding, asynchronous replication) provide weak
guarantees and are inflexible1
Elasticity highly desirable in a cyclical world where
over-provisioning and energy costs are significant
Strong guarantees (serializability) make development much
easier
1
Though since original master’s thesis in Sept 2011 some commercial
offerings have attempted to remedy this. Details in appendix
3/17
Introduction
System Design
Performance
Conclusions
What do we define as “elastic”?
Add/remove servers to/from a running system
Ideally little performance impact
4/17
Introduction
System Design
Performance
Conclusions
What do we define as “elastic”?
Add/remove servers to/from a running system
Ideally little performance impact
Get Good Things like higher throughput, reduced latency,
increased system capacity
4/17
Introduction
System Design
Performance
Conclusions
SQL (90’s) -> NoSQL (00’s) -> NewSQL (10’s)
SQL transactions are great, but legacy RDBMS architectures
too slow and inflexible
“NoSQL” systems of various flavours attempted to fill the
void (Dynamo, BigTable, etc.), but pushed significant
complexity up to app. developers
Re-emergence of (semi-)relational model in contemporary
systems such as Spanner and Megastore (Google)
Ultimately, no panacea but the usual game of tradeoffs
5/17
Introduction
System Design
Performance
Conclusions
MySQL Servers
Storage Nodes
Certifier
Three Layer Architecture of MoSQL
6/17
Introduction
System Design
Performance
Conclusions
MySQL Servers
Storage Nodes
Certifier
MySQL Servers
MySQL has a storage engine
interface enabling different
storage strategies to be
implemented
Serves as a translator from SQL
-> our storage layer API
Multiple MySQL “servers” can
be connected arbitrarily to
storage nodes
7/17
Introduction
System Design
Performance
Conclusions
MySQL Servers
Storage Nodes
Certifier
Storage Nodes
Multi-version, indexed
key-value storage layer
Keys distributed among nodes
using consistent hashing
Keys can be cached; storage
nodes can be started as
cache-only
8/17
Introduction
System Design
Performance
Conclusions
MySQL Servers
Storage Nodes
Certifier
Certifier
Checks whether entries read by
committing update tx are
up-to-date at time of commit
Propagates new entries created
by committing tx to nodes
Read-only tx do not require
certification; updates proceed
optimistically
9/17
Introduction
System Design
Performance
Conclusions
TPC-C
Performance
10/17
Introduction
System Design
Performance
Conclusions
TPC-C
Experimental Configuration for n-node MoSQL
11/17
Introduction
System Design
Performance
Conclusions
TPC-C
TPC-C Throughput vs. InnoDB
Increasing cost of using disk:
0K
10K
20K
30K
40K
50K
60K
70K
80K
10 20 40 80 160 10 20 40 80 160
Throughput(TpmC)
Number of warehouses (10 warehouses per node in MoSQL)
MoSQL
MySQL (InnoDB)
Ideal
12/17
Introduction
System Design
Performance
Conclusions
TPC-C
TPC-C Latency
Large stock-level transactions read from many nodes:
0
0.1
0.2
0.3
0.4
0.5
0.6
0 2 4 6 8 10 12 14 16
Latency(s)
Number of nodes (10 warehouses per node)
Delivery
New Order
Order Status
Payment
Stock Level
13/17
Introduction
System Design
Performance
Conclusions
TPC-C
Remote reads and N-O Thruput for 4 and 8 Nodes
From a cold start, inner B+Tree nodes must be cached
0K
5K
10K
15K
20K
25K
30K
35K
40K
TpmC
0K
10K
20K
30K
40K
50K
60K
70K
80K
0 50 100 150 200 250 300 350 400 450 500 550
Remotereadrequests
Time (sec)
4 nodes
8 nodes
14/17
Introduction
System Design
Performance
Conclusions
TPC-C
Adding Two Storage Nodes Online
60 WH, add 8 clients every 12 seconds, add volatile storage
nodes at t = 72, 108
0K
5K
10K
15K
20K
25K
Throughput(TpmC)
4 storage nodes 5 storage nodes 6 storage nodes
0
50
100
150
200
0 10 20 30 40 50 60 70 80 90 100110120130140150160
Latency(ms)
Time (sec)
MoSQL with node additions
MoSQL baseline
15/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
Future Work
Support for different Paxos implementations (experiments
shown use multicast ring-paxos which is of limited use in
“cloud” environments)
Parititioned certification
Usability improvements
We are in the process of open-sourcing MoSQL! Project
page will be updated in the coming weeks:
http://dslab.inf.usi.ch/mosql
16/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
Appendix
17/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
Related Work
ElasTraS (UCSB): Elastic data store providing transactional
multi-key access to data
ecStore (NU Singapore): peer-to-peer elastic storage with
range-query and tx support; neither ecStore nor ElasTraS
support full SQL transactions
Spanner (Google): Semi-relational model with wide-area tx,
but depends on specialized hardware providing
globally-meaningful timestamps
Megastore (Google): Semi-relational wide-area tx but with
low latency within small partitions; 2PC used for
cross-partition tx
18/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
MySQL Specific
GenieDB: A storage engine for MySQL with a geo-replicated
storage layer. Does not appear to offer elasticity.
Xeround: A cloud database service for MySQL applications
promising elastic storage for MySQL. ACID-compliance is
provided through a quorum-based approach based on a
quick look at the patent and whitepaper they have available
for download.
Parelastic: Claim many of the features that MoSQL provides
including elasticity. I would have to register in order to get
the whitepaper, but looking at the patent they have received,
it looks superficially like some kind of middleware approach
not unlike Sprint.
19/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
MySQL “Compatibile”
Clustrix: Shared-nothing system claiming MySQL
compatibility and acid-compliance. Engine written from
bottom up to be distributed, using push-down of compiled
query fragments to individual nodes, enabling apparently
better concurrency.
Scalebase: Another example of Sprint-like middleware that
resides between the application and “demoted” RDBMS
nodes and manage transactions and the distribution of data
across nodes.
Intalio: Claims elastic scalability and compatibilty with a
number of different RDBMS systems, so it would appear to
be some sort of Sprint-like middleware, but details are a bit
scarce.
20/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
B+Tree and Row Data
Boxes a) - i) are key-values.
100 120 /
100 105 120 12595 / / /
95
<raw data>
100
<raw data>
105
<raw data>
120
<raw data>
125
<raw data>
(a)
(b) (c) (d)
(e) (f) (g) (h) (i)
21/17
Introduction
System Design
Performance
Conclusions
Future Work
Appendix: Similar Offerings to MoSQL
Appendix: B+Tree Details
Some Unnecessary Aborts
Consider concurrent tx:
t1 = INSERT .. (60) and t2 = INSERT .. (130).
Writesets of t1, t2 are (a), and (a, d), so t1 will be aborted if
certified after t2.
100 120 /
100 105 120 12595 / / /
95
<raw data>
100
<raw data>
105
<raw data>
120
<raw data>
125
<raw data>
(a)
(b) (c) (d)
(e) (f) (g) (h) (i)
22/17

Más contenido relacionado

La actualidad más candente

Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...Alluxio, Inc.
 
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...IEEEMEMTECHSTUDENTPROJECTS
 
Biztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingBiztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingNikolai Blackie
 
Alluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for DaskAlluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for DaskAlluxio, Inc.
 
03 Biz Talk 2010 Hands On Day Adapter Pack
03 Biz Talk 2010 Hands On Day  Adapter Pack03 Biz Talk 2010 Hands On Day  Adapter Pack
03 Biz Talk 2010 Hands On Day Adapter PackNikolai Blackie
 
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...ManageIQ
 
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof....NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...Nikolai Blackie
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationAlluxio, Inc.
 
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CSMaking Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CSJohn Burwell
 
Securing your database servers from external attacks
Securing your database servers from external attacksSecuring your database servers from external attacks
Securing your database servers from external attacksAlkin Tezuysal
 
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016Alluxio, Inc.
 
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"LogeekNightUkraine
 
Bi2008 Plus Cloud Preview
Bi2008 Plus Cloud PreviewBi2008 Plus Cloud Preview
Bi2008 Plus Cloud Previewllangit
 
Opening the Path to Technical Excellence
Opening the Path to Technical ExcellenceOpening the Path to Technical Excellence
Opening the Path to Technical ExcellenceNETWAYS
 
What's VNext On Virtualization Management Toward Private Cloud
What's VNext On Virtualization Management Toward Private CloudWhat's VNext On Virtualization Management Toward Private Cloud
What's VNext On Virtualization Management Toward Private CloudLai Yoong Seng
 
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...Alluxio, Inc.
 
Amazon AWS Services Overview
Amazon AWS Services OverviewAmazon AWS Services Overview
Amazon AWS Services OverviewMichael Mullins
 
Best Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkBest Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkAlluxio, Inc.
 
OpenStack training - lowering barriers of entry for OpenStack
OpenStack training - lowering barriers of entry for OpenStackOpenStack training - lowering barriers of entry for OpenStack
OpenStack training - lowering barriers of entry for OpenStackColin McNamara
 

La actualidad más candente (20)

Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
Setting up monitoring system for Alluxio with Prometheus and Grafana in 10 mi...
 
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...
IEEE 2014 DOTNET CLOUD COMPUTING PROJECTS Distributed -concurrent--and-indepe...
 
Biztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingBiztalk 2013 Launch Briefing
Biztalk 2013 Launch Briefing
 
Alluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for DaskAlluxio-FUSE as a data access layer for Dask
Alluxio-FUSE as a data access layer for Dask
 
ds-3090
ds-3090ds-3090
ds-3090
 
03 Biz Talk 2010 Hands On Day Adapter Pack
03 Biz Talk 2010 Hands On Day  Adapter Pack03 Biz Talk 2010 Hands On Day  Adapter Pack
03 Biz Talk 2010 Hands On Day Adapter Pack
 
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...
Cloud Networking - Greg Blomquist, Scott Drennan, Lokesh Jain - ManageIQ Desi...
 
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof....NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...
.NET Alice in a Java Integration Wonderland - Mule Anypoint Platform Microsof...
 
Introducing the Hub for Data Orchestration
Introducing the Hub for Data OrchestrationIntroducing the Hub for Data Orchestration
Introducing the Hub for Data Orchestration
 
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CSMaking Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
Making Cloudy Peanut Butter Cups: Apache CloudStack + Riak CS
 
Securing your database servers from external attacks
Securing your database servers from external attacksSecuring your database servers from external attacks
Securing your database servers from external attacks
 
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016
Alluxio: The missing piece of on-demand clusters at Alluxio Meetup 2016
 
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
Ivan Zhuravel and Ihor Khlaponin "DC/OS vs Kubernetes. Let the Fight Begin!"
 
Bi2008 Plus Cloud Preview
Bi2008 Plus Cloud PreviewBi2008 Plus Cloud Preview
Bi2008 Plus Cloud Preview
 
Opening the Path to Technical Excellence
Opening the Path to Technical ExcellenceOpening the Path to Technical Excellence
Opening the Path to Technical Excellence
 
What's VNext On Virtualization Management Toward Private Cloud
What's VNext On Virtualization Management Toward Private CloudWhat's VNext On Virtualization Management Toward Private Cloud
What's VNext On Virtualization Management Toward Private Cloud
 
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
 
Amazon AWS Services Overview
Amazon AWS Services OverviewAmazon AWS Services Overview
Amazon AWS Services Overview
 
Best Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with SparkBest Practices for Using Alluxio with Spark
Best Practices for Using Alluxio with Spark
 
OpenStack training - lowering barriers of entry for OpenStack
OpenStack training - lowering barriers of entry for OpenStackOpenStack training - lowering barriers of entry for OpenStack
OpenStack training - lowering barriers of entry for OpenStack
 

Destacado

JBug_React_and_Flux_2015
JBug_React_and_Flux_2015JBug_React_and_Flux_2015
JBug_React_and_Flux_2015Lukas Vlcek
 
Building search app with ElasticSearch
Building search app with ElasticSearchBuilding search app with ElasticSearch
Building search app with ElasticSearchLukas Vlcek
 
OseeGenius - Semantic search engine and discovery platform
OseeGenius - Semantic search engine and discovery platformOseeGenius - Semantic search engine and discovery platform
OseeGenius - Semantic search engine and discovery platform@CULT Srl
 
Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"George Stathis
 
Apache Hadoop 1.1
Apache Hadoop 1.1Apache Hadoop 1.1
Apache Hadoop 1.1Sperasoft
 
Social Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide
 
Elasticsearch first-steps
Elasticsearch first-stepsElasticsearch first-steps
Elasticsearch first-stepsMatteo Moci
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchSperasoft
 
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...Simone Onofri
 
quick intro to elastic search
quick intro to elastic search quick intro to elastic search
quick intro to elastic search medcl
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search WalkthroughSuhel Meman
 
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...[Case machine learning- iColabora]Text Mining - classificando textos com Elas...
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...Jozias Rolim
 
Elastic search adaptto2014
Elastic search adaptto2014Elastic search adaptto2014
Elastic search adaptto2014Vivek Sachdeva
 
Using Elastic Search Outside Full-Text Search
Using Elastic Search Outside Full-Text SearchUsing Elastic Search Outside Full-Text Search
Using Elastic Search Outside Full-Text SearchSumy PHP User Grpoup
 
03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data OutOpenThink Labs
 
Data replication in Sling
Data replication in SlingData replication in Sling
Data replication in SlingTommaso Teofili
 

Destacado (20)

JBug_React_and_Flux_2015
JBug_React_and_Flux_2015JBug_React_and_Flux_2015
JBug_React_and_Flux_2015
 
Building search app with ElasticSearch
Building search app with ElasticSearchBuilding search app with ElasticSearch
Building search app with ElasticSearch
 
OseeGenius - Semantic search engine and discovery platform
OseeGenius - Semantic search engine and discovery platformOseeGenius - Semantic search engine and discovery platform
OseeGenius - Semantic search engine and discovery platform
 
Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"Elasticsearch & "PeopleSearch"
Elasticsearch & "PeopleSearch"
 
Apache Hadoop 1.1
Apache Hadoop 1.1Apache Hadoop 1.1
Apache Hadoop 1.1
 
Social Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 minSocial Miner: Webinar people marketing em 30 min
Social Miner: Webinar people marketing em 30 min
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic Search
 
Elasticsearch first-steps
Elasticsearch first-stepsElasticsearch first-steps
Elasticsearch first-steps
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...
Amministratori Di Sistema: Adeguamento al Garante Privacy - Log Management e ...
 
Oak / Solr integration
Oak / Solr integrationOak / Solr integration
Oak / Solr integration
 
Elastic search
Elastic searchElastic search
Elastic search
 
quick intro to elastic search
quick intro to elastic search quick intro to elastic search
quick intro to elastic search
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...[Case machine learning- iColabora]Text Mining - classificando textos com Elas...
[Case machine learning- iColabora]Text Mining - classificando textos com Elas...
 
Elastic search adaptto2014
Elastic search adaptto2014Elastic search adaptto2014
Elastic search adaptto2014
 
Using Elastic Search Outside Full-Text Search
Using Elastic Search Outside Full-Text SearchUsing Elastic Search Outside Full-Text Search
Using Elastic Search Outside Full-Text Search
 
03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out
 
Data replication in Sling
Data replication in SlingData replication in Sling
Data replication in Sling
 

Similar a MoSQL: An Elastic Storage Engine for MySQL

Build Application With MongoDB
Build Application With MongoDBBuild Application With MongoDB
Build Application With MongoDBEdureka!
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06Thomas Stensitzki
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemRonald Bradford
 
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdf
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdfCompare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdf
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdfarihantplastictanksh
 
Sybase IQ ile Muhteşem Performans
Sybase IQ ile Muhteşem PerformansSybase IQ ile Muhteşem Performans
Sybase IQ ile Muhteşem PerformansSybase Türkiye
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introductionShapeBlue
 
Case study on mysql in rdbms
Case study on mysql in rdbmsCase study on mysql in rdbms
Case study on mysql in rdbmsRajalakshmiK19
 
Modern databases and its challenges (SQL ,NoSQL, NewSQL)
Modern databases and its challenges (SQL ,NoSQL, NewSQL)Modern databases and its challenges (SQL ,NoSQL, NewSQL)
Modern databases and its challenges (SQL ,NoSQL, NewSQL)Mohamed Galal
 
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Darshan Gorasiya
 
MySQL Reference Manual
MySQL Reference ManualMySQL Reference Manual
MySQL Reference Manualwebhostingguy
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
 
The latest with MySql on OpenStack Trove
The latest with MySql on OpenStack TroveThe latest with MySql on OpenStack Trove
The latest with MySql on OpenStack TroveTesora
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...Amazon Web Services
 
By Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLBy Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLNuoDB
 
Powering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicPowering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicLucas Jellema
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)Gustavo Rene Antunez
 
Storage architectures and the cloud
Storage architectures and the cloudStorage architectures and the cloud
Storage architectures and the cloudShapeBlue
 

Similar a MoSQL: An Elastic Storage Engine for MySQL (20)

Build Application With MongoDB
Build Application With MongoDBBuild Application With MongoDB
Build Application With MongoDB
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystem
 
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdf
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdfCompare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdf
Compare the capabilities of the Microsoft Access, Microsoft SQL Serv.pdf
 
Introduction to Mysql
Introduction to MysqlIntroduction to Mysql
Introduction to Mysql
 
Sybase IQ ile Muhteşem Performans
Sybase IQ ile Muhteşem PerformansSybase IQ ile Muhteşem Performans
Sybase IQ ile Muhteşem Performans
 
Microsoft cloud 101
Microsoft cloud 101Microsoft cloud 101
Microsoft cloud 101
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introduction
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Case study on mysql in rdbms
Case study on mysql in rdbmsCase study on mysql in rdbms
Case study on mysql in rdbms
 
Modern databases and its challenges (SQL ,NoSQL, NewSQL)
Modern databases and its challenges (SQL ,NoSQL, NewSQL)Modern databases and its challenges (SQL ,NoSQL, NewSQL)
Modern databases and its challenges (SQL ,NoSQL, NewSQL)
 
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
 
MySQL Reference Manual
MySQL Reference ManualMySQL Reference Manual
MySQL Reference Manual
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
The latest with MySql on OpenStack Trove
The latest with MySql on OpenStack TroveThe latest with MySql on OpenStack Trove
The latest with MySql on OpenStack Trove
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
 
By Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLBy Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQL
 
Powering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogicPowering the Cloud with Oracle WebLogic
Powering the Cloud with Oracle WebLogic
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)
 
Storage architectures and the cloud
Storage architectures and the cloudStorage architectures and the cloud
Storage architectures and the cloud
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

MoSQL: An Elastic Storage Engine for MySQL

  • 1. Introduction System Design Performance Conclusions MoSQL: An Elastic Storage Engine For MySQL Alexander Tomic, Daniele Sciascia, Fernando Pedone University of Lugano, Switzerland March 20, 2013 ACM SAC 2013 - Dependable and Distributed Systems Track 1/17
  • 2. Introduction System Design Performance Conclusions 1 Introduction 2 System Design MySQL Servers Storage Nodes Certifier 3 Performance TPC-C 4 Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details 2/17
  • 3. Introduction System Design Performance Conclusions MySQL is a popular open-source RDBMS at the core of many web-based applications (part of “LAMP” stack) Typical approaches to scaling MySQL in the wild (e.g. sharding, asynchronous replication) provide weak guarantees and are inflexible1 Elasticity highly desirable in a cyclical world where over-provisioning and energy costs are significant Strong guarantees (serializability) make development much easier 1 Though since original master’s thesis in Sept 2011 some commercial offerings have attempted to remedy this. Details in appendix 3/17
  • 4. Introduction System Design Performance Conclusions What do we define as “elastic”? Add/remove servers to/from a running system Ideally little performance impact 4/17
  • 5. Introduction System Design Performance Conclusions What do we define as “elastic”? Add/remove servers to/from a running system Ideally little performance impact Get Good Things like higher throughput, reduced latency, increased system capacity 4/17
  • 6. Introduction System Design Performance Conclusions SQL (90’s) -> NoSQL (00’s) -> NewSQL (10’s) SQL transactions are great, but legacy RDBMS architectures too slow and inflexible “NoSQL” systems of various flavours attempted to fill the void (Dynamo, BigTable, etc.), but pushed significant complexity up to app. developers Re-emergence of (semi-)relational model in contemporary systems such as Spanner and Megastore (Google) Ultimately, no panacea but the usual game of tradeoffs 5/17
  • 7. Introduction System Design Performance Conclusions MySQL Servers Storage Nodes Certifier Three Layer Architecture of MoSQL 6/17
  • 8. Introduction System Design Performance Conclusions MySQL Servers Storage Nodes Certifier MySQL Servers MySQL has a storage engine interface enabling different storage strategies to be implemented Serves as a translator from SQL -> our storage layer API Multiple MySQL “servers” can be connected arbitrarily to storage nodes 7/17
  • 9. Introduction System Design Performance Conclusions MySQL Servers Storage Nodes Certifier Storage Nodes Multi-version, indexed key-value storage layer Keys distributed among nodes using consistent hashing Keys can be cached; storage nodes can be started as cache-only 8/17
  • 10. Introduction System Design Performance Conclusions MySQL Servers Storage Nodes Certifier Certifier Checks whether entries read by committing update tx are up-to-date at time of commit Propagates new entries created by committing tx to nodes Read-only tx do not require certification; updates proceed optimistically 9/17
  • 13. Introduction System Design Performance Conclusions TPC-C TPC-C Throughput vs. InnoDB Increasing cost of using disk: 0K 10K 20K 30K 40K 50K 60K 70K 80K 10 20 40 80 160 10 20 40 80 160 Throughput(TpmC) Number of warehouses (10 warehouses per node in MoSQL) MoSQL MySQL (InnoDB) Ideal 12/17
  • 14. Introduction System Design Performance Conclusions TPC-C TPC-C Latency Large stock-level transactions read from many nodes: 0 0.1 0.2 0.3 0.4 0.5 0.6 0 2 4 6 8 10 12 14 16 Latency(s) Number of nodes (10 warehouses per node) Delivery New Order Order Status Payment Stock Level 13/17
  • 15. Introduction System Design Performance Conclusions TPC-C Remote reads and N-O Thruput for 4 and 8 Nodes From a cold start, inner B+Tree nodes must be cached 0K 5K 10K 15K 20K 25K 30K 35K 40K TpmC 0K 10K 20K 30K 40K 50K 60K 70K 80K 0 50 100 150 200 250 300 350 400 450 500 550 Remotereadrequests Time (sec) 4 nodes 8 nodes 14/17
  • 16. Introduction System Design Performance Conclusions TPC-C Adding Two Storage Nodes Online 60 WH, add 8 clients every 12 seconds, add volatile storage nodes at t = 72, 108 0K 5K 10K 15K 20K 25K Throughput(TpmC) 4 storage nodes 5 storage nodes 6 storage nodes 0 50 100 150 200 0 10 20 30 40 50 60 70 80 90 100110120130140150160 Latency(ms) Time (sec) MoSQL with node additions MoSQL baseline 15/17
  • 17. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details Future Work Support for different Paxos implementations (experiments shown use multicast ring-paxos which is of limited use in “cloud” environments) Parititioned certification Usability improvements We are in the process of open-sourcing MoSQL! Project page will be updated in the coming weeks: http://dslab.inf.usi.ch/mosql 16/17
  • 18. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details Appendix 17/17
  • 19. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details Related Work ElasTraS (UCSB): Elastic data store providing transactional multi-key access to data ecStore (NU Singapore): peer-to-peer elastic storage with range-query and tx support; neither ecStore nor ElasTraS support full SQL transactions Spanner (Google): Semi-relational model with wide-area tx, but depends on specialized hardware providing globally-meaningful timestamps Megastore (Google): Semi-relational wide-area tx but with low latency within small partitions; 2PC used for cross-partition tx 18/17
  • 20. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details MySQL Specific GenieDB: A storage engine for MySQL with a geo-replicated storage layer. Does not appear to offer elasticity. Xeround: A cloud database service for MySQL applications promising elastic storage for MySQL. ACID-compliance is provided through a quorum-based approach based on a quick look at the patent and whitepaper they have available for download. Parelastic: Claim many of the features that MoSQL provides including elasticity. I would have to register in order to get the whitepaper, but looking at the patent they have received, it looks superficially like some kind of middleware approach not unlike Sprint. 19/17
  • 21. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details MySQL “Compatibile” Clustrix: Shared-nothing system claiming MySQL compatibility and acid-compliance. Engine written from bottom up to be distributed, using push-down of compiled query fragments to individual nodes, enabling apparently better concurrency. Scalebase: Another example of Sprint-like middleware that resides between the application and “demoted” RDBMS nodes and manage transactions and the distribution of data across nodes. Intalio: Claims elastic scalability and compatibilty with a number of different RDBMS systems, so it would appear to be some sort of Sprint-like middleware, but details are a bit scarce. 20/17
  • 22. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details B+Tree and Row Data Boxes a) - i) are key-values. 100 120 / 100 105 120 12595 / / / 95 <raw data> 100 <raw data> 105 <raw data> 120 <raw data> 125 <raw data> (a) (b) (c) (d) (e) (f) (g) (h) (i) 21/17
  • 23. Introduction System Design Performance Conclusions Future Work Appendix: Similar Offerings to MoSQL Appendix: B+Tree Details Some Unnecessary Aborts Consider concurrent tx: t1 = INSERT .. (60) and t2 = INSERT .. (130). Writesets of t1, t2 are (a), and (a, d), so t1 will be aborted if certified after t2. 100 120 / 100 105 120 12595 / / / 95 <raw data> 100 <raw data> 105 <raw data> 120 <raw data> 125 <raw data> (a) (b) (c) (d) (e) (f) (g) (h) (i) 22/17