SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Bigtable: A Distributed Storage System for Structured DataChang, et al., 2006. Gemini Mobile Technologies, Inc. NOSQL Tokyo Reading Group (http://nosqlsummer.org/city/tokyo) July 22, 2010 2010/7/23 Gemini Mobile Technologies, Inc. 1
Bigtable: A Distributed Storage System for Structured Data Authors: Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber Fay Abstract:  Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this paper we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable. Appeared in: OSDI'06: Seventh Symposium on Operating System Design and Implementation, Seattle, WA, November, 2006. http://labs.google.com/papers/bigtable.html 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 2
1. Introduction “Big Table” is a distributed storage system for managing structured data. Scales to “Petabytes of data and thousands of machines”. Developed and in use at Google since 2005.  Used for more than 60 Google products. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 3
2. Data Model (row, column, time)  => string Row, column, value are arbitrary strings. Every read or write of data under a single row key is atomic (regardless of the number of different columns being read or written in the row). Columns are dynamically added. Timestamps for different versions of data.   Assigned by client application. Older versions are garbage-collected. Example: Web map 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 4
2.1 Tablets Rows are sorted lexicographically. Consecutive keys are grouped together as “tablets”. Allows data locality.   Example rows: com.google.maps/index.html and com.google.maps/foo.html are likely to be in same tablet.   2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 5
2.2 Column Families Column keys are grouped into sets called “column families”. Column key is named using syntax: family:qualifier Access control and disk/memory accounting are at column family level Example: “anchor:cnnsi.com” 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 6
3. API Data Design Creating/deleting tables and column families Changing cluster, table and column family metadata like access control rights Client Interactions Write/Delete values Read values Scan row ranges Single-row transactions (e.g., read/modify/write sequence for data under a row key) Map/Reduce integration.   Read from Big Table; Write to Big Table. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 7
4. Building Blocks SSTable file: Data structure for storage Maps keys to values Ordered.  Enables data locality for efficient writes/reads. Immutable.  On reads, no concurrency control needed.  Need to garbage collect deleted data. Stored in Google File System (GFS), and optionally can be mapped into memory. Replicates data for redundancy. Chubby: Distributed lock service. Store the root tablet, schema info, access control list Synchronize and detect tablet servers 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 8
5. Implementation 3 components: Client library Master Server (exactly 1).   Assigns tablets to tablet servers. Detecting the addition and expiration of tablet servers. Balancing tablet-server load Garbage collection of GFS files Schema changes such as table and column family creations. Tablet Servers (multiple, dynamically added/removed) Handles read and write requests to the tablets that it has loaded Splits tablets that have grown too large.  Each tablet 100-200 MB. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 9
5.1 Tablet Location How to know which node to route client request? 3-level hierarchy One file in Chubby for location of Root Tablet Root tablet contains location of Metadata tablets Metadata table contains location of user tablets Row: [Tablet’s Table ID] + [End Row] Key: [Node ID] Client library caches tablet locations. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 10
Tablet Assignment Master keeps track of tablet assignment and live servers Chubby Tablet server creates & locks a unique file. Tablet server stops serving if loses lock. Master periodically checks tablet servers. If fails, master tries to lock the file and un-assigns the tablet. Master failure does not change tablets assignments. Master restart 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 11
5.3 Tablet Serving Write Check well-formedness of request. Check authorization in Chubby file. Write to “tablet log” (i.e., a transaction log for “redo” in case of failure). Write to memtable (RAM). Separately, “compaction” moves memtable data to SSTable.  And truncates tablet log. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 12 Read Check well-formedness of request. Check authorization in Chubby file. Merge memtable and SSTables to find data. Return data.
5.4 Compaction In order to control size of memtable, tablet log, and SSTable files, “compaction” is used. MinorCompaction.  Move data from memtable to SSTable.  Truncate tablet log. Merging Compaction.  Merge multiple SSTables and memtable to a single SSTable. Major Compaction.  Remove deleted data. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 13
6. Refinements “Locality group”.   Client can group multiple column families into a locality group.  Enables more efficient reads since each locality group is a separate SSTable. Compression.   Client can choose to compress at locality group level. Two level caching in servers Scan cache ( K/V pairs) Block cache (SSTable blocks read from GFS) Bloom filter Efficient check if a SSTable contain data for a row/column pair. Commit log implementation Each tablet server has a single commit log (not one-per-tablet). 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 14
7. Performance Evaluation Random reads are slowest.  Need to access SSTable block from disk. Writes are faster than reads.  Commit log is append-only.  Reads require merging of SSTables and memtable. Scans reduce number of read operations. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 15
7. Performance Evaluation: Scaling Not linear, but not bad up to 250 tablet servers. Random read has worst scaling.  Block transfers saturate network. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 16
8. Conclusions Satisfies goals of high-availability, high-performance, massively scalable data storage. API.  Successfully used by various Google products (>60). Additional features in progress: Secondary indexes Cross data center replication. Deploy as a hosted service. Advantages of the custom development: Significant flexibility due to own data model. Can remove bottlenecks and inefficiencies as they arise. 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 17
Big Table Family Tree 2010/7/23 Gemini Mobile Technologies, Inc.  All rights reserved. 18 Non-relational DBs (HBase, Cassandra, MongoDB, etc.) Column-oriented data model. Multi-level storage (commit log, RAM table, SSTable) Tablet management (assignment, splitting, recovery, GC, Bloom filters) Google related technologies and open-source equivalents GFS => Hadoop Distributed File System (HDFS) Chubby => Zookeeper Map/Reduce => Apache Map/Reduce

Weitere ähnliche Inhalte

Was ist angesagt?

Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 Improving Apache Spark by Taking Advantage of Disaggregated Architecture Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated ArchitectureDatabricks
 
GlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataGlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataRoberto Franchini
 
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersHBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersCloudera, Inc.
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudNoritaka Sekiyama
 
Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Cloudera, Inc.
 
Deadlock in OS
Deadlock in OSDeadlock in OS
Deadlock in OSKioRox
 
Google File System
Google File SystemGoogle File System
Google File Systemnadikari123
 
Operating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatzOperating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatzGiulianoRanauro
 
Operating system support in distributed system
Operating system support in distributed systemOperating system support in distributed system
Operating system support in distributed systemishapadhy
 
Spark Performance Tuning .pdf
Spark Performance Tuning .pdfSpark Performance Tuning .pdf
Spark Performance Tuning .pdfAmit Raj
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory SystemsArush Nagpal
 
google file system
google file systemgoogle file system
google file systemdiptipan
 
Introduction to pig & pig latin
Introduction to pig & pig latinIntroduction to pig & pig latin
Introduction to pig & pig latinknowbigdata
 

Was ist angesagt? (20)

Google Big Table
Google Big TableGoogle Big Table
Google Big Table
 
Google file system
Google file systemGoogle file system
Google file system
 
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 Improving Apache Spark by Taking Advantage of Disaggregated Architecture Improving Apache Spark by Taking Advantage of Disaggregated Architecture
Improving Apache Spark by Taking Advantage of Disaggregated Architecture
 
MapReduce
MapReduceMapReduce
MapReduce
 
GlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataGlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big data
 
Aws Elastic Block Storage
Aws Elastic Block StorageAws Elastic Block Storage
Aws Elastic Block Storage
 
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation BuffersHBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
HBase HUG Presentation: Avoiding Full GCs with MemStore-Local Allocation Buffers
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
 
Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive

Apache Kudu: Technical Deep Dive


Apache Kudu: Technical Deep Dive


 
Deadlock in OS
Deadlock in OSDeadlock in OS
Deadlock in OS
 
Google BigTable
Google BigTableGoogle BigTable
Google BigTable
 
Google File System
Google File SystemGoogle File System
Google File System
 
Operating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatzOperating Systems Chapter 6 silberschatz
Operating Systems Chapter 6 silberschatz
 
Operating system support in distributed system
Operating system support in distributed systemOperating system support in distributed system
Operating system support in distributed system
 
Memory management
Memory managementMemory management
Memory management
 
Google File System
Google File SystemGoogle File System
Google File System
 
Spark Performance Tuning .pdf
Spark Performance Tuning .pdfSpark Performance Tuning .pdf
Spark Performance Tuning .pdf
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory Systems
 
google file system
google file systemgoogle file system
google file system
 
Introduction to pig & pig latin
Introduction to pig & pig latinIntroduction to pig & pig latin
Introduction to pig & pig latin
 

Andere mochten auch

Bigtable
BigtableBigtable
Bigtablenextlib
 
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
 
Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonGrisha Weintraub
 
Big table
Big tableBig table
Big tablePSIT
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremGrisha Weintraub
 
20110126 azure table in mono meeting
20110126 azure table in mono meeting20110126 azure table in mono meeting
20110126 azure table in mono meetingTakekazu Omi
 
Distributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring RiakDistributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring Riaksamof76
 
Riak Training Session — Surge 2011
Riak Training Session — Surge 2011Riak Training Session — Surge 2011
Riak Training Session — Surge 2011DstroyAllModels
 
Introduction to Riak - Red Dirt Ruby Conf Training
Introduction to Riak - Red Dirt Ruby Conf TrainingIntroduction to Riak - Red Dirt Ruby Conf Training
Introduction to Riak - Red Dirt Ruby Conf TrainingSean Cribbs
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentationvanjakom
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)Sri Prasanna
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkEmilio Torrens
 

