Ključ-vrednost baza podataka

Ključ-vrednost baza podataka ili ključ-vrednost skladište, je paradigma skladištenja podataka dizajnirana za skladištenje, dohvatanje i upravljanje asocijativnim nizovima, a struktura podataka koja se danas češće naziva rečnikom ili heš tabelom. Rečnici sadrže kolekciju objekata, ili zapisa, koji opet imaju mnogo različitih polja unutar njih, pri čemu svako polje sadrži podatke. Ovi zapisi se skladište pomoću ključa koji jedinstveno identifikuje zapis, a koristi se za pronalaženje podataka unutar baze podataka.

Ključ-vrednost baze podataka rade na veoma drugačiji način u odnosu na bolje poznate relacione baze podataka (RDB). RDB unapred definišu strukturu podataka u bazi podataka, kao niz tabela koje sadrže polja sa dobro definisanim tipovima podataka. Izlaganje tipova podataka programu baze podataka omogućava primenu brojnih optimizacija. Za razliku od toga, ključ-vrednost sistemi tretiraju podatke kao jednu neprozirnu kolekciju, koja može imati različita polja za svaki zapis. Ovo nudi značajnu fleksibilnost i više prati moderne koncepte kao što je objektno orijentisano programiranje (OOP). Zbog toga što se opciona vrednost ne predstavlja pomoću rezervisanih mesta ili ulaznih parametara, kao u većini RDB, ključ-vrednost baze podataka često koriste mnogo manje memorije za skladištenje istih podataka, što može dovesti do velikih performansi u određenim opterećenjima.

Performanse, nedostatak standardizacije i drugi problemi su godinama ograničavali ključ-vrednost sisteme na specijalizovane namene, ali brzi prelazak na računarstvo u oblaku nakon 2010. godine doveo je do renesanse, kao dela šireg NoSQL pokreta. Neki grafički baze podataka, poput ArangoDB[1], takođe su ključ-vrednost baze podataka interno, dodajući koncept odnosa (pokazivača) između zapisa kao prvi klasni tip podataka.

Tipovi i primeri

uredi

Ključ-vrednost baze podataka mogu koristiti modele doslednosti koji se kreću od eventualne doslednosti do serijske doslednosti. Neki podržavaju uređivanje ključeva.

Neki održavaju podatke u memoriji (RAM), dok drugi koriste čvrste diskove ili rotirajuće diskove.

Svaka jedinica (zapis) je skup ključ-vrednost parova. Ključ ima više komponenti, navedenih kao uređena lista. Glavni ključ identifikuje zapis i sastoji se od vodećih komponenti ključa. Naknadne komponente se nazivaju sporedni ključevi. Ova organizacija je slična specifikaciji putanje direktorijuma u fajl sistemu (npr. /Glavni/sporedni1/sporedni2/). “Vrednost” dela ključ-vrednost para je jednostavno nedefinisani niz bajtova proizvoljne dužine.[2]

Unik sistem obezbeđuje DBM (database manager), koji je biblioteka iz 1979. koju je originalno napisao Ken Tompson. Takođe se prenosi na Majkrosoft Vindouz, obezbeđen preko programskih jezika kao što je Perl za Vin32. DBM upravlja asocijativnim nizovima proizvoljnih podataka korišćenjem jednog ključa (primarni ključ). Moderne implementacije uključuju sdbm, GNU dbm i Berkelei DB. Iako dbm prethodi konceptu NoSKL-a i retko se pominje u modernom diskursu, koriste ga mnogi softveri.

Noviji primer baze podataka ključ/vrednost je RocksDB koja se koristi kao mehanizam za skladištenje za druge sisteme za upravljanje bazama podataka kao što je ArangoDB.

Reference

uredi
  1. ^ „Storage Engine”. docs.arangodb.com (na jeziku: engleski). Pristupljeno 2023-12-22. 
  2. ^ „Oracle NoSQL Database”. www.oracle.com (na jeziku: engleski). Pristupljeno 2023-12-22.