SlideShare a Scribd company logo
Tomcy Thankachan
   Introduction
   Data model
   Building Blocks
   Implementation
   Refinements
   Performance Evaluation
   Real applications
   Conclusion
   Scale is too large for most commercial Databases

   Cost would be very high

   Low-level storage optimizations help performance significantly

   Hard to map semi-structured data to relational database

   Non-uniform fields makes it difficult to insert/query data
   BigTable is a distributed storage system for managing structured data

   Bigtable does not support a full relational data model

   Scalable

   Self managing
   Used by more than 60 Google products
     Google Analytics
     Google Finance
     Personalized Search
     Google Documents
     Google Earth
     Google Fusion Tables
     …


   Used for variety of demanding workloads
     Throughput oriented batch processing
     Latency sensitive data serving
   Goals

       Wide applicability
       Scalability
       High performance
       High availability

   Simple data model that supports dynamic control over data layout and
    format
   A Bigtable is a sparse, distributed, persistent multidimensional sorted
    map.
   The map is indexed by a row key, column key, and a timestamp.
     (row:string, column:string, time:int64) → string

        Webtable
   The row keys in a table are arbitrary strings.
   Data is maintained in lexicographic order by row key
   Each row range is called a tablet, which is the unit of distribution
    and load balancing.




                 row
   Column keys are grouped into sets called column families.
   Data stored in a column family is usually of the same type
   A column key is named using the syntax: family : qualifier.
   Column family names must be printable , but qualifiers may be arbitrary
    strings.

                          columns
 Each cell in a Bigtable can contain multiple versions of the same data
 Versions are indexed by 64-bit integer timestamps
 Timestamps can be assigned:
       ▪ automatically by Bigtable , or
       ▪ explicitly by client applications




                                             timestamp
   The Bigtable API provides functions :

         Creating and deleting tables and column families.
         Changing cluster , table and column family metadata.
          Support for single row transactions
          Allows cells to be used as integer counters
          Client supplied scripts can be executed in the address space of
        servers
   Bigtable is built on several other pieces of Google
infrastructure.
 Google File system(GFS)
 SSTable : Data structure for storage




                          Index(block ranges)


                64K         64K                 64K
                                        ……….    block
                block       block


   Chubby: Distributed lock service.
   Three major components
     Library linked into every client
     Single master server
      ▪ Assigning tablets to tablet servers
      ▪ Detecting addition and expiration of tablet servers
      ▪ Balancing tablet-server load
      ▪ Garbage collection files in GFS
     Many tablet servers
      ▪ Manages a set of tablets
      ▪ Tablet servers handle read and write requests to its table
      ▪ Splits tablets that have grown too large
▪ Clients communicates directly with tablet servers for
    read/write

    Each table consists of a set of tablets
      Initially, each table have just one tablet
      Tablets are automatically split as the table grows

    Row size can be arbitrary (hundreds of GB)
   Three level hierarchy
     Level 2: Root tablet contains the location of METADATA tablets
     Level 3: Each METADATA tablet contains the location of user tablets
     Level 1: Chubby file containing location of the root tablet

       ▪ Location of tablet is stored under a row key that
         encodes table identifier and its end row
   Tablet server startup
     It creates and acquires an exclusive lock on , a uniquely
      named file on Chubby.
     Master monitors this directory to discover tablet servers.


   Tablet server stops serving tablets
     If it loses its exclusive lock.
     Tries to reacquire the lock on its file as long as the file still
      exists.
     If file no longer exists, the tablet server will never be able
      to serve again.
   Master server startup
     Grabs unique master lock in Chubby.
     Scans the tablet server directory in Chubby.
     Communicates with every live tablet server
     Scans METADATA table to learn set of tablets.


   Master is responsible for finding when tablet server is no longer serving
    its tablets and reassigning those tablets as soon as possible.
     Periodically asks each tablet server for the status of its lock
     If no reply, master tries to acquire the lock itself
     If successful to acquire lock, then tablet server is either dead or having
       network trouble
   Updates committed to a commit log

   Recently committed updates are stored in memory –memtable

   Older updates are stored in a sequence of SSTables.
   Write operation
                                              Read operation
     Server checks if it is well-formed
                                                Check well-formedness of request.
     Checks if the sender is
                                                Check authorization in Chubby file
      authorized
                                                Merge memtable and SSTables to
     Write to commit log
                                                 find data
     After commit, contents are
                                                Return data.
      inserted into Memtable
In order to control size of memtable, tablet log, and SSTable
   files, “compaction” is used.