Andere mochten auch (20)

google Bigtable
google Bigtablegoogle Bigtable
google Bigtable
 
Bigtable
BigtableBigtable
Bigtable
 
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
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and Comparison
 
Big table
Big tableBig table
Big table
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
20110126 azure table in mono meeting
20110126 azure table in mono meeting20110126 azure table in mono meeting
20110126 azure table in mono meeting
 
Windows azure table storage – deep dive
Windows azure table storage – deep diveWindows azure table storage – deep dive
Windows azure table storage – deep dive
 
Windows Azure Storage
Windows Azure StorageWindows Azure Storage
Windows Azure Storage
 
Distributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring RiakDistributed Key-Value Stores- Featuring Riak
Distributed Key-Value Stores- Featuring Riak
 
Microsoft Azure Storage - Table (NoSQL)
Microsoft Azure Storage - Table (NoSQL)Microsoft Azure Storage - Table (NoSQL)
Microsoft Azure Storage - Table (NoSQL)
 
Riak Training Session — Surge 2011
Riak Training Session — Surge 2011Riak Training Session — Surge 2011
Riak Training Session — Surge 2011
 
Introduction to Riak - Red Dirt Ruby Conf Training
Introduction to Riak - Red Dirt Ruby Conf TrainingIntroduction to Riak - Red Dirt Ruby Conf Training
Introduction to Riak - Red Dirt Ruby Conf Training
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation Framework
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
HDFS
HDFSHDFS
HDFS
 
