Bazy danych klucz-wartość wyjaśnione - DATAVERSITY

Bazy danych klucz-wartość wyjaśnione – DATAVERSITY

Węzeł źródłowy: 2943225
bazy danych klucz-wartośćbazy danych klucz-wartość

W 1966 roku do szpitala Massachusetts General Hospital dostarczono komputer DEC PDP-7 bez żadnego oprogramowania. Szpital zainwestował w komputer, ale nie miał możliwości jego uruchomienia. W tamtym czasie dostępnych było bardzo niewiele opcji oprogramowania, systemów operacyjnych i obsługi baz danych. Szpital miał jednak dostęp do Massachusetts Institute of Technology (MIT), który znajdował się po drugiej stronie rzeki. Zespół MIT zaczynał od zera, a następnie zaprojektował „ŚWINKA” (Massachusetts Utility Multi-Programming System) jako system operacyjny dla wielu użytkowników, baza danych i język w jednym. MUMPS korzystał z magazynu klucz-wartość i kilku innych funkcji, które później zostały włączone do magazynów danych NoSQL. Zastosowanie i ukierunkowanie struktur klucz-wartość stopniowo ewoluowało w proste bazy danych klucz-wartość NoSQL.

Ten typ bazy danych zapisuje dane jako grupę par klucz-wartość, które składają się z dwóch połączonych elementów danych. Łącznikiem między elementami jest „klucz” (taki jak „nazwa pliku”), który działa jako identyfikator elementu w danych, oraz „wartość”, czyli zidentyfikowane dane (lub treść).

Bazy danych klucz-wartość są często uważane za najprostsze Bazy danych NoSQL. Ta prostota sprawia, że ​​magazyny i bazy danych typu klucz-wartość są szybkie, przyjazne dla użytkownika, przenośne, skalowalne i elastyczne. Jednak oryginalne systemy klucz-wartość nie zostały zaprojektowane tak, aby umożliwiać badaczom filtrowanie lub kontrolowanie danych zwracanych z żądania – nie zawierały wyszukiwarki. To się zmienia, gdy ludzie modyfikują swoje bazy danych klucz-wartość.

Redis wprowadził swoją bazę danych klucz-wartość w 2009:

„Pierwotnym zamiarem Redis (lub dowolnego magazynu klucz-wartość) było posiadanie określonego klucza lub identyfikatora dla każdego pojedynczego fragmentu danych. Redis szybko rozszerzył tę koncepcję o typy danych, w których pojedynczy klucz może odnosić się do wielu (nawet milionów) fragmentów danych. Gdy moduły pojawiły się w ekosystemie, koncepcja klucza została jeszcze bardziej rozciągnięta, ponieważ pojedynczy fragment danych mógł teraz obejmować wiele kluczy (na przykład indeks RediSearch). Zatem na pytanie, czy Redis jest magazynem klucz-wartość, zwykle odpowiadamy, że „pochodzi z linii klucz-wartość baz danych”, ale należy pamiętać, że w tym momencie trudno uzasadnić Redis jako sam magazyn klucz-wartość. ”

Chociaż wiele baz danych NoSQL nadal zawiera składnice klucz-wartość, kluczy można również używać w relacyjnych bazach danych. Klucz podstawowy używany w tabelach relacyjnych jednoznacznie identyfikuje każdy rekord w tabeli. Niektórych kluczy można używać do łączenia (lub łączenia) danych przechowywanych w jednej tabeli z danymi w innych tabelach. Przechowywanie klucza podstawowego wiersza w innej tabeli nazywa się kluczem obcym. Wyróżnia się klucz podstawowy i klucz obcy błędów, których należy unikać

Jak działają bazy danych klucz-wartość

Bazy danych klucz-wartość nie ustanawiają określonego schematu. Tradycyjne relacyjne bazy danych wstępnie definiują swoje struktury w bazie danych, korzystając z tabel zawierających pola z dobrze zdefiniowanymi typami danych. Z drugiej strony systemy klucz-wartość traktują dane jako pojedynczy zbiór, w którym klucz reprezentuje dowolny ciąg znaków — na przykład nazwę pliku, skrót lub jednolity identyfikator zasobu (URI). Magazyny klucz-wartość zazwyczaj zużywają znacznie mniej pamięci podczas zapisywania i przechowywania tej samej ilości danych, co z kolei zwiększa wydajność w przypadku niektórych typów obciążeń.

„Czyste” bazy danych klucz-wartość nie korzystają z języka zapytań, ale oferują sposób pobierania, zapisywania i usuwania danych za pomocą bardzo prostych poleceń weź, połóż, i kasować. (Zmodyfikowane bazy danych klucz-wartość mogą obejmować wyszukiwanie pełnotekstowe). Pobieranie danych wymaga metody bezpośredniego żądania w celu komunikacji z plikiem danych. Nie ma wyszukiwania, nie ma też wyszukiwarki. Jeśli klucz nie jest znany, nie ma możliwości jego znalezienia.

Zastosowania baz danych klucz-wartość

Kompletujemy wszystkie dokumenty (wymagana jest kopia paszportu i XNUMX zdjęcia) potrzebne do relacyjne bazy danych całkiem dobrze radzą sobie z transakcjami płatniczymi, mają trudności z radzeniem sobie z dużą liczbą jednoczesnych transakcji. Jednakże bazy danych NoSQL mogą być skalowane w miarę potrzeb i obsługiwać niezwykle duże natężenie ruchu na sekundę, zapewniając obsługę tysiącom jednoczesnych użytkowników.

