Wykresy

0

Potrzebuję zrobić wykresy, które również będą pełniły funkcję archiwum. Załóżmy że od dnia dzisiejszego przez następne parę miesięcy, chcę aby na wykresie były przedstawiane pewne dane z dość dużą częstotliwością. Tutaj rodzi się moje pytanie - jak się za to zabrać? Dobrym przykładem o co mi chodzi, będą np. wykresy kursu na giełdzie. Czy naprawdę to wszystko będę musiał trzymać w bazie? Jeden wykres będzie się aktualizował co 10-30 minut. A takich wykresów (różnych) będę miał multum.

1

Co Ci jest potrzebne na wykresie? Wartość danej cechy, dla której chce robić wykres oraz jakaś jednostka obrazująca postęp. Wystarczy Ci ze będziesz przy każdej wartości zapisywanej do bazy, dodawał w kolumnie obok czas, kiedy był wykonywany ów pomiar. Na osi X dasz czas, na osi Y wartości.

Aktualizacja wykresu co 10-30 minut to nic strasznego, gorzej jakbyś mierzył 100 parametrów w odstępach jednosekundowych.

Użyj jakiejś biblioteki do wykresów i tyle. Czy mogę jeszcze jakoś pomóc?

0

Rozumiem, że chodzi Ci o wykresy dostępności stron?
Ja zrobiłbym w bazie 2 tabele: strony i dostępności. Jak powinna wyglądać tabela strony, wiadomo. W tabeli dostępności zapisywałbym id strony, stan i znacznik czasowy. Na podstawie tych danych generowałbym dopiero wykresy, dynamicznie oczywiście, ew. z jakimś cachowaniem.

Tylko zastanawia mnie tutaj analogia do wykresów kursu na giełdzie...

0

Dziękuję obu Panom za odpowiedź. Myślałem o takim rozwiązaniu jak piszecie, ale też zastanawiałem się czy po jakimś czasie baza nie będzie za bardzo zaśmiecona. Jeszcze raz dzięki :)

2

Nie musisz dla każdego punktu/stanu tworzyć nowego wiersza. Przy takiej ilości danych czytelność już chyba nie gra roli, dlatego ja zawsze staram się tworzyć już "zestaw" danych / wiersz.

Gdyby dostepność była mierzona raz dziennie (true/false) 1. wiersz mógłby przechowywać dane z całego roku:

id / idStrony / styczen / luty / marzec / kwiecien...
styczeń: [1,0,0,1,1,1,1,0,1,1,1...]

To tylko głupi przykład. Pobranie 1 wiersza z roku i podzielenie w PHP na 365 dni będzie szybsze niż pobranie 365 wierszy.

W twoim przypadku byłoby to 17520 wierszy (24 * 2 * 365) na stronę, co przy 1000 stron daje już 17 i pół miliona wierszy. A fajnie byłoby mieć statystyki z kilku lat... Ciekawe czy w Twoim przypadku nie lepiej byłoby przechowywać danych w plikach :) To już wykracza poza moją wiedzę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1