The google MapReduce
The google MapReduceThe google MapReduce
The google MapReduce
 

Ähnlich wie Summary of "Google's Big Table" at nosql summer reading in Tokyo

Google File System
Google File SystemGoogle File System
Google File Systemvivatechijri
 
Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable영원 서
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptxShimoFcis
 
Summary of "Cassandra" for 3rd nosql summer reading in Tokyo
Summary of "Cassandra" for 3rd nosql summer reading in TokyoSummary of "Cassandra" for 3rd nosql summer reading in Tokyo
Summary of "Cassandra" for 3rd nosql summer reading in TokyoCLOUDIAN KK
 
60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.pptpadalamail
 
MongoDB Sharding
MongoDB ShardingMongoDB Sharding
MongoDB Shardinguzzal basak
 
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...IOSR Journals
 
Big Data Glossary of terms
Big Data Glossary of termsBig Data Glossary of terms
Big Data Glossary of termsKognitio
 
Distributed parallel architecture for big data
Distributed parallel architecture for big dataDistributed parallel architecture for big data
Distributed parallel architecture for big datakamicool13
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overviewKHANSAFEE
 
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandWhy is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandINFINIDAT
 

Ähnlich wie Summary of "Google's Big Table" at nosql summer reading in Tokyo (20)

Google File System
Google File SystemGoogle File System
Google File System
 
