MongoDB - przegląd

MongoDB to wieloplatformowa, zorientowana na dokumenty baza danych, która zapewnia wysoką wydajność, wysoką dostępność i łatwą skalowalność. MongoDB pracuje nad koncepcją kolekcji i dokumentu.

Baza danych

Baza danych to fizyczny kontener dla kolekcji. Każda baza danych otrzymuje własny zestaw plików w systemie plików. Pojedynczy serwer MongoDB ma zwykle wiele baz danych.

Kolekcja

Kolekcja to grupa dokumentów MongoDB. Jest odpowiednikiem tabeli RDBMS. Zbiór istnieje w jednej bazie danych. Kolekcje nie wymuszają schematu. Dokumenty w kolekcji mogą mieć różne pola. Zazwyczaj wszystkie dokumenty w kolekcji mają podobny lub powiązany cel.

Dokument

Dokument to zestaw par klucz-wartość. Dokumenty mają dynamiczny schemat. Schemat dynamiczny oznacza, że ​​dokumenty w tej samej kolekcji nie muszą mieć tego samego zestawu pól lub struktury, a wspólne pola w dokumentach kolekcji mogą zawierać różne typy danych.

Poniższa tabela przedstawia związek terminologii RDBMS z MongoDB.

RDBMS MongoDB
Baza danych Baza danych
Stół Kolekcja
Tuple / Row Dokument
kolumna Pole
Dołącz do tabeli Dokumenty osadzone
Klucz podstawowy Klucz podstawowy (domyślny klucz _id dostarczony przez samą bazę danych MongoDB)
Serwer i klient bazy danych
mysqld / Oracle mongod
mysql / sqlplus mongo

Przykładowy dokument

Poniższy przykład przedstawia strukturę dokumentu witryny blogu, która jest po prostu parą klucz-wartość oddzieloną przecinkami.

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_idto 12-bajtowa liczba szesnastkowa, która zapewnia niepowtarzalność każdego dokumentu. Możesz podać _id podczas wstawiania dokumentu. Jeśli nie podasz, MongoDB zapewnia unikalny identyfikator dla każdego dokumentu. Te 12 bajtów, pierwsze 4 bajty dla bieżącego znacznika czasu, następne 3 bajty dla identyfikatora komputera, następne 2 bajty dla identyfikatora procesu serwera MongoDB i pozostałe 3 bajty to prosta wartość przyrostowa.