Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] System zarządzania reklamą
Forum PHP.pl > Forum > Przedszkole
in5ane
Cześć. Tak się zastanawiałem ostatnio, jak optymalnie zrobić system zarządzania reklamą. Dajmy na to mamy kilka powierzchni reklamowych na stronie (np. banner pod logo, billboard w tle i banner np. w treści artykułu - razem 3 pozycje reklamy). Chciałbym uwzględnić w systemie zliczanie ilości wyświetleń oraz zliczanie ilości kliknięć. Teraz nasuwa się moje konkretne pytanie. Jak zrobić to optymalnie, mam na myśli stworzenie bazy danych. Mój przykład (proszę mi powiedzieć, czy to jest dobre pod kątem optymalizacji).

advert:
id (int) || title (varchar) || img_source (varchar) || link (varchar) || advert_type (tinyint)

display:
advert_id (int) || count (int)

click:
advert_id (int) || count (int)

I to wydaje mi się w miarę OK, z tym, że co zrobić, żeby dla każdej reklamy można było zliczać statystyki wyświetleń i kliknięć z podziałem na dni, tygodnie, miesiące, lata itd. Czy w display i w click tworzyć każde wyświetlenie i kliknięcie osobno? Wydaje mi się, że to po pewnym czasie zajedzie bazę. Dajmy na to, ma to działać przy 50000 użytkowników online, czyli co sekundę kilkaset wyświetleń strony (podstrony), co daje kilkaset wyświetleń reklam (kilkaset razy 3 pozycje reklam na stronie). Kliknięć na pewno będzie duuużo mnie, ale wyświetleń będzie bardzo dużo. Oczywiście zaznaczam od razu, że każde usunięcie reklamy wyczyści również display i click w bazie (po odpowiednim advert_id).

Macie jakieś pomysły?
motyl-pl
Na moje powinno to być tak jak napisałeś i do tego:
- oddzielny serwer oparty na memcashu i serwujący statyczny content
I zamiast zliczania wyświetleń i zapisywania do bazy, to:
1. Zliczanie do pliku tekstowego bądź xmla by później móc to sobie parsować we wszelaki sposób.
Powiedzmy:
Chcesz wyświetlić reklame:
http://advert.domena.pl/reklama.php/pzu (I wypluwanie tego jako obrazek, bądź flash).
<a href="http://advert.domena.pl/zlicz.php/pzu"><img src="http://advert.domena.pl/reklama.php/pzu" alt=""></a>
Zliczanie kliknięc przy odnośniku i odpowiednie przekierowanie.
Zliczanie wyświetleń obrazka przez php'a pierw zapisującego do pliku wyświetlenie, a potem wywoływanie jako (Content-type: image/jpg).

Zostaje też inne rozwiązanie jak postawienie crona w nocy raz na dzień który analizował by logi i wyciągał ilość pobrań obrazka i wyświetlania go.
in5ane
To w miarę skomplikowane sposoby. Ale jednak tak, jak ja napisałem w oparciu o SQL to coś takiego zajedzie bazę? Dziennie np. około pół miliona wpisów. Po prostu zastanawiam się nad takim poważnym systemem zarządzania reklamą, aby naprawdę wytrzymał dużą ilość zapytań.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.