Witam
Zamierzam stworzyć serwis internetowy i chciałem wykorzystać w nim dwie bazy danych. PostgreSQL do przechowywanie danych wymagających ścisłej struktury np użytkowników oraz MongoDB który miał służyć za przechowywanie informacji o TAGACH do szybkiego odczytu i wyszukiwania. Ale ostatnio, zacząłem natrafiać na informacje, że nowy PostgreSQL niewiele ustępuje pod względem wydajności bazie mongo. Dlatego kieruje pytanie do bardziej doświadczonych w temacie użytkowników, czy to prawda;)??? Jeżeli tak to oczywiste że wolał bym wybrać tylko Postgre aby nie musieć pracować z dwiema bazami danych. Dziękuję za wszystkie odpowiedzi/
- Rejestracja:ponad 12 lat
- Ostatnio:około 11 lat
- Postów:101
MongoDB w porównaniu z PostgreSQL to nie jest poważna baza danych, a nakładka (API) na plik mapowany do pamięci. Jeśli dane się nie zmieszczą w RAM, to wydajność Mongo jest tragiczna - zacznie swapować. Do tego większość benchmarków, wykazujących rzekomą wyższą wydajność Mongo, testuje Mongo przy ustawieniach, które nie nadają się na produkcję (tj. brak trwałości danych i brak potwierdzania zapisów - tryb w którym nawet nie dowiesz się jak Twoja baza zacznie gubić bezpowrotnie dane).
(/dev/null is webscale!)
Prawidłowo skonfigurowane MongoDB zostaje zjedzone nawet przez taką krowę jak HBase:
- http://www.datastax.com/wp-content/uploads/2013/02/WP-Benchmarking-Top-NoSQL-Databases.pdf
- http://datasys.cs.iit.edu/events/ScienceCloud2013/p02.pdf
- http://www.cubrid.org/blog/dev-platform/nosql-benchmarking/
IMHO z tych dwóch zdecydowanie PostgreSQL. Prawdziwa baza o sensownej, dobrze przemyślanej architekturze i latach pracy włożonych w stabilność i optymalizację, której popularność wynika głównie z wysokiej jakości, a nie intensywnego marketingu i wciskania kitu.
Natomiast jeśli chcesz skalowalne wyszukiwanie po tagach, to ani PostgreSQL ani Mongo tylko dedykowany system do wyszukiwania np. Solr / Elastic Search / DataStax Enterprise Search.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.