SlideShare a Scribd company logo
Dynamo and BigTable
Review and Comparison
IEEEI 2014
Grisha Weintraub
Outline
• Introduction to NoSQL
• Introduction to Dynamo and BigTable
• Dynamo vs. BigTable comparison
• Open source implementations
Introduction to NoSQL
• New generation of databases
• Response to a “big data” challenge
• Main characteristics:
– Non-relational
– Distributed
– Fault tolerant
– Scalable
Introduction to NoSQL
Dynamo and BigTable - Introduction
Dynamo (Amazon)
• Giuseppe DeCandia, et al.:
Dynamo: amazon's highly available
key-value store. SOSP 2007
BigTable (Google)
• Fay Chang, et al.: BigTable: A
Distributed Storage System for
Structured Data. OSDI 2006
Highly Available
Key-value Structured Data
Dynamo vs. BigTable
BigTableDynamo
Architecture
Data model
API
Security
Partitioning
Replication
Storage
Membership and failure
detection
Architecture
Dynamo
• Decentralized:
– Every node has the same set of
responsibilities as its peers.
– There is no single point of
failure.
BigTable
• Centralized:
– Single master node maintains
all system metadata.
– Other nodes (tablet servers)
handle read and write
requests.
Master
Data Model
Dynamo
• Key-value - data is stored as
<key, value> pairs, such that
key is a unique identifier and a
value is an arbitrary entry.
BigTable
• Multidimensional sorted map
– map is indexed by a row key
and a column key, and ordered
by a row key. Column keys are
grouped into sets called
column families.
ValueKey
{
“Name” : ”John”,
“Email” : ”john@g.com”,
“Card” : ”6652”
}
188
{
“Name” : ”Bob”,
“Phone” : ”781455”,
“Card” : ”9875”
}
145
Financial DataPersonal DataUser ID
Card = “9875”Name = "Bob"Phone = "781455"145
Card = “6652”Name = "John"Email = "john@g.com"188
row key column family
column key
API
Dynamo
• get – returns an object
associated with the given
key.
• put – associates the given
object with the specified
key.
BigTable
• get – returns values from
the individual rows.
• scan – iterates over multiple
rows.
• put – inserts a value to the
specified table's cell.
• delete – deletes a whole
row or a specified cell inside
a particular row.
Security
Dynamo
• No security features
BigTable
• Access control rights are
granted at column family level.
Financial DataPersonal DataRow
Key
Card = “9875”Name = "Bob"Phone = "781455"145
Card = “6652”Name = "John"Email = "john@g.com"188
Views Personal Data
Views/Updates Personal Data
Views/Updates all the Data
Partitioning
Dynamo
• Consistent Hashing:
– Each node is assigned to a random
position on the ring.
– Key is hashed to the fixed point on the
ring.
– Node is chosen by walking clockwise from
the hash location.
BigTable
• Data is stored ordered by a row key.
• Each table consists of a set of tablets.
• Each tablet is assigned to exactly one
tablet server.
• METADATA table stores the location of a
tablet under a row key.
A
B
DE
F
G
hash(key)
C
…..id
…..15000
Tablet 1 …..….
…..20000
…..20001
Tablet 2 …..….
…..25000
Tablet-51Tablet-11
Tablet-32Tablet-7
Tablet-16Tablet-8
Tablet-1Tablet-21
Tablet Server 1 Tablet Server 2
Replication
Dynamo
• Each data item is replicated at N nodes
(N is a user-defined parameter).
• Each key K is assigned to a coordinator
node.
• Coordinator stores the data associated
with K locally, and also replicates it at
the N-1 healthy clockwise successor
nodes in the ring.
BigTable
• Each tablet is stored in GFS as a
sequence of read-only files called
SSTables.
• SSTables are divided into fixed-size
chunks, and these chunks are stored on
chunkservers.
• Each chunk in GFS is replicated across
multiple chunkservers.
N = 3
A
B
DE
F
G
hash(key)
C
SSTable3SSTable2SSTable1
Chunk3Chunk2Chunk1
Chunk1
Chunk3
Chunk1
Chunk2
Chunkserver 1 Chunkserver 2
Chunk2
Chunk3
Chunkserver 3
Storage
Dynamo
• Each node in Dynamo has a
local persistence engine where
data items are stored as binary
objects.
• Different Dynamo instances
may use different persistence
engines (e.g. MySql, BDB)
• Applications choose the
persistence engine based on
their object size distribution.
BigTable
• Data is stored in GFS in SSTable
file format.
• SSTable is an immutable
ordered map, whose keys and
values are arbitrary strings.
• SSTable supports "get by key"
and "get by key range"
requests.
Membership and Failure detection
Dynamo
• Gossip-based protocol:
– Each node contacts a peer chosen
at random every second and the
two nodes exchange their
membership data (every node
maintains a persistent view of the
membership).
BigTable
• Failed tablet servers are
identified by regular handshakes
between the master and all tablet
servers.
A
B
DE
F
G
C
Master
Dynamo vs. BigTable
BigTableDynamo
centralizeddecentralizedArchitecture
sorted mapkey-valueData model
get, put, scan, deleteget, putAPI
access controlnoSecurity
key range basedconsistent hashingPartitioning
chunkservers in GFS
successor nodes in the
ring
Replication
SSTables in GFSPlug-inStorage
Handshakes initiated by
master
Gossip-based protocol
Membership and failure
detection
Open source implementations
Thank You

