Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MongoDB - baza danych zorientowana dokumentowo. Czy ruch NoSQL ma sens? Wojciech Sznapka 28.05.2010
Plan <ul><li>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? </li></ul>
Ruch NoSQL <ul><li>Promuje klasę nierelacyjnych baz jako alternatywę dla tradycyjnych baz relacyjnych, nazywając je czasam...
Te bazy nie posiadają sztywnych schematów, unikają poleceń JOIN i dobrze się skalują. </li></ul>
Ruch NoSQL - rozwiązania Bazy zorientowane dokumentowo : <ul><li>MongoDB,
Apache CouchDB. </li></ul>Bazy typu klucz/wartość : <ul><li>BigTable (Google App Engine),
Upcoming SlideShare
Loading in …5
×

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

6,711 views

Published on

Prezentacja wygłoszona na "Piątku z XSolve" 28 maja 2010.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. MongoDB - baza danych zorientowana dokumentowo. Czy ruch NoSQL ma sens? Wojciech Sznapka 28.05.2010
  2. 2. Plan <ul><li>Ruch NoSQL – definicja i rozwiązania
  3. 3. MongoDB – opis i możliwości
  4. 4. Zastosowania MongoDB
  5. 5. Kto używa MongoDB?
  6. 6. Analogie do baz SQL
  7. 7. Migracje, a raczej ich brak
  8. 8. Przykłady użycia „na żywo”
  9. 9. Czy ruch NoSQL ma sens? </li></ul>
  10. 10. Ruch NoSQL <ul><li>Promuje klasę nierelacyjnych baz jako alternatywę dla tradycyjnych baz relacyjnych, nazywając je czasami bazami następnej generacji,
  11. 11. Te bazy nie posiadają sztywnych schematów, unikają poleceń JOIN i dobrze się skalują. </li></ul>
  12. 12. Ruch NoSQL - rozwiązania Bazy zorientowane dokumentowo : <ul><li>MongoDB,
  13. 13. Apache CouchDB. </li></ul>Bazy typu klucz/wartość : <ul><li>BigTable (Google App Engine),
  14. 14. Dynamo (Amazon Web Services),
  15. 15. Apache Cassandra (Facebook),
  16. 16. Project Voldemort (LinkedIn). </li></ul>
  17. 17. <ul><li>Baza danych zorientowana na przechowywanie dokumentów JSON,
  18. 18. Bardzo wydajna (napisana w C++),
  19. 19. Skalowalna,
  20. 20. Bezschematowa – prostota i elastyczność,
  21. 21. Wsparcie dla wielu platform i języków programowania,
  22. 22. Rozwijana od Sierpnia 2007, pierwsze wydanie w 2009,
  23. 23. Open Source (GNU AGPL). </li></ul>
  24. 24. Możliwości MongoDB <ul><li>Przechowywanie dynamicznych dokumentów JSON (reprezentowanych wewnętrznie jako BSON – Binary JSON),
  25. 25. Pełne wsparcie dla indeksów,
  26. 26. Replikacja i wysoka dostępność,
  27. 27. Auto-Sharding (skalowanie poziome),
  28. 28. Złożone zapytania (jako dokumenty),
  29. 29. Map/Reduce – elastyczny mechanizm agregacji i przetwarzania danych,
  30. 30. GridFS – przechowywanie plików w bazie. </li></ul>
  31. 31. Zastosowania TAK : <ul><li>Zastosowanie webowe,
  32. 32. Wysokie obciążenia / wymóg skalowalności,
  33. 33. Cache'owanie,
  34. 34. Rozwiązań GIS (wsparcie dla indeksów 2d – szerokość/wysokość geograficzna). </li></ul>NIE: <ul><li>Wysoka transakcyjność,
  35. 35. Problemy wymagające SQLa. </li></ul>
  36. 36. Czy ktoś tego używa?
  37. 37. 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
  38. 38. 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)
  39. 39. Przykłady użycia w praktyce <ul><li>Dokument,
  40. 40. Dokument zagnieżdżony,
  41. 41. Sortowanie, limitowanie,
  42. 42. Wyszukiwanie,
  43. 43. Regexp,
  44. 44. Indeksy,
  45. 45. Zaawansowane zapytania,
  46. 46. Geospatial index. </li></ul>
  47. 47. 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”.
  48. 48. Dziękuję za uwagę :-) Pytania ?

×