Co to jest MongoDB

Dziś przedstawię czym jest MongoDB, zapraszam do lektury 🙂

MongoDB jest to nic innego jak baza danych, ALE zasady jej działania są zupełnie inne niż te z relacyjnych baz danych. W mongo operujemy na dokumentach. Jeżeli znasz SQL’a to na pewno będzie Ci ciężko przyswoić koncepcja MongoDB. Ja do teraz cały czas zastanawiam się „hola hola, jak to tak? nie trzeba tworzyć wcześniej tabeli z kolumnami nadając im odpowiednie typy?”.
Na pewno mogę powiedzieć, że MongoDB jest zdecydowanie łatwiejszym tematem niż relacyjne bazy danych. W zaledwie krótkim czasie można przyswoić sobie zasady działania Mongo, gdzie do SQL potrzeba naprawdę wiele linijek kodu przeklepać aby zrozumieć w pełni mechanizm działania. Praca z Mongo przypomina pracę z obiektami w języku programowania niż pracę z relacyjną bazą danych.
Jedną z rzeczy która na pewno może być frustrująca to, że w relacyjnych bazach danych jest pełno reguł. Rekordy powinny być atomowe, trzeba trzymać się I, II, III normalizacji itp. Zaś w MongoDB wszystkie powyższe, nie funkcjonują.

MongoDB przechowuje dane w formacie BSON. Jest to nic innego jak format JSON tyle, że w postaci binarnej. Zaletą BSON jest to, że:

  • mapowanie na obiekty w językach programowania odbywa się w sposób naturalny.
  • Eliminacja złączeń dzięki dokumentom i tablicą.

Warto wspomnieć, że w MongoDB skalowanie odbywa się w sposób poziomy. Oznacza to tyle, że gdy potrzebujemy zwiększyć możliwości obliczeniowe systemu, to nie dokładamy ramu do kompa, tylko dodajemy kolejną maszynę do klastra. Dokładanie ramu do jednego kompa jest skończonym procesem, a dokładanie maszyn już nie koniecznie. Na pewno nie powinno dodawać się kolejnych maszyn do klastra w nieskończoność ponieważ może to doprowadzić do awarii systemu, dodawanie maszyn należy robić świadomie. W mongo nie ma problemów z shardingiem.
Oczywiście warto pamiętać, że nie ma najlepszej bazy danych, są bazy dobre do danego problemu. Podejście MongoDB do tematu jest dobre, ale na pewno nie jest lekarstwem na wszystkie problemy.

W dzisiejszym wpisie to tyle, w następnym postaram się przedstawić kilka przykładów, obrazujących działanie MongoDB.

Dzięki 🙂

2 komentarze

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*