More Related Content

What's hot

The Google File System (GFS)
The Google File System (GFS)The Google File System (GFS)
The Google File System (GFS)
Romain Jacotin
 
GFS & HDFS Introduction
GFS & HDFS IntroductionGFS & HDFS Introduction
GFS & HDFS Introduction
Hariharan Ganesan
 
Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS
Dr Neelesh Jain
 
Google file system GFS
Google file system GFSGoogle file system GFS
Google file system GFS
zihad164
 
Distribution transparency and Distributed transaction
Distribution transparency and Distributed transactionDistribution transparency and Distributed transaction
Distribution transparency and Distributed transaction
shraddha mane
 
HDFS Design Principles
HDFS Design PrinciplesHDFS Design Principles
HDFS Design Principles
Konstantin V. Shvachko
 
Deductive databases
Deductive databasesDeductive databases
Deductive databases
Dabbal Singh Mahara
 
Aspects of data mart
Aspects of data martAspects of data mart
Aspects of data mart
Osama Hussain Paracha
 
Schemaless Databases
Schemaless DatabasesSchemaless Databases
Schemaless Databases
Dan Gunter
 
MapReduce
MapReduceMapReduce
DDBMS Paper with Solution
DDBMS Paper with SolutionDDBMS Paper with Solution
DDBMS Paper with Solution
Gyanmanjari Institute Of Technology
 
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
Krish_ver2
 
Active database
Active databaseActive database
Active database
mridul mishra
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
alexbaranau
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
Anamika Singh
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
Dr. C.V. Suresh Babu
 
Parallel Database
Parallel DatabaseParallel Database
Parallel Database
VESIT/University of Mumbai
 
Database replication
Database replicationDatabase replication
Database replication
Arslan111
 
Hadoop Architecture
Hadoop ArchitectureHadoop Architecture
Hadoop Architecture
Dr. C.V. Suresh Babu
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL DatabasesDerek Stainer
 

What's hot (20)

The Google File System (GFS)
The Google File System (GFS)The Google File System (GFS)
The Google File System (GFS)
 
GFS & HDFS Introduction
GFS & HDFS IntroductionGFS & HDFS Introduction
GFS & HDFS Introduction
 
Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS
 
Google file system GFS
Google file system GFSGoogle file system GFS
Google file system GFS
 
Distribution transparency and Distributed transaction
Distribution transparency and Distributed transactionDistribution transparency and Distributed transaction
Distribution transparency and Distributed transaction
 
HDFS Design Principles
HDFS Design PrinciplesHDFS Design Principles
HDFS Design Principles
 
Deductive databases
Deductive databasesDeductive databases
Deductive databases
 
Aspects of data mart
Aspects of data martAspects of data mart
Aspects of data mart
 
Schemaless Databases
Schemaless DatabasesSchemaless Databases
Schemaless Databases
 
MapReduce
MapReduceMapReduce
MapReduce
 
DDBMS Paper with Solution
DDBMS Paper with SolutionDDBMS Paper with Solution
DDBMS Paper with Solution
 
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
 
Active database
Active databaseActive database
Active database
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Parallel Database
Parallel DatabaseParallel Database
Parallel Database
 
