Zalety i ograniczenia baz klucz-wartość

Koncepcje NoSQL

Miriam Antona

Software engineer

Zalety – prostota

  • Krotka klucz-wartość
  • Brak zdefiniowanego schematu/typów
  • Podstawowe operacje:
    • Put
      • wstawia nową krotkę klucz-wartość
      • aktualizuje wartość, jeśli klucz już istnieje
    • Get
      • zwraca wartość dla podanego klucza
    • Delete
      • usuwa klucz i jego wartość
  • Szybkie operacje
Koncepcje NoSQL

Zalety – elastyczność

  • Możliwość zmiany typów danych
    • userID:123 = 123456
    • userID:123 = "Miriam"
  • Dodawanie kolejnych atrybutów
    • user:457:preferences = {"language" : "en:US"}
    • user:457:preferences = {"language" : "en:US", "color" : "green","timezone" :"GTM-4"}
Koncepcje NoSQL

Zalety – dane przechowywane w pamięci

  • Szybki odczyt/zapis
  • Możliwość utraty danych
  • Połączenie trwałości dyskowej i pamięciowej
Koncepcje NoSQL

Zalety – skalowalność

  • Możliwość poziomego skalowania
  • Sharding
    • rozdziela dane pomiędzy wiele serwerów

Wizualne wyjaśnienie shardingu. Dane są rozdzielone pomiędzy serwery.

Koncepcje NoSQL

Zalety – skalowalność

  • Możliwość poziomego skalowania
  • Sharding
    • rozdziela dane pomiędzy wiele serwerów

Wizualne wyjaśnienie shardingu. Dane są rozdzielone pomiędzy serwery.

Koncepcje NoSQL

Zalety – skalowalność

  • Możliwość poziomego skalowania
  • Sharding
    • rozdziela dane pomiędzy wiele serwerów

Wizualne wyjaśnienie shardingu. Dane są rozdzielone pomiędzy serwery.

Koncepcje NoSQL

Zalety – skalowalność

  • Możliwość poziomego skalowania
  • Sharding
    • rozdziela dane pomiędzy wiele serwerów

Wizualne wyjaśnienie shardingu. Dane są rozdzielone pomiędzy serwery.

Koncepcje NoSQL

Ograniczenia

  • Wyszukiwanie tylko po kluczu
    • Problem, gdy klucz jest nieznany
    • Niektóre bazy klucz-wartość dodały funkcjonalności
      • wyszukiwanie po wartości
      • dodawanie indeksów wtórnych
      • wyszukiwanie po wielu kluczach jednocześnie
    • Brak złożonych zapytań
Koncepcje NoSQL

Czas na ćwiczenia!

Koncepcje NoSQL

Preparing Video For Download...