On 03 May 2001 00:19:08 +0300, Petru Paler wrote:
>
> On Thu, May 03, 2001 at 12:25:03AM +0300, Stefan Laudat wrote:
> > > Erm... Poate nu ma prind eu, dar cum poti rearanja datele la un server
> > > SQL in care nu faci decit sa scuipi linii din syslog? (si, prin
> > > consecinta, nu faci decit sa colectezi cirnatzi de loguri)
> >
> > si in plus structura nu o impun eu, ci el.
> > nu sunt sinucigas sa modific sursele...
>
> Se pare ca n-am primit mesajul la care ai raspuns. Oricum:
> din cand in cand (o data pe ora?) rulezi un script care iti
> ia datele din tabela in care ti le scuipa syslogu' si le
> baga intr-o tabela gandita pentru tipurile de rapoarte pe
> care le vrei.
Mesajul respectiv este reprodus integral in citatul de mai sus.
Dar ce zici de ideea asta: cite o baza de date pentru fiecare syslog
(deci pentru fiecare host), toate hosturile loggeaza in tabela "current"
(din db-ul corespunzator), iar la ora 0:00 se executa urmatoarea
jmekerie (exemplul este fictiv si neeficient, ideea conteaza):
$date=`/bin/date -d yesterday +%Y_%m_%d`;
$query = "CREATE TABLE new_table (sdate date, stime time, \
shost varchar(128), smsg text); RENAME TABLE current \
TO " . $date . ", new_table TO current;";
$err = `/bin/echo "$query" | /usr/bin/mysql -u $user -p$pass -D $user`;
Pe romaneste: creeaza un tabel nou, si inlocuieste atomic tabelul curent
cu tabelul nou, vechiul tabel fiind redenumit in ceva care seamana cu
data zilei precedente.
Apoi prelucrezi linistit tabelele care nu se numesc "current".
Sau nu le prelucrezi, ci le lasi naibii asa, dar tragi o coaja PHP peste
toata shandramaua, ca sa faci cautari cit de jmekere vrei tu. Eventual
mai vomiti cite o tabela pe cite un tape din cind in cind.
> Welcome to data warehousing.
Welcome to Miami beach. :-P
--
Florin Andrei
"Bloat is not about being big. Bloat is about being slow and stupid and not
realizing that it's because of design mistakes." - Linus Torvalds
---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to
unsubscribe from this list.