MongoDB - baza danych zorientowana
dokumentowo.
Czy ruch NoSQL ma sens?
Wojciech Sznapka
28.05.2010
2 /
Plan
•
Ruch NoSQL – definicja i rozwiązania
•
MongoDB – opis i możliwości
•
Zastosowania MongoDB
•
Kto używa MongoDB?
...
3 /
Ruch NoSQL
•
Promuje klasę nierelacyjnych baz jako
alternatywę dla tradycyjnych baz relacyjnych,
nazywając je czasami ...
4 /
Ruch NoSQL - rozwiązania
Bazy zorientowane dokumentowo:
•
MongoDB,
•
Apache CouchDB.
Bazy typu klucz/wartość:
•
BigTab...
5 /
•
Baza danych zorientowana na przechowywanie
dokumentów JSON,
•
Bardzo wydajna (napisana w C++),
•
Skalowalna,
•
Bezsc...
6 /
Możliwości MongoDB
•
Przechowywanie dynamicznych dokumentów JSON
(reprezentowanych wewnętrznie jako BSON – Binary
JSON...
7 /
Zastosowania
TAK:
•
Zastosowanie webowe,
•
Wysokie obciążenia / wymóg skalowalności,
•
Cache'owanie,
•
Rozwiązań GIS (...
8 /
Czy ktoś tego używa?
9 /
Analogie do baz SQL
MongoDB Baza SQL
Dokument Wiersz / rekord
Kolekcja Tablica
_id Klucz główny
Zagnieżdżenie Relacja ...
10 /
Migracje, a raczej ich brak
MongoDB jest bezschematowa, więc jeśli
potrzebujemy nowego pola w dokumencie to po
prostu...
11 /
Przykłady użycia w praktyce
•
Dokument,
•
Dokument zagnieżdżony,
•
Sortowanie, limitowanie,
•
Wyszukiwanie,
•
Regexp,...
12 /
Czy ruch NoSQL ma sens?
Tak, jeśli termin NoSQL nie będzie nadużywany
jako całkowite porzucenie baz relacyjnych, ale ...
Dziękuję za uwagę!
Upcoming SlideShare
Loading in …5
×

Mongo db baza danych zorientowana dokumentowo

3,488 views

Published on

Mongo DB - baza danych zorientowana dokumentowo. Czy ruch NoSQL ma sens?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,488
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mongo db baza danych zorientowana dokumentowo

  1. 1. MongoDB - baza danych zorientowana dokumentowo. Czy ruch NoSQL ma sens? Wojciech Sznapka 28.05.2010
  2. 2. 2 / Plan • Ruch NoSQL – definicja i rozwiązania • MongoDB – opis i możliwości • Zastosowania MongoDB • Kto używa MongoDB? • Analogie do baz SQL • Migracje, a raczej ich brak • Przykłady użycia „na żywo” • Czy ruch NoSQL ma sens?
  3. 3. 3 / Ruch NoSQL • Promuje klasę nierelacyjnych baz jako alternatywę dla tradycyjnych baz relacyjnych, nazywając je czasami bazami następnej generacji, • Te bazy nie posiadają sztywnych schematów, unikają poleceń JOIN i dobrze się skalują.
  4. 4. 4 / Ruch NoSQL - rozwiązania Bazy zorientowane dokumentowo: • MongoDB, • Apache CouchDB. Bazy typu klucz/wartość: • BigTable (Google App Engine), • Dynamo (Amazon Web Services), • Apache Cassandra (Facebook), • Project Voldemort (LinkedIn).
  5. 5. 5 / • Baza danych zorientowana na przechowywanie dokumentów JSON, • Bardzo wydajna (napisana w C++), • Skalowalna, • Bezschematowa – prostota i elastyczność, • Wsparcie dla wielu platform i języków programowania, • Rozwijana od Sierpnia 2007, pierwsze wydanie w 2009,
  6. 6. 6 / Możliwości MongoDB • Przechowywanie dynamicznych dokumentów JSON (reprezentowanych wewnętrznie jako BSON – Binary JSON), • Pełne wsparcie dla indeksów, • Replikacja i wysoka dostępność, • Auto-Sharding (skalowanie poziome), • Złożone zapytania (jako dokumenty), • Map/Reduce – elastyczny mechanizm agregacji i przetwarzania danych, • GridFS – przechowywanie plików w bazie.
  7. 7. 7 / Zastosowania TAK: • Zastosowanie webowe, • Wysokie obciążenia / wymóg skalowalności, • Cache'owanie, • Rozwiązań GIS (wsparcie dla indeksów 2d – szerokość/wysokość geograficzna). NIE: • Wysoka transakcyjność, • Problemy wymagające SQLa.
  8. 8. 8 / Czy ktoś tego używa?
  9. 9. 9 / Analogie do baz SQL MongoDB Baza SQL Dokument Wiersz / rekord Kolekcja Tablica _id Klucz główny Zagnieżdżenie Relacja 1:N Tablica referencji do obiektów Relacja M:N Indeks Indeks
  10. 10. 10 / Migracje, a raczej ich brak MongoDB jest bezschematowa, więc jeśli potrzebujemy nowego pola w dokumencie to po prostu zaczynamy go używać w aplikacji, bez konieczności modyfikacji czegokolwiek w bazie (można zapomnieć o ALTER TABLE, czy symfony doctrine:migrate)
  11. 11. 11 / Przykłady użycia w praktyce • Dokument, • Dokument zagnieżdżony, • Sortowanie, limitowanie, • Wyszukiwanie, • Regexp, • Indeksy, • Zaawansowane zapytania, • Geospatial index.
  12. 12. 12 / Czy ruch NoSQL ma sens? Tak, jeśli termin NoSQL nie będzie nadużywany jako całkowite porzucenie baz relacyjnych, ale jako „Not only SQL”.
  13. 13. Dziękuję za uwagę!

×