Autor

Michael Stonebraker et al.

1 fișă de lectură din 1 carte · 2005.

RafturiData warehouseCărțiC-Store: A Column-oriented DBMS 2005

1 fișă

  1. C-Store: A Column-oriented DBMS · 2005

    Coloanele comprimă bine fiindcă vecinii seamănă; rândurile nu.

    Trei idei explică aproape tot din bazele de date analitice moderne. Prima: stocarea pe coloane. O interogare care atinge trei coloane din cincizeci citește 6% din octeți, nu 100%. A doua: compresia. Într-o coloană, vecinii seamănă — aceeași țară de o mie de ori, date crescătoare, sume din același interval — deci dicționar, run-length și delta comprimă de zece ori, iar motorul poate lucra adesea direct pe datele comprimate. A treia: execuția vectorizată, în loturi de mii de valori, nu tuplu cu tuplu, ca procesorul să nu aștepte memoria. Peste ele stau două decizii de arhitectură. MPP (procesare masiv paralelă): datele sunt partiționate pe noduri, fiecare scanează partea lui, iar join-urile și agregările cer redistribuire (shuffle) — partea scumpă. Separarea stocare–calcul: datele stau pe stocare de obiecte, ieftină și durabilă, iar calculul se pornește la cerere și se scalează separat; prețul e latența la rece și cache-ul local. Micro-partițiile poartă min/max per bloc, deci un filtru pe dată sare peste blocurile care nu-l pot conține. Ce nu merge bine pe columnar: scrieri mici și dese — se încarcă în loturi.

    Această lucrare prezintă proiectarea unui SGBD relațional optimizat pentru citire, care contrastează puternic cu majoritatea sistemelor actuale, optimizate pentru scriere.

    Deschide fișa