Baza danych klucz-wartość — Key–value database
Baza klucz-wartość , lub sklep klucz-wartość , jest paradygmatem przechowywania danych przeznaczone do przechowywania, pobierania i zarządzania tablic asocjacyjnych , a struktura danych bardziej znany dziś jako słowniku lub tablica mieszająca . Słowniki zawierają kolekcję z obiektów lub rekordów , które z kolei mają wiele różnych pól wewnątrz nich, każdy zawierający dane. Rekordy te są przechowywane i pobierane przy użyciu klucza, który jednoznacznie identyfikuje rekord i służy do wyszukiwania danych w bazie danych .
Bazy danych klucz-wartość działają w zupełnie inny sposób niż lepiej znane relacyjne bazy danych (RDB). Bazy danych RDB wstępnie definiują strukturę danych w bazie danych jako serię tabel zawierających pola z dobrze zdefiniowanymi typami danych . Udostępnienie typów danych programowi bazy danych pozwala na zastosowanie szeregu optymalizacji. W przeciwieństwie do tego systemy klucz-wartość traktują dane jako pojedynczy nieprzejrzysty zbiór, który może mieć różne pola dla każdego rekordu. Zapewnia to znaczną elastyczność i ściślej podąża za nowoczesnymi koncepcjami, takimi jak programowanie obiektowe . Ponieważ wartości opcjonalne nie są reprezentowane przez symbole zastępcze ani parametry wejściowe, jak w większości baz danych RDB, bazy danych klucz-wartość często używają znacznie mniej pamięci do przechowywania tej samej bazy danych, co może prowadzić do znacznego wzrostu wydajności w przypadku niektórych obciążeń.
Wydajność, brak standaryzacji i inne problemy przez wiele lat ograniczały systemy typu klucz-wartość do zastosowań niszowych, ale szybkie przejście na przetwarzanie w chmurze po 2010 r. doprowadziło do renesansu w ramach szerszego ruchu NoSQL . Niektóre grafowe bazy danych , takie jak ArangoDB , są również wewnętrznie bazami danych klucz-wartość, dodając pojęcie relacji ( wskaźniki ) między rekordami jako typ danych pierwszej klasy.
Rodzaje i godne uwagi przykłady
Bazy danych klucz-wartość mogą używać modeli spójności , od spójności ostatecznej po możliwość serializacji . Niektóre wspierają zamawianie kluczy.
Niektóre przechowują dane w pamięci (RAM) , podczas gdy inne wykorzystują dyski półprzewodnikowe lub dyski obrotowe .
Każda jednostka (rekord) to zestaw par klucz-wartość. Klucz ma wiele składników określonych jako uporządkowana lista. Klucz durowy identyfikuje rekord i składa się z głównych elementów tonacji. Kolejne składniki nazywane są klawiszami molowymi. Ta organizacja jest podobna do specyfikacji ścieżki katalogu w systemie plików (np. /Major/minor1/minor2/). Część „wartość” pary klucz-wartość to po prostu niezinterpretowany ciąg bajtów o dowolnej długości.
System Unix udostępnia dbm (menedżer bazy danych), która jest biblioteką z 1979 roku, napisaną oryginalnie przez Kena Thompsona . Jest również przeniesiony do Microsoft Windows , dostarczany przez języki programowania, takie jak Perl dla Win32 . dbm zarządza tablicami asocjacyjnymi dowolnych danych za pomocą jednego klucza (klucza podstawowego). Nowoczesne implementacje obejmują Berkeley DB , sdbm i GNU dbm . Chociaż dbm poprzedza koncepcję NoSQL i jest rzadko wspominane we współczesnym dyskursie, jest używane przez wiele programów.
Zobacz też
- Wielkie dane
- Analiza danych
- Rozproszony magazyn danych
- Baza danych zorientowana na dokumenty
- Wielomodelowa baza danych
- Spacja krotek