Bigtable - Bigtable

Bigtable Google
VývojářiGoogle
První vydáníÚnor 2005; před 15 lety (2005-02)
Napsáno
C ++ (jádro), Jáva, Krajta, Jít, Rubín
PlošinaGoogle Cloud Platform
TypCloudové úložiště
LicenceProprietární
webová stránkamrak.Google.com/ bigtable/

Bigtable je stlačený, vysoký výkon, proprietární vestavěný systém ukládání dat Souborový systém Google, Služba Chubby Lock, SSTable (úložiště strukturované jako log LevelDB ) a několik dalších Google technologie. 6. května 2015 byla jako služba zpřístupněna veřejná verze Bigtable. Bigtable také podkladem Datové úložiště Google Cloud, který je k dispozici jako součást Google Cloud Platform.[1][2]

Dějiny

Bigtable vývoj začal v roce 2004[3] a nyní ji využívá řada aplikací Google, jako je indexování webu,[4] MapReduce, který se často používá pro generování a úpravu dat uložených v Bigtable,[5] Google mapy,[6] Vyhledávání knih Google „Moje historie vyhledávání“, Google Earth, Blogger.com, Google Code hosting, Youtube,[7] a Gmail.[8] Důvody společnosti Google pro vývoj vlastní databáze zahrnují škálovatelnost a lepší kontrolu výkonových charakteristik.[9]

Google Klíč RDBMS je založen na implementaci Bigtable s a Paxos skupina pro dvoufázové závazky ke každému stolu. Google F1 byl postaven pomocí nástroje Spanner, aby nahradil implementaci založenou na MySQL.[10]

Design

Bigtable je jedním z prototypických příkladů a široký sloupový obchod. Mapuje dvě libovolné hodnoty řetězce (klíč řádku a klíč sloupce) a časové razítko (tedy trojrozměrné mapování) do přidruženého libovolného bajtového pole. Není to relační databáze a lze ji lépe definovat jako řídkou, distribuovanou vícerozměrnou tříděnou mapu.[4]:1 Bigtable je navržen tak, aby se mohl škálovat do petabajt v rozsahu „stovek nebo tisíců strojů, a aby bylo snadné přidat do systému více počítačů a automaticky začít využívat tyto zdroje bez jakékoli nové konfigurace“.[11] Například kopii webu Google lze uložit do velké tabulky, kde je klíč řádku a URL obrácená doménou a sloupce popisují různé vlastnosti webové stránky, přičemž jeden konkrétní sloupec drží samotnou stránku. Sloupec stránky může mít několik verzí s časovým razítkem popisujících různé kopie webové stránky s časovým razítkem, kdy byly načteny. Každá buňka velké tabulky může mít nulovou nebo více časově označených verzí dat. Další funkcí časového razítka je umožnit obojí správa verzí a odvoz odpadu prošlých dat.

Tabulky jsou rozděleny do několika tablety - segmenty tabulky jsou rozděleny na určité klávesy řádků, takže každá tableta má velikost několik set megabajtů nebo několik gigabajtů. Bigtable je něco jako pracovní fond mapreduce, protože tisíce až stovky tisíc střepů tabletů mohou obsluhovat stovky až tisíce serverů BigTable. Když hrozí, že velikost tabulky přesáhne stanovený limit, mohou být tablety komprimovány pomocí algoritmu BMDiff[12][13] a algoritmus komprese Zippy[14] veřejně známý a otevřený jako Elegantní,[15] což je méně prostorově optimální variace LZ77 ale efektivnější z hlediska výpočetního času. Umístění v GFS tabletů se zaznamenávají jako položky databáze do několika speciálních tabletů, které se nazývají tablety „META1“. Tablety META1 jsou nalezeny dotazem na jediný tablet „META0“, který se obvykle nachází na vlastním serveru, protože klienti se ho často ptají na umístění tabletu „META1“, který sám má odpověď na otázku, kde je skutečná data se nacházejí. Stejně jako hlavní server GFS není server META0 obecně a úzké místo protože doba procesoru a šířka pásma potřebné k objevení a přenosu umístění META1 jsou minimální a klienti agresivně ukládají do mezipaměti umístění, aby minimalizovali dotazy.

