Witamy!

Koncepcje NoSQL

Miriam Antona

Software engineer

Omawiane tematy

  • Rozdział 1: NoSQL a relacyjne bazy danych / bazy klucz-wartość
  • Rozdział 2: Bazy dokumentowe
  • Rozdział 3: Bazy rodzin kolumn
  • Rozdział 4: Bazy grafowe
Koncepcje NoSQL

O kursie

  • Kurs koncepcyjny (bez kodowania)

Logo Datazy

Koncepcje NoSQL

NoSQL a relacyjne bazy danych

Relacyjne bazy danych

  • Używają tabel/wierszy/kolumn
  • Wymagają predefiniowanego schematu / trudne do zmiany
  • Wolne zapytania przy łączeniu wielu tabel
  • Skalowanie wertykalne
    • skalowanie przez zwiększenie mocy (np. CPU, RAM...)
    • droższe
  • Gwarantują transakcje ACID
  • Zazwyczaj zamknięte źródło

NoSQL

  • Pierwotnie non-SQL/nierelacyjne
  • Not only SQL
  • Nierelacyjne bazy danych
  • Nie używają tabel/wierszy/kolumn
  • Bez schematu / łatwe zmiany
  • Szybkie zapytania
  • Skalowanie horyzontalne / tańsze
  • Większość nie obsługuje transakcji ACID
  • Otwarte źródło
Koncepcje NoSQL

NoSQL a relacyjne bazy danych

  • Są komplementarne
  • Mogą współistnieć
Koncepcje NoSQL

Typy baz NoSQL

  • Bazy klucz-wartość
  • Bazy dokumentowe
  • Bazy rodzin kolumn
  • Bazy grafowe
Koncepcje NoSQL

Bazy klucz-wartość

  • Najprostsze bazy NoSQL
  • Pobieranie/ustawianie wartości za pomocą klucza

Przykład dwóch par klucz-wartość. Pierwszy klucz to K1, wartość to Hello. Drugi klucz to K2, wartość to Goodbye.

Koncepcje NoSQL

Klucz

  • Przykłady:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Dowolny ciąg binarny
  • Unikalny
  • Może być generowany algorytmicznie
  • Bez długich kluczy
Koncepcje NoSQL

Wartość

  • Powiązana z kluczem
  • Pobieranie, ustawianie, usuwanie wartości po kluczu
  • Liczby, ciągi znaków, JSON, obrazy...
  • Ograniczenia rozmiaru
Koncepcje NoSQL

Wartość

  • Powiązana z kluczem
  • Pobieranie, ustawianie, usuwanie wartości po kluczu
  • Liczby, ciągi znaków, JSON, obrazy...
  • Ograniczenia rozmiaru

$$

key value
dataCampCourses:123:name Cleaning data in a SQL Server database
dataCampCourses:123:softLaunchDate 10/01/2020
user:12:address ('123 Sesame Street', 'NY')
user:125:address {"street" : "123 Sesame Street" , "city" : "NY"}
Koncepcje NoSQL

Przykład Datazy

Preferencje użytkownika

key value
user:457:preferences {"language" : "en_US" , "color" : "green" , "timezone" : "GTM-4"}
user:458:preferences {"language" : "es_US" , "color" : "blue" , "timezone" : "GTM+2"}

 

  • Konwencja (:)
    • user:id:preferences
Koncepcje NoSQL

Popularne bazy klucz-wartość

Logo popularnych baz klucz-wartość.

Koncepcje NoSQL

Czas na ćwiczenia!

Koncepcje NoSQL

Preparing Video For Download...