Niedawno zmieniłem projekt z MySQL InnoDB na PostgreSQL i czuję większe opóźnienie podczas wstawiania i aktualizowania danych za pomocą ajax. To może być subiektywne. Wiem, że twórcy Django polecają postgres i wiem, że psycopg2 ma być szybszy niż MysqlDB. Osobisty Podoba mi się sposób, w jaki postgres wymusza integralność bazy danych, ale najbardziej martwię się wydajnością tego projektu. Chcesz usłyszeć opinię innych ludzi na ten temat.Którego RDBMS używasz z Django i dlaczego?
Odpowiedz
SQLite. Brak serwera zaplecza. Doskonały do dev
Dlaczego nie mierzysz? To jedyny sposób, aby upewnić się o wydajności. Ręczne machanie o tym, jak powolne, czy nie jest czymś bez twardych danych, to jak próbować złapać wodę za pomocą rąk.
Mierz transakcje na sekundę lub nawet lepiej, żądania na sekundę za pomocą narzędzia do naprężania serwerów WWW, takiego jak The Grinder (który może być skryptowany w Jython) zarówno z backendem MySQL, jak i PostgreSQL, a następnie sprawdź, czy to robi różnicę. Jeśli tak, zapytaj tutaj, a dokładniej, zapytaj na listach dyskusyjnych pgsql-general lub pgsql-performance. Jest wielu ekspertów, którzy znają się na tym, nawet na głównych programistach. Istnieje mnóstwo gałek w konfiguracji PostgreSQL związanych z wydajnością.
Może to być nieprawidłowe użycie indeksów. Po prostu upewnienie się, że masz odpowiednie indeksy i upewnienie się, że tabele są analizowane i odkurzane okresowo, powinno dawać dość przyzwoite wyniki.
Nawet jeśli Postgres okazuje się być nieznacznie wolniejszy, w niektórych przypadkach moja osobista opinia jest taka, że funkcje, które zapewnia, znacznie przewyższają niewielkie straty wydajności.
Postgres to naprawdę piękna baza danych i za każdym razem, gdy używam czegokolwiek innego, chciałbym używać PostgreSQL.
Użyłem SQLite po raz pierwszy w fazie rozwoju ostatniego projektu. Jest łatwy w konfiguracji, wygodny do przenoszenia z jednego systemu do drugiego itp. Muszę dodać, że kiedy w końcu przeniosłem projekt do produkcji na MySQL, wiele subtelnych problemów ujawniło się z MySQL, które nie były obecne w ogóle z SQLite. Nic wielkiego, ale od teraz, jeśli muszę wdrożyć projekt na MySQL, wolałbym używać MySQL również w fazie rozwoju.
- 1. Dlaczego nie używasz argumentu classpath?
- 2. dlaczego używasz lotnych z zsynchronizowanym blokiem?
- 3. Którego operatora logicznego C++ używasz: i, lub, nie i operatory typu ilk lub C? czemu?
- 4. , którego z == i =: = powinienem użyć?
- 5. Zasoby dotyczące budowania RDBMS
- 6. Co to są drzewa wyrażeń, jak ich używasz i dlaczego ich używasz?
- 7. Elasticsearch do indeksu danych RDBMS
- 8. Django grappelli
- 9. Kiedy należy używać JCR i kiedy należy używać JPA/RDBMS?
- 10. Jakie systemy używasz z git
- 11. Dlaczego korzystanie z anonimowego typu działa i korzysta z jawnego typu, którego nie ma w GroupBy?
- 12. Python Django: Używasz staticfiles aplikację bez ustawić STATIC_ROOT ustawienia
- 13. Którego serwera używasz w produkcji dla ASP.NET Core na serwerze * nix?
- 14. Trudność z Django i jQuery (dlaczego $ undefined w aplikacji administratora?)
- 15. Kiedy należy przełączyć z arkusza kalkulacyjnego na RDBMS?
- 16. Z jakimi konwencjami nazewnictwa używasz gałęzi i znaczników SVN?
- 17. Dlaczego moja sesja wygasa, gdy używasz PerformanceTest, a nie IntegrationTest?
- 18. Dlaczego PHP "SERVER_PROTOCOL" pokazuje HTTP/1.1, nawet jeśli używasz https?
- 19. Jak mogę używać redis z Django?
- 20. Django, zarejestruj użytkownika z imieniem i nazwiskiem?
- 21. Django i Neo4j bez Neo4Django
- 22. Czy używasz lepszego?
- 23. BottomSheetDialog/BottomSheetDialogFragment - którego użyć i jak?
- 24. Tensorflow: Kiedy używasz tf.expand_dims?
- 25. Jeśli używasz Apache ZooKeeper, do czego go używasz?
- 26. Funkcja, której używasz w błędzie (z połączenia)
- 27. Najbardziej odpowiednia struktura danych dla uporządkowanej listy w RDBMS?
- 28. Jak używasz makra z jego własnej skrzynki?
- 29. regex, którego nie rozumiem
- 30. Jak używasz skrzypienia?
Prawda. Założę się, że podstawą byłoby się zająć :-) I rzeczywiście Postgres jest sympatyczny. –