Co je dokumentová databáze?

NoSQL Concepts

Miriam Antona

Software engineer

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

NoSQL Concepts

Dokumentová databáze – přehled

Obrázek struktury dokumentových databází

  • Dokumenty -> řádky
  • Kolekce -> tabulky
NoSQL Concepts

Dokumenty

  • Sada párů klíč–hodnota
  • Klíče: řetězce
  • Hodnoty: čísla, řetězce, booleany, pole nebo objekty
  • Bez schématu: struktura se nemusí definovat
  • Formáty: JSON, BSON, YAML nebo XML
NoSQL Concepts

Dokumenty – formát 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"
  ]
}
NoSQL Concepts

Dokumenty – dotazy

{
  "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"
  ]
}
  • Všichni uživatelé žijící v New Yorku, kteří mají rádi turistiku
  • Všichni uživatelé starší 40 let
  • Data uživatele podle user_id
  • ...
NoSQL Concepts

Dokumenty – polymorfní model

{
  "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"
  ]
}
NoSQL Concepts

Kolekce

  • Sady dokumentů
  • Uchovávají stejný typ entit
  • Organizujte dokumenty a kolekce s ohledem na dotazy
NoSQL Concepts

Populární dokumentové databáze

Loga populárních dokumentových databází.

NoSQL Concepts

Pojďme si procvičit!

NoSQL Concepts

Preparing Video For Download...