Кључ-вредност база података

С Википедије, слободне енциклопедије

Кључ-вредност база података или кључ-вредност складиште, је парадигма складиштења података дизајнирана за складиштење, дохватање и управљање асоцијативним низовима, а структура података која се данас чешће назива речником или хеш табелом. Речници садрже колекцију објеката, или записа, који опет имају много различитих поља унутар њих, при чему свако поље садржи податке. Ови записи се складиште помоћу кључа који јединствено идентификује запис, а користи се за проналажење података унутар базе података.

Кључ-вредност базе података раде на веома другачији начин у односу на боље познате релационе базе података (РДБ). РДБ унапред дефинишу структуру података у бази података, као низ табела које садрже поља са добро дефинисаним типовима података. Излагање типова података програму базе података омогућава примену бројних оптимизација. За разлику од тога, кључ-вредност системи третирају податке као једну непрозирну колекцију, која може имати различита поља за сваки запис. Ово нуди значајну флексибилност и више прати модерне концепте као што је објектно оријентисано програмирање (ООП). Због тога што се опциона вредност не представља помоћу резервисаних места или улазних параметара, као у већини РДБ, кључ-вредност базе података често користе много мање меморије за складиштење истих података, што може довести до великих перформанси у одређеним оптерећењима.

Перформансе, недостатак стандардизације и други проблеми су годинама ограничавали кључ-вредност системе на специјализоване намене, али брзи прелазак на рачунарство у облаку након 2010. године довео је до ренесансе, као дела ширег NoSQL покрета. Неки графички базе података, попут АрангоДБ[1], такође су кључ-вредност базе података интерно, додајући концепт односа (показивача) између записа као први класни тип података.

Типови и примери[уреди | уреди извор]

Кључ-вредност базе података могу користити моделе доследности који се крећу од евентуалне доследности до серијске доследности. Неки подржавају уређивање кључева.

Неки одржавају податке у меморији (РАМ), док други користе чврсте дискове или ротирајуће дискове.

Свака јединица (запис) је скуп кључ-вредност парова. Кључ има више компоненти, наведених као уређена листа. Главни кључ идентификује запис и састоји се од водећих компоненти кључа. Накнадне компоненте се називају споредни кључеви. Ова организација је слична спецификацији путање директоријума у фајл систему (нпр. /Главни/споредни1/споредни2/). “Вредност” дела кључ-вредност пара је једноставно недефинисани низ бајтова произвољне дужине.[2]

Уник систем обезбеђује ДБМ (датабасе манагер), који је библиотека из 1979. коју је оригинално написао Кен Томпсон. Такође се преноси на Мајкрософт Виндоуз, обезбеђен преко програмских језика као што је Перл за Вин32. ДБМ управља асоцијативним низовима произвољних података коришћењем једног кључа (примарни кључ). Модерне имплементације укључују сдбм, ГНУ дбм и Беркелеи ДБ. Иако дбм претходи концепту НоСКЛ-а и ретко се помиње у модерном дискурсу, користе га многи софтвери.

Новији пример базе података кључ/вредност је РоцксДБ која се користи као механизам за складиштење за друге системе за управљање базама података као што је АрангоДБ.

Референце[уреди | уреди извор]

  1. ^ „Storage Engine”. docs.arangodb.com (на језику: енглески). Приступљено 2023-12-22. 
  2. ^ „Oracle NoSQL Database”. www.oracle.com (на језику: енглески). Приступљено 2023-12-22.