191
191191
191
 
Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
 
Bigtable
Bigtable Bigtable
Bigtable
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptx
 
Summary of "Cassandra" for 3rd nosql summer reading in Tokyo
Summary of "Cassandra" for 3rd nosql summer reading in TokyoSummary of "Cassandra" for 3rd nosql summer reading in Tokyo
Summary of "Cassandra" for 3rd nosql summer reading in Tokyo
 
Gfs sosp2003
Gfs sosp2003Gfs sosp2003
Gfs sosp2003
 
Gfs
GfsGfs
Gfs
 
60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt60141457-Oracle-Golden-Gate-Presentation.ppt
60141457-Oracle-Golden-Gate-Presentation.ppt
 
Bigtable_Paper
Bigtable_PaperBigtable_Paper
Bigtable_Paper
 
MongoDB Sharding
MongoDB ShardingMongoDB Sharding
MongoDB Sharding
 
H017144148
H017144148H017144148
H017144148
 
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
Comparative Analysis, Security Aspects & Optimization of Workload in Gfs Base...
 
Big Data Glossary of terms
Big Data Glossary of termsBig Data Glossary of terms
Big Data Glossary of terms
 
Distributed parallel architecture for big data
Distributed parallel architecture for big dataDistributed parallel architecture for big data
Distributed parallel architecture for big data
 
Lalit
LalitLalit
Lalit
 
Google file system
Google file systemGoogle file system
Google file system
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overview
 
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandWhy is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
 

Mehr von CLOUDIAN KK

CLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージCLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージCLOUDIAN KK
 
クラウディアンのご紹介
クラウディアンのご紹介クラウディアンのご紹介
クラウディアンのご紹介CLOUDIAN KK
 
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革CLOUDIAN KK
 
CLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in TokyoCLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in TokyoCLOUDIAN KK
 
S3 API接続検証プログラムのご紹介
S3 API接続検証プログラムのご紹介S3 API接続検証プログラムのご紹介
S3 API接続検証プログラムのご紹介CLOUDIAN KK
 
Auto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStoreAuto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStoreCLOUDIAN KK
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreCLOUDIAN KK
 
AWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreAWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreCLOUDIAN KK
 
ZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStoreZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStoreCLOUDIAN KK
 
FOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStoreFOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStoreCLOUDIAN KK
 
ARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStoreARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStoreCLOUDIAN KK
 
Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016CLOUDIAN KK
 
ITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステムITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステムCLOUDIAN KK
 
【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメ【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメCLOUDIAN KK
 
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較CLOUDIAN KK
 
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化CLOUDIAN KK
 
【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装CLOUDIAN KK
 
【CLOUDIAN】自動階層化による現有ストレージ活用術
【CLOUDIAN】自動階層化による現有ストレージ活用術【CLOUDIAN】自動階層化による現有ストレージ活用術
【CLOUDIAN】自動階層化による現有ストレージ活用術CLOUDIAN KK
 
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現CLOUDIAN KK
 
【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介CLOUDIAN KK
 

Mehr von CLOUDIAN KK (20)

CLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージCLOUDIAN HYPERSTORE - 風林火山ストレージ
CLOUDIAN HYPERSTORE - 風林火山ストレージ
 
クラウディアンのご紹介
クラウディアンのご紹介クラウディアンのご紹介
クラウディアンのご紹介
 
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
IoT/ビッグデータ/AI連携により次世代ストレージが促進するビジネス変革
 
CLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in TokyoCLOUDIAN Presentation at VERITAS VISION in Tokyo
CLOUDIAN Presentation at VERITAS VISION in Tokyo
 
