SlideShare une entreprise Scribd logo
1  sur  20
BIGTABLE READING 
2013.04.02 xielun.szd@alipay.com
OutLine 
 Introduction 
 Data Model 
 API 
 Building Blocks 
 Implementation 
 Refinements 
 Performance Evaluation 
 Real Applications 
 Lessons 
 Related Work 
 Conclusions
OutLine 
 Introduction 
 Data Model 
 API 
 Building Blocks 
 Implementation 
 Refinements 
 Performance Evaluation 
 Real Applications 
 Lessons 
 Related Work 
 Conclusions
Introduction 
 Why Google Need BigTable ? 
 Why BigTable Need LSM ?
Data Model 
 BigTable Is A Sparse Sorted Map 
 Key: <Row, Column Family, Qualifier, Timestamp>
API 
 How to Support Single-Row transaction 
 Atomic Read-modify-write 
 Using API for MapReduce 
 Input source & Output target
Building Blocks 
 GFS 
 SSTable Data File 
 Commit Log (WAL & Redo Log) 
 Chubby 
 Distributed Lock Service 
 Root Tablet Location 
 Tablet server Manager 
 Schema & ACL Metadata 
 Why GFS not use chubby For Master? 
 If Chubby not exist, how to design the bigtable?
Implementations 
 Client 
 How To Protect Lighted Master ? 
 Master 
 Tablet server Manager 
 Tablet Assignment 
 Garbage Collection 
 Schema Change 
 Do We Need Slave Master For Availability? 
 Tablet Server 
 Reader & Writer
Implementations 
 Tablet Locations
Implementations 
 Why select Three-level hierarchy? 
 Why Persistent the location info? 
 Why analogous as B+tree? 
 The Most RPC times during One simple Query?
Implementations 
 Tablet Assignment 
 Consistency Guaranty ? 
 Tablet Server Offline detection Procedure 
 Master Recovery Procedure ? 
 Master Memory != Metadata Table 
 Metadata Table Schema Design?
Implementations 
 Tablet Serving 
 Read & Write & Recovery Procedure
Implementations 
 Compactions 
 Three Type Compactions Differences 
 If client Write 1GB data, How much data in GFS?
Refinements 
 How To Reduce IO? 
 Column Store 
 Compression 
 Block Size 
 Caching 
 Caching Consistency 
 Bloom Filter 
 Why Must Using Bloom Filter For LSM? 
 Group Commit 
 Prons Vs Cons
Refinements 
 Log 
 GFS exist duplicated record? 
 What Happened when Tablet Server Crashes? 
 Tablet Recovery 
 Tablet Migrate 
 Compare with Tair & OB 
 Tablet Split 
 Tablet Merge 
 How can do this online?
Performance 
 Compare With Single Server Performance 
 Low Latency Vs High Through output 
 Why Performance/Server Decrease?
Performance 
 Scalability
Lessons 
 Vulnerable to many types of failure 
 RPC crc checksum 
 Removing assumption 
 Say No to adding new features 
 System-level Monitoring 
 Simple Design
Related Work 
 CAP in BigTable? 
 Sharing Nothing or Sharing Disk or Sharing 
Memory? 
 CStore or BigTable or OceanBase
Assignment 
 ALL Questions Above 
 CStore, Bloom Filter 
 Chubby, Megastore 
 Dynamo 
 Cassandra 
 Riak 
 Volmort 
 Redis cluster 
 Thanks & QA

Contenu connexe

Tendances

MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB
 
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_ComputingIntroduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_ComputingYanpingWang
 
Redis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Labs
 
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...In-Memory Computing Summit
 
Inside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentInside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentMariaDB plc
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceScott Mansfield
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Fwdays
 
In-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common PatternsIn-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common PatternsSrinath Perera
 
Voldemort on Solid State Drives
Voldemort on Solid State DrivesVoldemort on Solid State Drives
Voldemort on Solid State DrivesVinoth Chandar
 
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...In-Memory Computing Summit
 
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedPGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedEqunix Business Solutions
 
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya KosmodemianskyPostgreSQL-Consulting
 
Webinar: Introduction to MongoDB 3.0
Webinar: Introduction to MongoDB 3.0Webinar: Introduction to MongoDB 3.0
Webinar: Introduction to MongoDB 3.0MongoDB
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike, Inc.
 
Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory HBaseCon
 
2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-queryAshnikbiz
 
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeHBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeMichael Stack
 
hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践HBaseCon
 
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree Ashnikbiz
 

Tendances (20)

Rit 2011 ats
Rit 2011 atsRit 2011 ats
Rit 2011 ats
 
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
 
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_ComputingIntroduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
 
Redis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs Talks
 
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
 
Inside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentInside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at Tencent
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden Microservice
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"
 
In-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common PatternsIn-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common Patterns
 