1. Minor Compaction.-             Move data from memtable to SSTable.


2. Merging Compaction. - Merge multiple SSTables and
  memtable to a single SSTable.
3. Major Compaction. - that re-writes all SSTables into exactly
  one SSTable
   Locality groups
     Clients can group multiple column families together into a locality
      group.


   Compression
     Compression applied to each SSTable block separately
     Uses Bentley and McIlroy's scheme and fast compression algorithm


   Bloom filters
     Reduce the number of disk accesses
   Caching
     Scan Cache: a high-level cache that caches key-value pairs returned by
      the SSTable interface
     Block Cache: a lower-level cache that caches SSTable blocks read from
      file system


   Commit-log implementation
     Suppose one log per tablet rather have one log per tablet server
   Satisfies goals of high-availability, high-performance, massively scalable
    data storage.
     -It has been successfully deployed in real apps (Personalized
      Search, Orkut, GoogleMaps, …)
   Successfully used by various Google products (>60).
   It’s a distributed systems, designed to store enormous volumes of data.
   Thesesystems can be easily scaled to accommodate peta-bytes of data
    across thousands of nodes.
   Bigtable: A Distributed Storage System for Structured Data by Fay Chang, Jeffrey
    Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows,
    Tushar Chandra, Andrew Fikes, Robert E. Gruber

   http://glinden.blogspot.com/2006/08/google-bigtable-paper.html


   Dean, J. 2005. BigTable: A Distributed Structured Storage System. University of
    Washington CSE Colloquia (Oct. 2005).
    http://www.uwtv.org/programs/displayevent.aspx?rID=4188
GOOGLE BIGTABLE
GOOGLE BIGTABLE

More Related Content

What's hot

Introduction to HDFS
Introduction to HDFSIntroduction to HDFS
Introduction to HDFS
Bhavesh Padharia
 
HBase
HBaseHBase
Comparison of MPP Data Warehouse Platforms
Comparison of MPP Data Warehouse PlatformsComparison of MPP Data Warehouse Platforms
Comparison of MPP Data Warehouse Platforms
David Portnoy
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
vanjakom
 
Bigtable
BigtableBigtable
Bigtable
Amir Payberah
 
Apache Hadoop
Apache HadoopApache Hadoop
Apache Hadoop
Ajit Koti
 
Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component
rebeccatho
 
Hadoop
HadoopHadoop
Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
Gokhan Atil
 
Google Bigtable
Google BigtableGoogle Bigtable
Google Bigtable
GirdhareeSaran
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles
Nilay Shrivastava
 
PPT on Hadoop
PPT on HadoopPPT on Hadoop
PPT on Hadoop
Shubham Parmar
 
Failover cluster
Failover clusterFailover cluster
Failover cluster
Chinmoy Jena
 
Introduction to Big Data & Hadoop Architecture - Module 1
Introduction to Big Data & Hadoop Architecture - Module 1Introduction to Big Data & Hadoop Architecture - Module 1
Introduction to Big Data & Hadoop Architecture - Module 1
Rohit Agrawal
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
sudhakara st
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
Hadoop HDFS Architeture and Design
Hadoop HDFS Architeture and DesignHadoop HDFS Architeture and Design
Hadoop HDFS Architeture and Design
sudhakara st
 
Spark Workshop
Spark WorkshopSpark Workshop
Spark Workshop
Navid Kalaei
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisors
Gaurav Suri
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack

What's hot (20)

Introduction to HDFS
Introduction to HDFSIntroduction to HDFS
Introduction to HDFS
 
HBase
HBaseHBase
HBase
 
Comparison of MPP Data Warehouse Platforms
Comparison of MPP Data Warehouse PlatformsComparison of MPP Data Warehouse Platforms
Comparison of MPP Data Warehouse Platforms
 
Google Bigtable Paper Presentation
Google Bigtable Paper PresentationGoogle Bigtable Paper Presentation
Google Bigtable Paper Presentation
 
Bigtable
BigtableBigtable
Bigtable
 
Apache Hadoop
Apache HadoopApache Hadoop
Apache Hadoop
 
Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component
 
Hadoop
HadoopHadoop
Hadoop
 
Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
 
Google Bigtable
Google BigtableGoogle Bigtable
Google Bigtable
 
Cloud Application architecture styles
Cloud Application architecture styles Cloud Application architecture styles
Cloud Application architecture styles
 
PPT on Hadoop
PPT on HadoopPPT on Hadoop
PPT on Hadoop
 
Failover cluster
Failover clusterFailover cluster
Failover cluster
 