Database replication
Database replicationDatabase replication
Database replication
 
Hadoop Architecture
Hadoop ArchitectureHadoop Architecture
Hadoop Architecture
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 

Viewers also liked

Big table por Matias tesoriero
Big table por Matias tesorieroBig table por Matias tesoriero
Big table por Matias tesorieromtesoriero
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
Romain Jacotin
 
HDFS
HDFSHDFS
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
David Albela Pérez
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
vanjakom
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
Tomás Fernández Pena
 
Summary of "Google's Big Table" at nosql summer reading in Tokyo
Summary of "Google's Big Table" at nosql summer reading in TokyoSummary of "Google's Big Table" at nosql summer reading in Tokyo
Summary of "Google's Big Table" at nosql summer reading in Tokyo
CLOUDIAN KK
 
Bigtable: A Distributed Storage System for Structured Data
Bigtable: A Distributed Storage System for Structured DataBigtable: A Distributed Storage System for Structured Data
Bigtable: A Distributed Storage System for Structured Dataelliando dias
 
Modelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionalesModelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionales
BEEVA_es
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
Diego López-de-Ipiña González-de-Artaza
 
טלפונים חכמים ואתם
טלפונים חכמים ואתםטלפונים חכמים ואתם
טלפונים חכמים ואתםIdan ofek
 
1953 and all that. A tale of two sciences (Kitcher, 1984)
1953 and all that. A tale of two sciences (Kitcher, 1984)1953 and all that. A tale of two sciences (Kitcher, 1984)
1953 and all that. A tale of two sciences (Kitcher, 1984)
Yoav Francis
 
Guice - dependency injection framework
Guice - dependency injection frameworkGuice - dependency injection framework
Guice - dependency injection framework
Evgeny Barabanov
 
מכתב המלצה - לירן פרידמן
מכתב המלצה - לירן פרידמןמכתב המלצה - לירן פרידמן
מכתב המלצה - לירן פרידמןLiran Fridman
 
Big table
Big tableBig table
Big table
PSIT
 
CouchDB Map/Reduce
CouchDB Map/ReduceCouchDB Map/Reduce
CouchDB Map/Reduce
Oliver Kurowski
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
maxfontana90
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
omenar
 

Viewers also liked (20)

Big table por Matias tesoriero
Big table por Matias tesorieroBig table por Matias tesoriero
Big table por Matias tesoriero
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
HDFS
HDFSHDFS
HDFS
 
google Bigtable
google Bigtablegoogle Bigtable
google Bigtable
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Summary of "Google's Big Table" at nosql summer reading in Tokyo
Summary of "Google's Big Table" at nosql summer reading in TokyoSummary of "Google's Big Table" at nosql summer reading in Tokyo
Summary of "Google's Big Table" at nosql summer reading in Tokyo
 
Bigtable: A Distributed Storage System for Structured Data
Bigtable: A Distributed Storage System for Structured DataBigtable: A Distributed Storage System for Structured Data
Bigtable: A Distributed Storage System for Structured Data
 
Modelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionalesModelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionales
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
טלפונים חכמים ואתם
טלפונים חכמים ואתםטלפונים חכמים ואתם
טלפונים חכמים ואתם
 
1953 and all that. A tale of two sciences (Kitcher, 1984)
1953 and all that. A tale of two sciences (Kitcher, 1984)1953 and all that. A tale of two sciences (Kitcher, 1984)
1953 and all that. A tale of two sciences (Kitcher, 1984)
 
Guice - dependency injection framework
Guice - dependency injection frameworkGuice - dependency injection framework
Guice - dependency injection framework
 
מכתב המלצה - לירן פרידמן
מכתב המלצה - לירן פרידמןמכתב המלצה - לירן פרידמן
מכתב המלצה - לירן פרידמן
 
Big table
Big tableBig table
Big table
 
CouchDB Map/Reduce
CouchDB Map/ReduceCouchDB Map/Reduce
CouchDB Map/Reduce
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 

Similar to Dynamo and BigTable - Review and Comparison

7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth
Fabio Fumarola
 
Cassandra
CassandraCassandra
Cassandraexsuns
 
L6.sp17.pptx
L6.sp17.pptxL6.sp17.pptx
L6.sp17.pptx
SudheerKumar499932
 
