Video: Metode si clase generice in C# 2024
Magazinele de coloane din NoSQL sunt asemănătoare la prima apariție cu sistemul DBMS relațional tradițional. Conceptele de rânduri și coloane sunt încă acolo. De asemenea, definiți familiile coloanelor înainte de a încărca datele în baza de date, ceea ce înseamnă că structura datelor trebuie cunoscută în prealabil.
Cu toate acestea, stocarea coloanelor organizează date diferit decât bazele de date relaționale. În loc să stocați date într-un rând pentru acces rapid, datele sunt organizate pentru operații rapide ale coloanei. Această vizualizare pe coloană face coloanele ideale pentru a rula funcții agregate sau pentru a căuta înregistrări care se potrivesc cu mai multe coloane.
Funcțiile agregate sunt combinații de date sau funcții de analiză. Ele pot fi la fel de simple ca numărarea numărului de rezultate, însumarea acestora sau calcularea mediei lor medii. Ar putea fi mai complexe, deși - de exemplu, revenirea unei valori complexe care descrie un interval de timp.
Magazinele de coloane sunt, uneori, denumite clonele Big Tables sau Big Table, care reflectă strămoșul lor comun, Bigtable-ul Google.
Poate că diferența cheie dintre magazinele de coloane și RDBMS tradițional este că, într-o coloană, fiecare înregistrare (cred că rând într-o RDBMS) nu necesită o singură valoare pe coloană. În schimb, este posibil să modelăm familii de coloane. O singură înregistrare poate consta dintr-un câmp de identificare, dintr-o familie de coloane pentru informații despre "client" și dintr-o altă familie de coloane pentru informații despre "elementul de comandă".
Fiecare dintre aceste familii de coloane constă din mai multe câmpuri. Una dintre aceste familii de coloane poate avea mai multe "rânduri" în sine. Informații despre elementul de comandă, de exemplu, au mai multe rânduri - câte unul pentru fiecare element rând. Aceste rânduri vor conține date precum ID-ul articolului, cantitatea și prețul unitar.
Un avantaj cheie al unui depozit de coloane pe un RDBMS este faptul că stocarea coloanelor nu necesită întotdeauna prezența câmpurilor și nu necesită o valoare nulă de umplutură nulă ca RDBMS. Această caracteristică previne problema restrânsă a datelor, păstrând spațiul pe disc. Un exemplu de set de date variabil și rar este prezentat aici.
Lucrul minunat în cazul magazinelor de coloane este că puteți recupera toate informațiile conexe utilizând un singur ID de înregistrare, mai degrabă decât să utilizați complexul limbaj de interogare structurat (SQL), ca și în RDBMS. A face acest lucru are nevoie de un mic model de upfront și de analiză de date, deși.
În exemplul afișat, puteți prelua toate informațiile despre comandă selectând un singur rând de stradă din coloană, ceea ce înseamnă că dezvoltatorul nu trebuie să fie conștient de sintaxa de îmbinare exhaustivă a unei interogări într-un magazin de coloane, spre deosebire de trebuie să utilizeze conexiuni SQL complexe într-o RDBMS.
Deci, pentru structurile de date relaționale complexe și variabile, un depozit de coloane poate fi mai eficient în stocare și mai puține erori predispuse la dezvoltare decât strămoșii RDBMS.
Rețineți că în familia de coloane element , ID-ul fiecărui element este reprezentat în cheie, iar valoarea este cantitatea comandată. Această setare permite căutarea rapidă a tuturor comenzilor care conțin acest ID de element.
Dacă cunoașteți câmpurile de date implicate în față și este necesar să preluați rapid datele asociate împreună ca o singură înregistrare, atunci luați în considerare un depozit de coloane.