Introduction to Big Data & Hadoop Architecture - Module 1
Introduction to Big Data & Hadoop Architecture - Module 1Introduction to Big Data & Hadoop Architecture - Module 1
Introduction to Big Data & Hadoop Architecture - Module 1
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Hadoop HDFS Architeture and Design
Hadoop HDFS Architeture and DesignHadoop HDFS Architeture and Design
Hadoop HDFS Architeture and Design
 
Spark Workshop
Spark WorkshopSpark Workshop
Spark Workshop
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisors
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack
Introduction to CloudStack
 

Similar to GOOGLE BIGTABLE

Bigtable and Boxwood
Bigtable and BoxwoodBigtable and Boxwood
Bigtable and Boxwood
Evan Weaver
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databases
Fabio Fumarola
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptx
ShimoFcis
 
Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable
영원 서
 
google Bigtable
google Bigtablegoogle Bigtable
google Bigtable
elliando dias
 
Bigtable_Paper
Bigtable_PaperBigtable_Paper
Bigtable_Paper
Tarun Kumar Sarkar
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
Romain Jacotin
 
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
 
Google file system
Google file systemGoogle file system
Google file system
Roopesh Jhurani
 
Big table
Big tableBig table
Big table
Manuel Correa
 
Bigtable
BigtableBigtable
Bigtable
ptdorf
 
google file system
google file systemgoogle file system
google file system
diptipan
 
Google file system
Google file systemGoogle file system
Google file system
Lalit Rastogi
 
Lalit
LalitLalit
Lalit
diptipan
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
temp2004it
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
Manivasagam Mohan
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
mrlonganh
 
Data management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunitiesData management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunities
Editor Jacotech
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018
Dave Stokes
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
Dave Stokes
 

Similar to GOOGLE BIGTABLE (20)

Bigtable and Boxwood
Bigtable and BoxwoodBigtable and Boxwood
Bigtable and Boxwood
 
8. column oriented databases
8. column oriented databases8. column oriented databases
8. column oriented databases
 
storage-systems.pptx
storage-systems.pptxstorage-systems.pptx
storage-systems.pptx
 
Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable
 
google Bigtable
google Bigtablegoogle Bigtable
google Bigtable
 
Bigtable_Paper
Bigtable_PaperBigtable_Paper
Bigtable_Paper
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 
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
 
Google file system
Google file systemGoogle file system
Google file system
 
Big table
Big tableBig table
Big table
 
Bigtable
BigtableBigtable
Bigtable
 
google file system
google file systemgoogle file system
google file system
 
Google file system
Google file systemGoogle file system
Google file system
 
Lalit
LalitLalit
Lalit
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
 
Bigtable osdi06
Bigtable osdi06Bigtable osdi06
Bigtable osdi06
 
Data management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunitiesData management in cloud study of existing systems and future opportunities
Data management in cloud study of existing systems and future opportunities
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
 

Recently uploaded

ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 

Recently uploaded (20)

ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 