Viz také

Reference

  1. ^ „Ohlášení Google Cloud Bigtable: Stejná databáze, která podporuje vyhledávání Google, Gmail a Analytics, je nyní k dispozici na Google Cloud Platform“. Blog Google. 6. května 2015. Citováno 21. září 2016.
  2. ^ „Začínáme s Google Cloud Datastore - rychlá, výkonná databáze NoSQL“.
  3. ^ Hitchcock, Andrew, Bigtable Google, vyvoláno 29. července 2007, Nejprve přehled. Bigtable je ve vývoji od začátku roku 2004 a aktivně se používá přibližně osm měsíců (přibližně v únoru 2005)..
  4. ^ A b Chang a kol. 2006.
  5. ^ Chang a kol. 2006, str. 3: „Bigtable lze použít s MapReduce, rámcem pro spouštění rozsáhlých paralelních výpočtů vyvinutých společností Google. Napsali jsme sadu obalů, které umožňují Bigtable použít jako vstupní zdroj i jako výstupní cíl pro úlohy MapReduce. “
  6. ^ Hitchcock, Andrew, Bigtable Google, vyvoláno 29. července 2007, V současné době existuje přibližně 100 buněk pro služby, jako je tisk, historie vyhledávání, mapy a orkut.
  7. ^ Cordes, Kyle (12. července 2007), Škálovatelnost YouTube (mluvit), Jejich novým řešením pro miniatury je použití Bigtable společnosti Google, který poskytuje vysoký výkon pro velký počet řádků, odolnost proti chybám, ukládání do mezipaměti atd. To je pěkný (a vzácný?) Příklad skutečné synergie v akvizici..
  8. ^ "How Entities and Indexes are Stored", Google App Engine, Google Code.
  9. ^ Chang a kol. 2006 „Závěr:„ Popsali jsme Bigtable, distribuovaný systém pro ukládání strukturovaných dat na Googlu ... Naši uživatelé mají rádi výkon a vysokou dostupnost poskytovanou implementací Bigtable a že mohou škálovat kapacitu svých klastrů jednoduchým přidáním dalších strojů do systému, protože se jejich požadavky na zdroje časem mění ... Konečně jsme zjistili, že budování vlastního řešení úložiště ve společnosti Google má značné výhody. Při navrhování vlastního datového modelu pro Bigtable jsme získali značnou flexibilitu. “
  10. ^ Shute, Jeffrey „Jeff“; Oancea, Mircea; Ellner, Stephan; Šikovný, Benjamin ‚Ben '; Rollins, Eric; Samwel, Bart; Vingralek, Radek; Whipkey, Čad; Chen, Xin; Jegerlehner, Beat; Littlefield, Kyle; Tong, Phoenix (2012), „Summary; F1 - the Fault-Tolerant Distributed RDBMS Supporting the Google's Ad Business“, Výzkum (prezentace), Sigmod, str. 19, Přesunuli jsme velkou a kritickou aplikační sadu z MySQL do F1.
  11. ^ "Souborový systém Google a Bigtable", Radar (Celosvětová Síť log)„Database War Stories, O’Reilly, květen 2006.
  12. ^ „Google Bigtable, Compression, Zippy a BMDiff“. 12. října 2008. Archivovány od originál dne 1. května 2013. Citováno 14. dubna 2015..
  13. ^ McIlroy, Bentley. Komprese dat pomocí dlouhých běžných řetězců. DCC '99. IEEE. doi:10.1109 / DCC.1999,755678..
  14. ^ „Bigtable Google“, Vnější soud (Weblog), 23. října 2005.
  15. ^ "Elegantní", Kód (projekt).

Bibliografie

externí odkazy