S3 API接続検証プログラムのご紹介
S3 API接続検証プログラムのご紹介S3 API接続検証プログラムのご紹介
S3 API接続検証プログラムのご紹介
 
Auto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStoreAuto tiering and Versioning of CLOUDIAN HyperStore
Auto tiering and Versioning of CLOUDIAN HyperStore
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
AWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreAWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStore
 
ZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStoreZiDOMA data and CLOUDIAN HyperStore
ZiDOMA data and CLOUDIAN HyperStore
 
FOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStoreFOBAS CSC and CLOUDIAN HyperStore
FOBAS CSC and CLOUDIAN HyperStore
 
ARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStoreARCserve backup and CLOUDIAN HyperStore
ARCserve backup and CLOUDIAN HyperStore
 
Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016Cloudian presentation at idc japan sv2016
Cloudian presentation at idc japan sv2016
 
ITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステムITコアを刷新するハイブリッドクラウド型ITシステム
ITコアを刷新するハイブリッドクラウド型ITシステム
 
【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメ【FOBAS】Data is money. ストレージ分散投資のススメ
【FOBAS】Data is money. ストレージ分散投資のススメ
 
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
【ARI】ストレージのコスト・利便性・非機能要求項目を徹底比較
 
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
【SIS】オブジェクトストレージを活用した増え続ける長期保管データの運用の効率化
 
【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装【CLOUDIAN】コード化されたインフラの実装
【CLOUDIAN】コード化されたインフラの実装
 
【CLOUDIAN】自動階層化による現有ストレージ活用術
【CLOUDIAN】自動階層化による現有ストレージ活用術【CLOUDIAN】自動階層化による現有ストレージ活用術
【CLOUDIAN】自動階層化による現有ストレージ活用術
 
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
【CLOUDIAN】秒間隔RPO(目標復旧時点)の実現
 
【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介【Cloudian】FIT2015における会社製品紹介
【Cloudian】FIT2015における会社製品紹介
 

Kürzlich hochgeladen

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
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
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
 
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
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 

