Bigtable: A Distributed Storage System for Structured Data - - PowerPoint PPT Presentation

bigtable a distributed storage system for structured data
SMART_READER_LITE
LIVE PREVIEW

Bigtable: A Distributed Storage System for Structured Data - - PowerPoint PPT Presentation

Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows,


slide-1
SLIDE 1

Bigtable: ¡A ¡Distributed ¡Storage ¡ System ¡for ¡Structured ¡Data ¡ ¡ ¡

Fay ¡Chang, ¡Jeffrey ¡Dean, ¡Sanjay ¡Ghemawat, ¡ Wilson ¡C. ¡Hsieh, ¡Deborah ¡A. ¡Wallach ¡Mike ¡ Burrows, ¡Tushar ¡Chandra, ¡Andrew ¡Fikes, ¡Robert ¡

  • E. ¡Gruber ¡ ¡

OSDI ¡2006 ¡ ¡

Few ¡slides ¡are ¡taken ¡from ¡Jeff ¡Dean ¡talk ¡@ ¡UoW ¡

slide-2
SLIDE 2

Problem ¡

  • Google’s ¡main ¡moQvaQon ¡for ¡developing ¡

BigTable ¡is ¡: ¡

– Large ¡Scale ¡Data ¡ ¡

  • Billions ¡of ¡URL’s ¡
  • Hundreds ¡of ¡millions ¡of ¡users ¡
  • 100TB+ ¡of ¡satellite ¡image ¡data ¡

– ¡Need ¡flexible ¡and ¡high ¡performance ¡soluQon ¡to ¡ all ¡Google ¡products ¡like ¡Google ¡Earth ¡, ¡Google ¡ finance ¡etc. ¡which ¡is ¡not ¡possible ¡by ¡using ¡ commercial ¡DBs. ¡

slide-3
SLIDE 3

Data ¡model ¡

  • “a ¡sparse ¡ ¡, ¡distributed ¡, ¡persistent ¡mulQ ¡

dimensional ¡sorted ¡map” ¡ (row: ¡string ¡, ¡column ¡: ¡string ¡, ¡Qme ¡: ¡int64) ¡-­‑> ¡string ¡

slide-4
SLIDE 4

Rows/Columns ¡

ROWS ¡

  • Data ¡is ¡sorted ¡lexicographically ¡by ¡row ¡key. ¡
  • Row ¡key ¡is ¡broken ¡into ¡tablets ¡. ¡
  • A ¡tablet ¡is ¡a ¡unit ¡of ¡distribuQon ¡and ¡load ¡balancing. ¡

COLUMNS ¡

  • Columns ¡names ¡of ¡the ¡form: ¡ ¡

– family ¡-­‑> ¡qualifier ¡

  • All ¡columns ¡in ¡a ¡family ¡of ¡typically ¡of ¡same ¡type. ¡

TIMESTAMP ¡

  • Each ¡cell ¡can ¡be ¡versioned ¡
  • Each ¡new ¡version ¡increments ¡the ¡Qmestamp. ¡
  • Policies: ¡

– “Keep ¡only ¡latest ¡n ¡versions” ¡ – “Keep ¡only ¡versions ¡since ¡Qmestamp ¡t ¡” ¡

¡

slide-5
SLIDE 5
slide-6
SLIDE 6

LocaQng ¡Tablets ¡

Approach-­‑1 ¡: ¡Use ¡Bigtable ¡master. ¡ ¡ Approach-­‑2 ¡: ¡

  • 1. Store ¡special ¡tables ¡containing ¡tablet ¡

locaQon ¡info ¡in ¡Bigtable ¡cell. ¡

  • 2. Three ¡level ¡hierarchy ¡lookup ¡scheme ¡

for ¡tablets. ¡ ¡

slide-7
SLIDE 7

Reading/WriQng ¡

Recent ¡sequence ¡of ¡ updates ¡in ¡memtable ¡ Minor ¡CompacQon ¡: ¡write ¡memtable ¡buffer ¡to ¡ a ¡new ¡SSTable ¡ ¡ Major ¡CompacQon: ¡ rewrite ¡all ¡SSTable ¡ into ¡one ¡SSTable ¡ and ¡clean ¡deletes ¡

slide-8
SLIDE 8

Performance ¡

slide-9
SLIDE 9

Takeaway ¡

  • Distributed ¡mulQ-­‑level ¡map ¡

– with ¡an ¡interesQng ¡data ¡model ¡

  • Fault ¡tolerant ¡, ¡persistent ¡
  • ¡Scalable ¡

– Thousands ¡of ¡servers ¡ – Terabytes ¡of ¡in-­‑memory ¡data ¡ – Petabytes ¡of ¡disk-­‑based ¡data ¡ – Millions ¡of ¡read/writes ¡per ¡second ¡, ¡efficient ¡scans ¡

  • Self ¡managing ¡

– Servers ¡can ¡be ¡added ¡and ¡removed ¡dynamically ¡ – Servers ¡adjust ¡to ¡load ¡imbalance ¡