Dynamodb Presentation
Dynamodb PresentationDynamodb Presentation
Dynamodb Presentation
advaitdeo
 
Deep Dive into DynamoDB
Deep Dive into DynamoDBDeep Dive into DynamoDB
Deep Dive into DynamoDB
AWS Germany
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databases
Fabio Fumarola
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using Elasticsearch
Joe Alex
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
Amazon Web Services
 
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag JambhekarC* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
DataStax Academy
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandra
Nguyen Quang
 
2. Lecture2_NOSQL_KeyValue.ppt
2. Lecture2_NOSQL_KeyValue.ppt2. Lecture2_NOSQL_KeyValue.ppt
2. Lecture2_NOSQL_KeyValue.ppt
ShaimaaMohamedGalal
 
Cassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingCassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series Modeling
Vassilis Bekiaris
 
Cassandra training
Cassandra trainingCassandra training
Cassandra training
András Fehér
 
DynamodbDB Deep Dive
DynamodbDB Deep DiveDynamodbDB Deep Dive
DynamodbDB Deep Dive
Amazon Web Services
 
Cassandra tech talk
Cassandra tech talkCassandra tech talk
Cassandra tech talk
Satish Mehta
 
Deep Dive into Cassandra
Deep Dive into CassandraDeep Dive into Cassandra
Deep Dive into Cassandra
Brent Theisen
 
NoSQL databases pros and cons
NoSQL databases pros and consNoSQL databases pros and cons
NoSQL databases pros and cons
Fabio Fumarola
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
Bernd Ocklin
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Hiram Fleitas León
 
ElasticSearch as (only) datastore
ElasticSearch as (only) datastoreElasticSearch as (only) datastore
ElasticSearch as (only) datastore
Tomas Sirny
 

Similar to Dynamo and BigTable - Review and Comparison (20)

7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth
 
Cassandra
CassandraCassandra
Cassandra
 
L6.sp17.pptx
L6.sp17.pptxL6.sp17.pptx
L6.sp17.pptx
 
Dynamodb Presentation
Dynamodb PresentationDynamodb Presentation
Dynamodb Presentation
 
Deep Dive into DynamoDB
Deep Dive into DynamoDBDeep Dive into DynamoDB
Deep Dive into DynamoDB
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databases
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using Elasticsearch
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
 
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag JambhekarC* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandra
 
2. Lecture2_NOSQL_KeyValue.ppt
2. Lecture2_NOSQL_KeyValue.ppt2. Lecture2_NOSQL_KeyValue.ppt
2. Lecture2_NOSQL_KeyValue.ppt
 
Cassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series ModelingCassandra Basics, Counters and Time Series Modeling
Cassandra Basics, Counters and Time Series Modeling
 
Cassandra training
Cassandra trainingCassandra training
Cassandra training
 
DynamodbDB Deep Dive
DynamodbDB Deep DiveDynamodbDB Deep Dive
DynamodbDB Deep Dive
 
Cassandra tech talk
Cassandra tech talkCassandra tech talk
Cassandra tech talk
 
Deep Dive into Cassandra
Deep Dive into CassandraDeep Dive into Cassandra
Deep Dive into Cassandra
 
NoSQL databases pros and cons
NoSQL databases pros and consNoSQL databases pros and cons
NoSQL databases pros and cons
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
 
ElasticSearch as (only) datastore
ElasticSearch as (only) datastoreElasticSearch as (only) datastore
ElasticSearch as (only) datastore
 

Recently uploaded

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
Opendatabay
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
ewymefz
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 

Recently uploaded (20)

Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 