Kürzlich hochgeladen (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
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
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...
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 

Summary of "Google's Big Table" at nosql summer reading in Tokyo

  • 1. Bigtable: A Distributed Storage System for Structured DataChang, et al., 2006. Gemini Mobile Technologies, Inc. NOSQL Tokyo Reading Group (http://nosqlsummer.org/city/tokyo) July 22, 2010 2010/7/23 Gemini Mobile Technologies, Inc. 1
  • 2. Bigtable: A Distributed Storage System for Structured Data Authors: Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber Fay Abstract: Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this paper we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable. Appeared in: OSDI'06: Seventh Symposium on Operating System Design and Implementation, Seattle, WA, November, 2006. http://labs.google.com/papers/bigtable.html 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 2
  • 3. 1. Introduction “Big Table” is a distributed storage system for managing structured data. Scales to “Petabytes of data and thousands of machines”. Developed and in use at Google since 2005. Used for more than 60 Google products. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 3
  • 4. 2. Data Model (row, column, time) => string Row, column, value are arbitrary strings. Every read or write of data under a single row key is atomic (regardless of the number of different columns being read or written in the row). Columns are dynamically added. Timestamps for different versions of data. Assigned by client application. Older versions are garbage-collected. Example: Web map 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 4
  • 5. 2.1 Tablets Rows are sorted lexicographically. Consecutive keys are grouped together as “tablets”. Allows data locality. Example rows: com.google.maps/index.html and com.google.maps/foo.html are likely to be in same tablet. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 5
  • 6. 2.2 Column Families Column keys are grouped into sets called “column families”. Column key is named using syntax: family:qualifier Access control and disk/memory accounting are at column family level Example: “anchor:cnnsi.com” 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 6
  • 7. 3. API Data Design Creating/deleting tables and column families Changing cluster, table and column family metadata like access control rights Client Interactions Write/Delete values Read values Scan row ranges Single-row transactions (e.g., read/modify/write sequence for data under a row key) Map/Reduce integration. Read from Big Table; Write to Big Table. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 7
  • 8. 4. Building Blocks SSTable file: Data structure for storage Maps keys to values Ordered. Enables data locality for efficient writes/reads. Immutable. On reads, no concurrency control needed. Need to garbage collect deleted data. Stored in Google File System (GFS), and optionally can be mapped into memory. Replicates data for redundancy. Chubby: Distributed lock service. Store the root tablet, schema info, access control list Synchronize and detect tablet servers 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 8
  • 9. 5. Implementation 3 components: Client library Master Server (exactly 1). Assigns tablets to tablet servers. Detecting the addition and expiration of tablet servers. Balancing tablet-server load Garbage collection of GFS files Schema changes such as table and column family creations. Tablet Servers (multiple, dynamically added/removed) Handles read and write requests to the tablets that it has loaded Splits tablets that have grown too large. Each tablet 100-200 MB. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 9
  • 10. 5.1 Tablet Location How to know which node to route client request? 3-level hierarchy One file in Chubby for location of Root Tablet Root tablet contains location of Metadata tablets Metadata table contains location of user tablets Row: [Tablet’s Table ID] + [End Row] Key: [Node ID] Client library caches tablet locations. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 10
  • 11. Tablet Assignment Master keeps track of tablet assignment and live servers Chubby Tablet server creates & locks a unique file. Tablet server stops serving if loses lock. Master periodically checks tablet servers. If fails, master tries to lock the file and un-assigns the tablet. Master failure does not change tablets assignments. Master restart 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 11
  • 12. 5.3 Tablet Serving Write Check well-formedness of request. Check authorization in Chubby file. Write to “tablet log” (i.e., a transaction log for “redo” in case of failure). Write to memtable (RAM). Separately, “compaction” moves memtable data to SSTable. And truncates tablet log. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 12 Read Check well-formedness of request. Check authorization in Chubby file. Merge memtable and SSTables to find data. Return data.
  • 13. 5.4 Compaction In order to control size of memtable, tablet log, and SSTable files, “compaction” is used. MinorCompaction. Move data from memtable to SSTable. Truncate tablet log. Merging Compaction. Merge multiple SSTables and memtable to a single SSTable. Major Compaction. Remove deleted data. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 13
  • 14. 6. Refinements “Locality group”. Client can group multiple column families into a locality group. Enables more efficient reads since each locality group is a separate SSTable. Compression. Client can choose to compress at locality group level. Two level caching in servers Scan cache ( K/V pairs) Block cache (SSTable blocks read from GFS) Bloom filter Efficient check if a SSTable contain data for a row/column pair. Commit log implementation Each tablet server has a single commit log (not one-per-tablet). 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 14
  • 15. 7. Performance Evaluation Random reads are slowest. Need to access SSTable block from disk. Writes are faster than reads. Commit log is append-only. Reads require merging of SSTables and memtable. Scans reduce number of read operations. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 15
  • 16. 7. Performance Evaluation: Scaling Not linear, but not bad up to 250 tablet servers. Random read has worst scaling. Block transfers saturate network. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 16
  • 17. 8. Conclusions Satisfies goals of high-availability, high-performance, massively scalable data storage. API. Successfully used by various Google products (>60). Additional features in progress: Secondary indexes Cross data center replication. Deploy as a hosted service. Advantages of the custom development: Significant flexibility due to own data model. Can remove bottlenecks and inefficiencies as they arise. 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 17
  • 18. Big Table Family Tree 2010/7/23 Gemini Mobile Technologies, Inc. All rights reserved. 18 Non-relational DBs (HBase, Cassandra, MongoDB, etc.) Column-oriented data model. Multi-level storage (commit log, RAM table, SSTable) Tablet management (assignment, splitting, recovery, GC, Bloom filters) Google related technologies and open-source equivalents GFS => Hadoop Distributed File System (HDFS) Chubby => Zookeeper Map/Reduce => Apache Map/Reduce