Masă mare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

BigTable este un sistem de bază de date comprimat de înaltă performanță dezvoltat de Google din 2004 și construit pe Google File System (GFS), Chubby Lock Service , SSTable și alte tehnologii Google. Deși începe cu convenția tipică a unui număr fix de coloane, împărtășește caracteristicile bazelor de date atât orientate pe rând, cât și bazate pe coloane.

Motivele care au determinat Google să-și dezvolte baza de date sunt scalabilitatea și un control mai bun asupra caracteristicilor de performanță: este conceput pentru a putea suporta încărcări la nivel de petabyte pe sute sau mii de mașini și pentru a facilita adăugarea de mașini noi la sistem., folosind noile resurse fără a necesita nici o reconfigurare. [1]

Produsul este utilizat intern de diferite aplicații Google, cum ar fi: MapReduce , Google Reader , Google Maps , Google Books , Google Earth , Blogger.com , Google Code hosting , Orkut , YouTube , Gmail și li se oferă acces ca parte a Google App Engine .

Din 6 mai 2015, Google a lansat o versiune publică a BigTable sub numele de Google Cloud Bigtable (în prezent în versiune beta). [2]

Descriere

Model de date BigTable

Bigtable este o hartă ordonată multidimensională împrăștiată, distribuită și persistentă.

Modelul de date utilizează trei tipuri diferite de indexare:

Taste de rând
Cheile de rând sunt șiruri arbitrare și orice date de citire / scriere pe un rând este o operație atomică. Prin urmare, accesul simultan la aceeași cheie de rând nu este permis. Fiecare rând poate fi partiționat dinamic în tabletă, astfel încât să puteți distribui încărcarea și să o echilibrați.
Taste de coloană
Cheile de coloană sunt grupate în seturi numite familii de coloane în care fiecare familie conține același tip de date.
Datele din cheile de coloană ale unei familii sunt stocate într-o familie de coloane și identificate prin chei de coloane numite Family Qualifiers .
TimeRest (cit.)
Fiecare celulă a unui tabel din BigTable poate conține mai multe versiuni ale acelorași date, iar pentru indexarea acestor versiuni folosesc ștampila de timp care identifică în mod unic versiunea datelor. În general, cea mai recentă versiune este cea care este citită mai întâi și aplicația decide câte versiuni să păstreze pentru fiecare celulă.

Model de partiție BigTable

Sistemul BigTable este format din trei componente.

Comprimat
Fiecare tabletă este identificată de un identificator de tabletă și de gama de taste de rând de care este responsabil. Dimensiunile unei tablete variază de la 100 MB la 200 MB.
La rândul său, fiecare tabletă constă din mai multe SSTable [3] (BigTable File Format) care sunt utilizate pentru a salva și a recupera perechi cheie-date.
O caracteristică cheie este că SSTables poate fi partajat pe mai multe tablete.
Server tabletă
Fiecare tabletă este alocată unui singur server de tabletă care poate conține de la 10 la 1000.
Serverele pentru tablete pot împărți tabletele care devin prea mari. Fiecare server de tabletă este responsabil pentru propriile sale tablete locale.
Server principal
Serverul principal are trei sarcini de bază:
  • atribuiți diferitele tablete serverelor de tablete
  • gestionați adăugarea sau ștergerea serverelor de tabletă
  • echilibrați încărcarea între diferitele servere
Serverul principal păstrează în memorie o listă a tabletelor active în prezent și, de asemenea, o listă cu atribuțiile tuturor tabletelor către serverele lor de tablete respective.

Operații de citire și scriere

Replicarea datelor este gestionată de sistemul de fișiere Google . Fiecare tabletă are propriul său Memtable [4], iar comunicarea clientului cu serverele de tablete individuale pentru operații de citire / scriere are loc direct.

Operații de scriere

Solicitarea de scriere ajunge direct la serverul tabletei care:

  • marcați cererea pe Jurnal
  • după comitere în urma unei operații de scriere, conținutul este inserat în Memtable care se află în memoria RAM
  • de fiecare dată când se face o scriere, Memtable crește în dimensiune până atinge limita maximă; a atins limita, Memtable este „înghețat” și devine SSTable.

Apoi este generat un nou Memtable.

Citiți operațiunile

Solicitarea de citire este trimisă către serverul tabletei, iar aceasta are loc printr-o consultare simultană a SSTable care aparține tabletei și a Memtable-ului curent.

Notă

  1. ^ * "Povestiri de război ale bazei de date nr. 7: Google File System și BigTable"
  2. ^ Google, Cloud Bigtable , la cloud.google.com .
  3. ^ "ApacheWiki, SSTable , la wiki.apache.org . Adus pe 29 aprilie 2019 (arhivat din original la 28 iunie 2017) .
  4. ^ "ApacheWiki, Memtable" , la wiki.apache.org . Adus pe 29 aprilie 2019 (arhivat din original la 26 noiembrie 2018) .

Elemente conexe

linkuri externe

Google Portal Google : Accesați intrările Wikipedia despre Google