![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 21.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem logistyczny z systemem statystyk. Chciałbym stworzyć dla każdej strony z osobna statystyki odwiedzin uwzględniające: datę i godzinę wejścia, geolokalizację adresu IP, przeglądarkę klienta oraz jego system operacyjny. Tak przygotowane dane mają być przechowywane w bazie, a następnie wyświetlane na stronie w formie wykresu. Tu niestety rodzi się pytanie: w jakiej formie najlepiej zapisywać dane w bazie? Pierwsze co przyszło mi na myśl, to zapisywać każde wejście w osobnym rekordzie, co jednak zrodziło moje wątpliwości - co się stanie, jeśli przykładowo w ciągu dnia na stronę wejdzie 10.000 osób, a każda z nich będzie przechodziła pomiędzy podstronami średnio 10 razy? To daje nam w przeciągu miesiąca 3 mliony odświeżeń strony, a w ciągu roku 36 milionów. Zatem po roku w celu wygenerowania wykresu ze statystykami odwiedzin, będę musiał pobrać z bazy 36 milionów rekordów co jest raczej niewykonalne. Oczywiście wariant z 36 milionami jest trochę przesadzony, ale taka sytuacja jest możliwa. Jak zatem najlepiej zapisywać tego typu dane w bazie? Jak to robi np. google ze swoimi statystykami (pomijając superwydajne serwery)? Nigdy czegoś takiego nie robiłem, więc proszę o pomoc. Interesuje mnie wyłącznie technologia PHP i MySQL - nic poza tym nie wchodzi w grę. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
baza: wejscia -> podstrony
| | specyfikacja_uzytkownika wejścia w zbliżonym czasie można dopisywać tylko do tabelki podstrony -------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 4 Dołączył: 11.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak będziesz miał 10.000 wizyt unique dziennie to stać Cię będzie na porządny serwer
![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Najprościej:
Jakiś system kolejkowania (np *MQ) ==> ElasticSearch - da Ci to super skalowalność i bardzo wysoką wydajność. Zależy też co chcesz robić dalej z tymi danymi, bo może zamiast ES spodobał by Ci się HBase (i możliwości "współpracy" z Hadoopem). Poczytaj o MongoDB - w Twoim przypadku to bardzo zły wybór. Prawdopodobnie nie użyjesz żadnych jego zalet a dodatkowo Cię ograniczy ![]() -------------------- Linkedin | ...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 27.05.2013 Ostrzeżenie: (10%) ![]() ![]() |
Proponuję abyś zajrzał na stronę Web Merrics i poczytał o Google Analitics, na pewno znajdziesz potrzebne informacje.
POzdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 00:36 |