Voldemort on Solid State Drives
Voldemort on Solid State DrivesVoldemort on Solid State Drives
Voldemort on Solid State Drives
 
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
 
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedPGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
 
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version FOSDEM PGDay 2017 by Ilya Kosmodemiansky
 
Webinar: Introduction to MongoDB 3.0
Webinar: Introduction to MongoDB 3.0Webinar: Introduction to MongoDB 3.0
Webinar: Introduction to MongoDB 3.0
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
 
Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory
 
2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query2016 may-countdown-to-postgres-v96-parallel-query
2016 may-countdown-to-postgres-v96-parallel-query
 
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC timeHBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
 
hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践
 
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
 

En vedette

高可用性系统设计与实现
高可用性系统设计与实现高可用性系统设计与实现
高可用性系统设计与实现everestsun
 
高可用性系统设计与实现
高可用性系统设计与实现高可用性系统设计与实现
高可用性系统设计与实现everestsun
 
OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题everestsun
 
Ocean base 破解数据库高可用难题
Ocean base 破解数据库高可用难题Ocean base 破解数据库高可用难题
Ocean base 破解数据库高可用难题everestsun
 
百度消息队列设计和实现总结
百度消息队列设计和实现总结百度消息队列设计和实现总结
百度消息队列设计和实现总结everestsun
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discusseverestsun
 
Leveldb background
Leveldb backgroundLeveldb background
Leveldb background宗志 陈
 
涨客资,用推策 推策产品介绍
涨客资,用推策 推策产品介绍涨客资,用推策 推策产品介绍
涨客资,用推策 推策产品介绍Baidu
 
The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1Hassy Veldstra
 
Baidu
BaiduBaidu
BaiduNanor
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...DataStax
 

En vedette (16)

高可用性系统设计与实现
高可用性系统设计与实现高可用性系统设计与实现
高可用性系统设计与实现
 
高可用性系统设计与实现
高可用性系统设计与实现高可用性系统设计与实现
高可用性系统设计与实现
 
OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题OceanBase-破解数据库高可用难题
OceanBase-破解数据库高可用难题
 
Ocean base 破解数据库高可用难题
Ocean base 破解数据库高可用难题Ocean base 破解数据库高可用难题
Ocean base 破解数据库高可用难题
 
百度消息队列设计和实现总结
百度消息队列设计和实现总结百度消息队列设计和实现总结
百度消息队列设计和实现总结
 
Leveled compaction
Leveled compactionLeveled compaction
Leveled compaction
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discuss
 
Level db
Level dbLevel db
Level db
 
Leveldb background
Leveldb backgroundLeveldb background
Leveldb background
 
涨客资,用推策 推策产品介绍
涨客资,用推策 推策产品介绍涨客资,用推策 推策产品介绍
涨客资,用推策 推策产品介绍
 
Bigtable
BigtableBigtable
Bigtable
 
The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1The Anatomy Of The Google Architecture Fina Lv1.1
The Anatomy Of The Google Architecture Fina Lv1.1
 
Baidu
BaiduBaidu
Baidu
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
 
GOOGLE BIGTABLE
GOOGLE BIGTABLEGOOGLE BIGTABLE
GOOGLE BIGTABLE
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 

Similaire à BigTable PreReading

Enterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQLEnterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQLHimanchali -
 
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformThe Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformAlluxio, Inc.
 
AnalysisServices
AnalysisServicesAnalysisServices
AnalysisServiceswebuploader
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
 
Datastage Online Training @ Adithya Elearning
Datastage Online Training @ Adithya ElearningDatastage Online Training @ Adithya Elearning
Datastage Online Training @ Adithya Elearningshanmukha rao dondapati
 
Analysis Services Best Practices From Large Deployments
Analysis Services   Best Practices From Large DeploymentsAnalysis Services   Best Practices From Large Deployments
Analysis Services Best Practices From Large Deploymentsrsnarayanan
 
Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Amazon Web Services
 
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS SummitAmazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS SummitAmazon Web Services
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsJoel Oleson
 
ChakraCore - JSConf Last Call
ChakraCore - JSConf Last CallChakraCore - JSConf Last Call
ChakraCore - JSConf Last CallGaurav Seth
 
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018Amazon Web Services
 
SRV407 Deep Dive on Amazon Aurora
SRV407 Deep Dive on Amazon AuroraSRV407 Deep Dive on Amazon Aurora
SRV407 Deep Dive on Amazon AuroraAmazon Web Services
 
Performance tuning intro
Performance tuning introPerformance tuning intro
Performance tuning introaioughydchapter
 
Gavin M
Gavin MGavin M
Gavin MOntico
 

Similaire à BigTable PreReading (20)

Enterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQLEnterprise grade deployment and security with PostgreSQL
Enterprise grade deployment and security with PostgreSQL
 
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data PlatformThe Practice of Presto & Alluxio in E-Commerce Big Data Platform
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
 
AnalysisServices
AnalysisServicesAnalysisServices
AnalysisServices
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
Datastage Online Training @ Adithya Elearning
Datastage Online Training @ Adithya ElearningDatastage Online Training @ Adithya Elearning
Datastage Online Training @ Adithya Elearning
 
Analysis Services Best Practices From Large Deployments
Analysis Services   Best Practices From Large DeploymentsAnalysis Services   Best Practices From Large Deployments
Analysis Services Best Practices From Large Deployments
 
Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”
 
11g R2
11g R211g R2
11g R2
 
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS SummitAmazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
 
Large Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint DeploymentsLarge Scale SQL Considerations for SharePoint Deployments
Large Scale SQL Considerations for SharePoint Deployments
 
ChakraCore - JSConf Last Call
ChakraCore - JSConf Last CallChakraCore - JSConf Last Call
ChakraCore - JSConf Last Call
 
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018
Build on Amazon Aurora with MySQL Compatibility (DAT348-R4) - AWS re:Invent 2018
 
SRV407 Deep Dive on Amazon Aurora
SRV407 Deep Dive on Amazon AuroraSRV407 Deep Dive on Amazon Aurora
SRV407 Deep Dive on Amazon Aurora
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Performance Tuning intro
Performance Tuning introPerformance Tuning intro
Performance Tuning intro
 
Performance tuning intro
Performance tuning introPerformance tuning intro
Performance tuning intro
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Percona Lucid Db
Percona Lucid DbPercona Lucid Db
Percona Lucid Db
 
PostgreSQL
PostgreSQL PostgreSQL
PostgreSQL
 
Gavin M
Gavin MGavin M
Gavin M
 

BigTable PreReading

  • 1. BIGTABLE READING 2013.04.02 xielun.szd@alipay.com
  • 2. OutLine  Introduction  Data Model  API  Building Blocks  Implementation  Refinements  Performance Evaluation  Real Applications  Lessons  Related Work  Conclusions
  • 3. OutLine  Introduction  Data Model  API  Building Blocks  Implementation  Refinements  Performance Evaluation  Real Applications  Lessons  Related Work  Conclusions
  • 4. Introduction  Why Google Need BigTable ?  Why BigTable Need LSM ?
  • 5. Data Model  BigTable Is A Sparse Sorted Map  Key: <Row, Column Family, Qualifier, Timestamp>
  • 6. API  How to Support Single-Row transaction  Atomic Read-modify-write  Using API for MapReduce  Input source & Output target
  • 7. Building Blocks  GFS  SSTable Data File  Commit Log (WAL & Redo Log)  Chubby  Distributed Lock Service  Root Tablet Location  Tablet server Manager  Schema & ACL Metadata  Why GFS not use chubby For Master?  If Chubby not exist, how to design the bigtable?
  • 8. Implementations  Client  How To Protect Lighted Master ?  Master  Tablet server Manager  Tablet Assignment  Garbage Collection  Schema Change  Do We Need Slave Master For Availability?  Tablet Server  Reader & Writer
  • 10. Implementations  Why select Three-level hierarchy?  Why Persistent the location info?  Why analogous as B+tree?  The Most RPC times during One simple Query?
  • 11. Implementations  Tablet Assignment  Consistency Guaranty ?  Tablet Server Offline detection Procedure  Master Recovery Procedure ?  Master Memory != Metadata Table  Metadata Table Schema Design?
  • 12. Implementations  Tablet Serving  Read & Write & Recovery Procedure
  • 13. Implementations  Compactions  Three Type Compactions Differences  If client Write 1GB data, How much data in GFS?
  • 14. Refinements  How To Reduce IO?  Column Store  Compression  Block Size  Caching  Caching Consistency  Bloom Filter  Why Must Using Bloom Filter For LSM?  Group Commit  Prons Vs Cons
  • 15. Refinements  Log  GFS exist duplicated record?  What Happened when Tablet Server Crashes?  Tablet Recovery  Tablet Migrate  Compare with Tair & OB  Tablet Split  Tablet Merge  How can do this online?
  • 16. Performance  Compare With Single Server Performance  Low Latency Vs High Through output  Why Performance/Server Decrease?
  • 18. Lessons  Vulnerable to many types of failure  RPC crc checksum  Removing assumption  Say No to adding new features  System-level Monitoring  Simple Design
  • 19. Related Work  CAP in BigTable?  Sharing Nothing or Sharing Disk or Sharing Memory?  CStore or BigTable or OceanBase
  • 20. Assignment  ALL Questions Above  CStore, Bloom Filter  Chubby, Megastore  Dynamo  Cassandra  Riak  Volmort  Redis cluster  Thanks & QA