Bazy danych NoSQL typu klucz-wartość mają wbudowaną redundancję, dzięki czemu mogą bez problemów obsługiwać utracone węzły magazynowania. (Czasami na przykład w „koszyku” zostaną utracone pozycje). Magazyny klucz-wartość przetwarzają duże ilości danych i zapewniają spójny przepływ operacji odczytu/zapisu dla:

  • Zarządzanie sesją: Oferowanie użytkownikom opcji zapisywania i przywracania sesji.
  • Preferencje użytkownika i sklepy profilowe: Dane osobowe konkretnych użytkowników.
  • Rekomendacje produktowe: Przedmioty niestandardowe, którymi może być zainteresowany klient.
  • Kupony, spersonalizowane reklamy: Dostosowane i przeglądane przez klientów w czasie rzeczywistym.
  • Pełniący rolę skrytki dla regularnie przeglądanych danych, które rzadko są aktualizowane.

Bazy danych klucz-wartość są często używane do zarządzania sesjami w aplikacjach internetowych. Dobrze radzą sobie z zarządzaniem informacjami o sesji dla wszystkich nowych aplikacji użytkownika na smartfonach i innych urządzeniach.

Bazy danych klucz-wartość można również wykorzystać w masowych grach online dla wielu graczy, zarządzając sesją każdego gracza.

one
bardzo dobrze radzą sobie z zarządzaniem koszykami zakupów online – aż do momentu płatności.
Transakcje płatnicze i wszelkie księgowania przychodów działają lepiej w przypadku relacji
Baza danych.

Jako jedna z najprostszych baz danych NoSQL, bazy danych klucz-wartość można łatwo skalować na potrzeby badań dużych zbiorów danych, obsługując jednocześnie wielu użytkowników.

Firmy sprzedające produkty przez Internet często borykają się z różnicami w wielkości zakupów w przedświątecznym sezonie zakupowym w porównaniu z resztą roku. Problem polega na opłaceniu infrastruktury dostosowanej do szczytu zakupów świątecznych (i płaceniu za tę infrastrukturę przez resztę roku) lub na ryzykowaniu, że nie uda się obsłużyć świątecznego szczytu (i awarii na kilka godzin). Zakładając, że relacyjna baza danych obsługuje normalne usługi przez cały rok, wynajęcie np Usługa chmury z bazą danych klucz-wartość dla okresu przedświątecznego stanowi wydajne i stosunkowo niedrogie rozwiązanie.

Wybór odpowiedniej bazy danych dla Twojej organizacji

Różne bazy danych klucz-wartość wykorzystują różne techniki ulepszania podstawowego modelu klucz-wartość. Niektórzy przechowują wszystkie swoje dane w RAM, podczas gdy inne działają z kombinacją Dyski SSD (dyski półprzewodnikowe) i pamięć RAM. Jeszcze inne łączą obsługę obracających się dysków i pamięci RAM.

Bazy te zostały zaprojektowane w odpowiedzi na nowe aplikacje, które stały się dostępne dla smartfonów i innych urządzeń. Organizacje powinny unikać zastępowania wszystkich swoich relacyjnych baz danych NoSQL, zwłaszcza w przypadku aplikacji finansowych. Poniżej wymieniono niektóre popularne bazy danych klucz-wartość:

  • Aerospike: Baza danych typu open source NoSQL wykorzystująca pamięć wewnętrzną zoptymalizowaną pod kątem pamięci flash.
  • Apache Cassandra: Rozproszony, bezpłatny, szerokokolumnowy sklep o otwartym kodzie źródłowym, system zarządzania bazami danych NoSQL.
  • Amazon Dynamo DB: W pełni zarządzana, zastrzeżona usługa bazy danych NoSQL oferowana przez firmę Amazon.
  • Berkeley DB: Podstawowa, wysokowydajna, wbudowana biblioteka do przechowywania baz danych o otwartym kodzie źródłowym.
  • Podstawa kanapy: Zaprojektowany dla aplikacji o znaczeniu krytycznym, zapewnia wyszukiwanie pełnotekstowe, zapytania oparte na języku SQL i analizy.
  • Memcached: Przyspiesza strony internetowe poprzez buforowanie danych i obiektów w pamięci RAM, aby zmniejszyć liczbę odczytów zewnętrznego źródła danych. Bezpłatne i otwarte.
  • Riak: Szybki, elastyczny i skalowalny, dobry do tworzenia aplikacji i pracy z innymi bazami danych i aplikacjami.
  • Redis: Baza danych, broker komunikatów i pamięć podręczna. Obsługuje skróty, ciągi znaków, listy, mapy bitowe i HyperLogLog.

Ogólnie rzecz biorąc, tajemnica
do baz danych klucz-wartość polega na ich prostocie i wynikającej z tego szybkości
będzie dostępny. Pobranie danych wymaga bezpośredniego żądania (klucza) o
obiekt w pamięci (wartość) i nie ma języka zapytań. Dane mogą być
przechowywane w systemach rozproszonych bez obaw o lokalizację indeksów,
ilość danych lub spowolnienie sieci. Niektóre bazy danych klucz-wartość korzystają z pamięci flash
pamięci masowej i indeksów wtórnych, starając się przesuwać granice technologii klucz-wartość.

Baza danych klucz-wartość to jedno i drugie
łatwe w budowie i skalowaniu. Zwykle oferuje doskonałą wydajność i może
być zoptymalizowane pod kątem potrzeb organizacji. Gdy baza danych klucz-wartość jest
zmodyfikowane za pomocą nowych aplikacji, istnieje większa szansa, że ​​system to zrobi
działać wolniej.

Obraz używany na licencji Shutterstock.com

Znak czasu:

Więcej z WSZECHSTRONNOŚĆ DANYCH