Czym jest baza danych dokumentów?

Koncepcje NoSQL

Miriam Antona

Software engineer

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

Koncepcje NoSQL

Baza danych dokumentów – przegląd

Schemat struktury bazy danych dokumentów

  • Dokumenty -> wiersze
  • Kolekcje -> tabele
Koncepcje NoSQL

Dokumenty

  • Zbiór par klucz-wartość
  • Klucze: ciągi znaków
  • Wartości: liczby, ciągi znaków, wartości logiczne, tablice lub obiekty
  • Bezschematowość: brak konieczności definiowania struktury
  • Formaty: JSON, BSON, YAML lub XML
Koncepcje NoSQL

Dokumenty – format JSON

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
Koncepcje NoSQL

Dokumenty – zapytania

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
  • Wszyscy użytkownicy mieszkający w Nowym Jorku, lubiący wędrówki
  • Wszyscy użytkownicy powyżej 40. roku życia
  • Dane użytkownika według user_id
  • ...
Koncepcje NoSQL

Dokumenty – model polimorficzny

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
{
  "user_id": 513,
  "name": "Benjamin",
  "last_name": "Lieberman",
  "email": "[email protected]",
  "date_of_birth": "07/04/1984",
  "hobbies": [
    "reading"
  ]
}
Koncepcje NoSQL

Kolekcje

  • Zbiory dokumentów
  • Przechowują encje tego samego typu
  • Organizacja dokumentów i kolekcji z myślą o zapytaniach
Koncepcje NoSQL

Popularne bazy danych dokumentów

Logotypy popularnych baz danych dokumentów.

Koncepcje NoSQL

Czas na ćwiczenia!

Koncepcje NoSQL

Preparing Video For Download...