GOOGLE BIGTABLE

  • 1.
  • 3. Introduction  Data model  Building Blocks  Implementation  Refinements  Performance Evaluation  Real applications  Conclusion
  • 4. Scale is too large for most commercial Databases  Cost would be very high  Low-level storage optimizations help performance significantly  Hard to map semi-structured data to relational database  Non-uniform fields makes it difficult to insert/query data
  • 5. BigTable is a distributed storage system for managing structured data  Bigtable does not support a full relational data model  Scalable  Self managing
  • 6. Used by more than 60 Google products  Google Analytics  Google Finance  Personalized Search  Google Documents  Google Earth  Google Fusion Tables  …  Used for variety of demanding workloads  Throughput oriented batch processing  Latency sensitive data serving
  • 7. Goals  Wide applicability  Scalability  High performance  High availability  Simple data model that supports dynamic control over data layout and format
  • 8. A Bigtable is a sparse, distributed, persistent multidimensional sorted map.  The map is indexed by a row key, column key, and a timestamp. (row:string, column:string, time:int64) → string Webtable
  • 9. The row keys in a table are arbitrary strings.  Data is maintained in lexicographic order by row key  Each row range is called a tablet, which is the unit of distribution and load balancing. row
  • 10. Column keys are grouped into sets called column families.  Data stored in a column family is usually of the same type  A column key is named using the syntax: family : qualifier.  Column family names must be printable , but qualifiers may be arbitrary strings. columns
  • 11.  Each cell in a Bigtable can contain multiple versions of the same data  Versions are indexed by 64-bit integer timestamps  Timestamps can be assigned: ▪ automatically by Bigtable , or ▪ explicitly by client applications timestamp
  • 12. The Bigtable API provides functions :  Creating and deleting tables and column families.  Changing cluster , table and column family metadata.  Support for single row transactions  Allows cells to be used as integer counters  Client supplied scripts can be executed in the address space of servers
  • 13. Bigtable is built on several other pieces of Google infrastructure.  Google File system(GFS)  SSTable : Data structure for storage Index(block ranges) 64K 64K 64K ………. block block block  Chubby: Distributed lock service.
  • 14. Three major components  Library linked into every client  Single master server ▪ Assigning tablets to tablet servers ▪ Detecting addition and expiration of tablet servers ▪ Balancing tablet-server load ▪ Garbage collection files in GFS  Many tablet servers ▪ Manages a set of tablets ▪ Tablet servers handle read and write requests to its table ▪ Splits tablets that have grown too large
  • 15. ▪ Clients communicates directly with tablet servers for read/write  Each table consists of a set of tablets  Initially, each table have just one tablet  Tablets are automatically split as the table grows  Row size can be arbitrary (hundreds of GB)
  • 16. Three level hierarchy  Level 2: Root tablet contains the location of METADATA tablets  Level 3: Each METADATA tablet contains the location of user tablets  Level 1: Chubby file containing location of the root tablet ▪ Location of tablet is stored under a row key that encodes table identifier and its end row
  • 17. Tablet server startup  It creates and acquires an exclusive lock on , a uniquely named file on Chubby.  Master monitors this directory to discover tablet servers.  Tablet server stops serving tablets  If it loses its exclusive lock.  Tries to reacquire the lock on its file as long as the file still exists.  If file no longer exists, the tablet server will never be able to serve again.
  • 18. Master server startup  Grabs unique master lock in Chubby.  Scans the tablet server directory in Chubby.  Communicates with every live tablet server  Scans METADATA table to learn set of tablets.  Master is responsible for finding when tablet server is no longer serving its tablets and reassigning those tablets as soon as possible.  Periodically asks each tablet server for the status of its lock  If no reply, master tries to acquire the lock itself  If successful to acquire lock, then tablet server is either dead or having network trouble
  • 19. Updates committed to a commit log  Recently committed updates are stored in memory –memtable  Older updates are stored in a sequence of SSTables.
  • 20. Write operation  Read operation  Server checks if it is well-formed  Check well-formedness of request.  Checks if the sender is  Check authorization in Chubby file authorized  Merge memtable and SSTables to  Write to commit log find data  After commit, contents are  Return data. inserted into Memtable
  • 21. In order to control size of memtable, tablet log, and SSTable files, “compaction” is used. 1. Minor Compaction.- Move data from memtable to SSTable. 2. Merging Compaction. - Merge multiple SSTables and memtable to a single SSTable. 3. Major Compaction. - that re-writes all SSTables into exactly one SSTable
  • 22. Locality groups  Clients can group multiple column families together into a locality group.  Compression  Compression applied to each SSTable block separately  Uses Bentley and McIlroy's scheme and fast compression algorithm  Bloom filters  Reduce the number of disk accesses
  • 23. Caching  Scan Cache: a high-level cache that caches key-value pairs returned by the SSTable interface  Block Cache: a lower-level cache that caches SSTable blocks read from file system  Commit-log implementation  Suppose one log per tablet rather have one log per tablet server
  • 24.
  • 25.
  • 26. Satisfies goals of high-availability, high-performance, massively scalable data storage. -It has been successfully deployed in real apps (Personalized Search, Orkut, GoogleMaps, …)  Successfully used by various Google products (>60).  It’s a distributed systems, designed to store enormous volumes of data.  Thesesystems can be easily scaled to accommodate peta-bytes of data across thousands of nodes.
  • 27. Bigtable: A Distributed Storage System for Structured Data by Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber  http://glinden.blogspot.com/2006/08/google-bigtable-paper.html  Dean, J. 2005. BigTable: A Distributed Structured Storage System. University of Washington CSE Colloquia (Oct. 2005). http://www.uwtv.org/programs/displayevent.aspx?rID=4188

Editor's Notes

  1. The persistent state of a tablet is stored in GFS
  2. When memtable reaches thresholdFrozen memtable is converted to an SSTableSSTable written to file systemGoalsReduce memory usage of the tablet serverReduce the amount of data to read from commit log during recoveryMerging compactionReads the contents of a few SSTable and memtableWrites new SSTable