ray Posted December 4, 2007 Report Share Posted December 4, 2007 Ir sistēma, kurā ir lietotāju profili, kurus apskata web lapā apmeklētāji. No šiem apmeklētājiem tiek paņemti dati (tāpat kā skaitītājam - ip, apmeklējuma laiks, browser, kura profila lapa apmeklēta utt. tikai ievācot pilnīgi katru hitu) un šie dati tiek ievadīti datu bāzē. Sistēma ir tieši tāda pati kā skaitītājiem, kuros reģistrējas lietotāji ar savām lapām, tikai šeit skatās profilus. Problēma sākas tur, ka es nezinu kā šos datus lai glabā, jo ja būs 10000 lietotāji un katram 10000 apmeklētāji, tad datu apstrāde notiks lēnu pie to apskatīšanas, ja 100 lietotāji reizē mēģinās unikālo apmeklētāju skaitu. Varbūt kādam ir jau gatava vai zin, kur var dabūt šādu DB struktūru? Link to comment Share on other sites More sharing options...
Vebers Posted December 4, 2007 Report Share Posted December 4, 2007 Saliec indexus, attiecīgus datu tipus , neglabā liekus datus un netaisi sarežģītus SQL vaicājumus. Tad gan jau būs ok. Link to comment Share on other sites More sharing options...
andrisp Posted December 4, 2007 Report Share Posted December 4, 2007 Ja, tev piemēram, svarīgi būs tikai jaunākie dati (pēdējais mēnesis, piemēram), tad vecos datus vai nu dzēs vai arī arhivē. Link to comment Share on other sites More sharing options...
Gints Plivna Posted December 4, 2007 Report Share Posted December 4, 2007 Problēma sākas tur, ka es nezinu kā šos datus lai glabā, jo ja būs 10000 lietotāji un katram 10000 apmeklētāji, tad datu apstrāde notiks lēnu pie to apskatīšanas, ja 100 lietotāji reizē mēģinās unikālo apmeklētāju skaitu. Kaut kas ar augšminēto teikumu nav labi. Tb es nesapratu kas notiks lēni un kādas īsti ir prasības? Paskatīties cik manam profilam nosacīti ir hiti (apmeklētāji)? Nu to var kaut kur glabāt kā atvasinātu lauku, izskatās, ka tādu funkcionalitāti piedāvā kaut vai šis pats forums (profile views paskatoties katram userim profailā). Paskatīties cik manam profilam ir unikālie hiti (apmeklētāji), kur man personīgi nav saprotams, kas slēpjas zem vārda unikāls šai gadījumā? No stulbām prasībām ir jāmēģina tikt vaļā jau pašā sākumā nevis jāmēģina tās realizēt. Un ja tie ir kaut kādi unikālie apmeklētāji (pēc ip adreses vai kaut kā tamlīdzīga), tad tas ir reports, tā nav OLTP aplikācijas daļa un reportiem attiecīgi ir pavisam citas ātrdarbības prasības un tos vienlaicīgi 100 cilvēki negriež. Gints Plivna http://datubazes.wordpress.com Link to comment Share on other sites More sharing options...
Grey_Wolf Posted December 4, 2007 Report Share Posted December 4, 2007 ray --> tiiri teoretiski noteikt vai apmekletajs ir Unikals ir Liela problema (iznjemot ja tas ir registrejies sistemaa) tatad risinajums varetu buut: 1. izveidojam atseviskju apmekletaju tabulu , kur pierakstam vinja IP (Nevis xxx.xxx.xxx.xxx formata bet kaa INTEGER) sakuma paskatoties vai saads INT jaun neeksiste (unikalo apmekletaju tabula ;) ) ... 2. ja vinsh ir unikals tad apdeitojam dota profila ierakstu UPDATE ...... unikals=unikals+1 .... ------- P.S. Visas IP (patreiz sastavosas no 4 laukiem var parverst par INT , Jaunas {6 lauki} BIG INT ) Link to comment Share on other sites More sharing options...
andrisp Posted December 4, 2007 Report Share Posted December 4, 2007 Grey_Wolf, man liekas gan, ka autora jautājums bija pavisam ko citu ;) Link to comment Share on other sites More sharing options...
ray Posted December 4, 2007 Author Report Share Posted December 4, 2007 reāli man sistēma sanāk 1:1 ar skaitītāju, bet atšķirība ir tāda, ka apskatīti tiks profili, kuru lapās tiks ievietots attiecīgais kods, kurš ieraksta datu bāzē vajadzīgo info. bet es nezinu kā lai pareizi veido datu bāzi (nav iepriekš bijusi saskarsme ar tieši šāda veida datu bāzi). pameklēju google.lv, lai atrastu kāda daudzlietotāju skaitītāja datu bāzes sistēmu/struktūru, bet īsti neko neatradu. Problēma ko nevaru izdomāt ir kā darīt ar šiem atsevišķajiem profiliem un glabāt viņu statistiku - vienā tabulā vai tasīt katram savu (tikai ja būs 1000 un vairāk lietotāji, nezinu vai būs labi veidot 1000 un vairāk tabulas). Savācot visus datus vienā tabula dienas laikā radīsies ļoti daudz ieraksti (katrs hits ar datiem uz katra apmeklētā profila - >1000 profili, >1000 hiti uz katra , >1000000 hiti), kurus vajadzēs arī atlasīt pēc konkrētiem parametriem, kad profila īpašnieks to vēlesies, piemēram visus laukus, kur ip ir 127.0.0.1. Link to comment Share on other sites More sharing options...
Recommended Posts