Dynamo and BigTable - Review and Comparison

  • 1. Dynamo and BigTable Review and Comparison IEEEI 2014 Grisha Weintraub
  • 2. Outline • Introduction to NoSQL • Introduction to Dynamo and BigTable • Dynamo vs. BigTable comparison • Open source implementations
  • 3. Introduction to NoSQL • New generation of databases • Response to a “big data” challenge • Main characteristics: – Non-relational – Distributed – Fault tolerant – Scalable
  • 5. Dynamo and BigTable - Introduction Dynamo (Amazon) • Giuseppe DeCandia, et al.: Dynamo: amazon's highly available key-value store. SOSP 2007 BigTable (Google) • Fay Chang, et al.: BigTable: A Distributed Storage System for Structured Data. OSDI 2006 Highly Available Key-value Structured Data
  • 6. Dynamo vs. BigTable BigTableDynamo Architecture Data model API Security Partitioning Replication Storage Membership and failure detection
  • 7. Architecture Dynamo • Decentralized: – Every node has the same set of responsibilities as its peers. – There is no single point of failure. BigTable • Centralized: – Single master node maintains all system metadata. – Other nodes (tablet servers) handle read and write requests. Master
  • 8. Data Model Dynamo • Key-value - data is stored as <key, value> pairs, such that key is a unique identifier and a value is an arbitrary entry. BigTable • Multidimensional sorted map – map is indexed by a row key and a column key, and ordered by a row key. Column keys are grouped into sets called column families. ValueKey { “Name” : ”John”, “Email” : ”john@g.com”, “Card” : ”6652” } 188 { “Name” : ”Bob”, “Phone” : ”781455”, “Card” : ”9875” } 145 Financial DataPersonal DataUser ID Card = “9875”Name = "Bob"Phone = "781455"145 Card = “6652”Name = "John"Email = "john@g.com"188 row key column family column key
  • 9. API Dynamo • get – returns an object associated with the given key. • put – associates the given object with the specified key. BigTable • get – returns values from the individual rows. • scan – iterates over multiple rows. • put – inserts a value to the specified table's cell. • delete – deletes a whole row or a specified cell inside a particular row.
  • 10. Security Dynamo • No security features BigTable • Access control rights are granted at column family level. Financial DataPersonal DataRow Key Card = “9875”Name = "Bob"Phone = "781455"145 Card = “6652”Name = "John"Email = "john@g.com"188 Views Personal Data Views/Updates Personal Data Views/Updates all the Data
  • 11. Partitioning Dynamo • Consistent Hashing: – Each node is assigned to a random position on the ring. – Key is hashed to the fixed point on the ring. – Node is chosen by walking clockwise from the hash location. BigTable • Data is stored ordered by a row key. • Each table consists of a set of tablets. • Each tablet is assigned to exactly one tablet server. • METADATA table stores the location of a tablet under a row key. A B DE F G hash(key) C …..id …..15000 Tablet 1 …..…. …..20000 …..20001 Tablet 2 …..…. …..25000 Tablet-51Tablet-11 Tablet-32Tablet-7 Tablet-16Tablet-8 Tablet-1Tablet-21 Tablet Server 1 Tablet Server 2
  • 12. Replication Dynamo • Each data item is replicated at N nodes (N is a user-defined parameter). • Each key K is assigned to a coordinator node. • Coordinator stores the data associated with K locally, and also replicates it at the N-1 healthy clockwise successor nodes in the ring. BigTable • Each tablet is stored in GFS as a sequence of read-only files called SSTables. • SSTables are divided into fixed-size chunks, and these chunks are stored on chunkservers. • Each chunk in GFS is replicated across multiple chunkservers. N = 3 A B DE F G hash(key) C SSTable3SSTable2SSTable1 Chunk3Chunk2Chunk1 Chunk1 Chunk3 Chunk1 Chunk2 Chunkserver 1 Chunkserver 2 Chunk2 Chunk3 Chunkserver 3
  • 13. Storage Dynamo • Each node in Dynamo has a local persistence engine where data items are stored as binary objects. • Different Dynamo instances may use different persistence engines (e.g. MySql, BDB) • Applications choose the persistence engine based on their object size distribution. BigTable • Data is stored in GFS in SSTable file format. • SSTable is an immutable ordered map, whose keys and values are arbitrary strings. • SSTable supports "get by key" and "get by key range" requests.
  • 14. Membership and Failure detection Dynamo • Gossip-based protocol: – Each node contacts a peer chosen at random every second and the two nodes exchange their membership data (every node maintains a persistent view of the membership). BigTable • Failed tablet servers are identified by regular handshakes between the master and all tablet servers. A B DE F G C Master
  • 15. Dynamo vs. BigTable BigTableDynamo centralizeddecentralizedArchitecture sorted mapkey-valueData model get, put, scan, deleteget, putAPI access controlnoSecurity key range basedconsistent hashingPartitioning chunkservers in GFS successor nodes in the ring Replication SSTables in GFSPlug-inStorage Handshakes initiated by master Gossip-based protocol Membership and failure detection