Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Obliczenia w czasie rzeczywistym, czy przechowywanie danych w bazie?
awakening
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.01.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Co jest ogólnie "lepszym" rozwiązaniem, obciążanie procesora wykonując obliczenia na danych z bazy za każdym razem gdy użytkownik wysyła żądanie, czy przechowywanie już "przeliczonych" wartości w dodatkowej tabeli i aktualizowanie ich w zależności od zmian, które dokona użytkownik.

Na pierwszy rzut oka wydawałoby się, że odciążenie procesora jest dobrym pomysłem, ale z drugiej strony czas odczytu i zapisu zmodyfikowanych danych do bazy może znacząco wpłynąć na czas odpowiedzi serwera. Poza tym utrzymywanie spójności danych może być dużym wyzwaniem, no i rozmiar bazy danych znacznie wzrośnie.

Jedno i drugie rozwiązanie ma swoje plusy i minusy i nie bardzo wiem, na które się zdecydować. Może wdrożyć prostsze, czyli pierwsze i optymalizować dopiero w razie problemów z wydajnością?
Go to the top of the page
+Quote Post
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Po co obliczać kilka/naście/set razy to samo, skoro można obliczyć raz i zapisać wynik?

Poczytaj o cache.
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jedyną poprawną odpowiedzią jest: to zależy - nie podałeś żadnych konkretnych informacji, nie oczekuj żadnej konkretnej odpowiedzi.

Cytat
Może wdrożyć prostsze, czyli pierwsze i optymalizować dopiero w razie problemów z wydajnością?
W ogromnej większości przypadków tak właśnie należy zrobić.
Go to the top of the page
+Quote Post
awakening
post
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.01.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(sowiq @ 28.08.2014, 16:57:11 ) *
Poczytaj o cache.


Jest to jakieś rozwiązanie. smile.gif
Go to the top of the page
+Quote Post
by_ikar
post
Post #5





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Jeżeli chodzi o spójność danych, to od tego są klucze obce i transakcje. Dodatkowo żeby nie trzymać w aplikacji logiki odpowiadającej za takie aktualizacje, można to przenieść na bazę i użyć wyzwalaczy (triggerów).

Ten post edytował by_ikar 28.08.2014, 16:25:47
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 22:35