Toms Posted March 5, 2005 Report Share Posted March 5, 2005 Nu tad kaa tagad dariit? ieksh FS vai DB? Droshi vien, ka DB? OK, tjip 100 000 lietotaji, katram ieejoshaas un izejoshaas veestules. Nu tjip kaa draugiem.lv Kaa labaak glabaat? DB1 Table1 (user table) id login pass Table2 (inbox) id user_id msg from when taads pats arii outbox. Shitaa der? ja veestules ir 1 000 000?? Tak baigi lielaa tabula sanaak!! Tjip tai tabulaa veestules sameetaatas un lai sadabutu viena usera visas msg, jaapanjem visi user_id. Kaa savaadak? Veel variants - katram useram atsevishkja tabula ar veestuleem (gan inbox, gan outbox). Bet sanaak DB ar ljoti daudz tabulaam.... Kaadi varianti? Link to comment Share on other sites More sharing options...
Klez Posted March 6, 2005 Report Share Posted March 6, 2005 domaa kaac tev te tagad tavaa vietaa portaalu veidos? gribi portaalu pac domaa & dari. info labaak iex DB glabaat. Link to comment Share on other sites More sharing options...
Toms Posted March 6, 2005 Author Report Share Posted March 6, 2005 Tu laikam neiebrauci jautaajumaa. Man vajag zinaat, kuraa no variantiem datubaaze straadaa aatraak, skaidrs? Ja ir viena tabula ar 10 000 000 ierakstiem (vajadziigaa info tabulaa izmeetaata visur kur - tjip taa infa, ko panjemu ar vinu qveriju.) vai viena DB ar 1000 tabulaam, katraa pa 10k ierakstiem (un qverijs njem taadaa pashaa veidaa infu kaa pirmajaa variantaa). off-topic to Klez: Spregaataajs atradies, laikam kaadreiz agraak Tevi taapat lamaaja kaa mani tagad centies salamaat. Da nejau kodu vai ko es te prasu, mazais indiviid! Prasu tieshi to, ko shaada tipa forumos ir jaaprasa. Un atbilde Tav ljoti izsmeljosha - info ieksh DB. Da johaidii, kur taadi rodas!!!! :angry: Link to comment Share on other sites More sharing options...
bubu Posted March 6, 2005 Report Share Posted March 6, 2005 Ja tā viena tabula būs pareizi noindeksēta, tad nevajadzētu būt problēmām ar ātrdarbību, atlasot datus no tās. Link to comment Share on other sites More sharing options...
Venom Posted March 7, 2005 Report Share Posted March 7, 2005 var arī padalīt pa tabulām un izmantot union Link to comment Share on other sites More sharing options...
v3rb0 Posted March 7, 2005 Report Share Posted March 7, 2005 nesapratu kapec inbox un autbox katru sava tabula gribi glabat, vai nepietiek ar vienu tabulu kura glabaa `from` un `to`, un ja gribi izplust ar veel visadiem folderiem (draugi, nedraugi, sievasmate utt) tad liec taja pasaa msg`inga tabula lauku prieksh foldera id. katram userim (t,i. 1000+cik tur taas nulles bija )pa tabulai sataisis nenormali daudz failus ieks viena foldera (mysql un lidzigu db gadijumaa, kas db viena folderii glabaa) un paradisies vellielaka bremze tiesi uz tabulas nolasisanu no diska neka selektet pa lielu tabulu ar pareiziem indexiem un optimalu selectu. vislabaak imho butu vecos (tos kurus gandriz neviens nelasis) messidzus pardzit uz kadu archiva tabulu. Link to comment Share on other sites More sharing options...
Toms Posted March 7, 2005 Author Report Share Posted March 7, 2005 Un ja taa viena tabula baaaaigi lielaa ap 10 000 000 ierakstu? Nebuus bremzes? Nu tjip aatraaks variants nava? Un ja man messidzu atlasiishana notiktu peec user_id, tjip savaac visus messigus ar viena usera id no taaas milzoniigaas tabulas, kuraa nav peec kaartas tie visi vajadziigie ID... Link to comment Share on other sites More sharing options...
Klez Posted March 7, 2005 Report Share Posted March 7, 2005 situaacija(reaala). tabula ar ~ 50,000 ieraxtiem (54.000) lai atlasiitu vienu ierakstu randomaa un pievienotu divus jaunus klaat. laiks: ~0.8 sekundes (viena query apjoms ~ 300 bytes) serveris: CPU = AMD 64 bit 2.0 GHz ram = 512 MB HDD = SCSI 10.000 Link to comment Share on other sites More sharing options...
Toms Posted March 7, 2005 Author Report Share Posted March 7, 2005 njaa, tad jau tie ljimoni sanaak tereetiski 2,6 minuutes taada veida query... Hmm, man nav skaidriibas par to KEY, tjip ar shito vajadzeetu straadaat aatraak? Indeksaacija keshoshana kaut kaada shtolji..? A kaa tad tie draugiem.lv sataisiijushi? TUr tak jaabuut arii ahuunajiem ljimoniem veestulju! 200 000 * apm 100 = 20 000 000 <- noteikti ka vairaak... Vairs nav ideju? Link to comment Share on other sites More sharing options...
bubu Posted March 7, 2005 Report Share Posted March 7, 2005 njaa, tad jau tie ljimoni sanaak tereetiski 2,6 minuutes taada veida query...Kā tu to izrēķināji? Un vai tad tev tik ļoti nepieciešams būs ierakstus atlasīt randomā, kas noteikti ir daudz lēnāk, nekā pēc indeksēta lauka! Link to comment Share on other sites More sharing options...
Toms Posted March 7, 2005 Author Report Share Posted March 7, 2005 OK, indekseets ir tikai id. Jaunaakaas zinjas taadas, ka apmeeram 6 000 000 ierakstu garaaa tabulaa qverijs izpildaas zem sekundes! (zem MySQL) Link to comment Share on other sites More sharing options...
Roze Posted March 7, 2005 Report Share Posted March 7, 2005 A kaa tad tie draugiem.lv sataisiijushi? TUr tak jaabuut arii ahuunajiem ljimoniem veestulju! 200 000 * apm 100 = 20 000 000 <- noteikti ka vairaak... draugiem vairs neizmanto rdbms vēstuļu glabāšanai / apstrādei.. Bet kas attiecas uz datiem istenībā dabūt datus tabulā un tos noselectēt ir tikai viena puse, pavisam citas galvas sāpes sākas, kad jāsāk domāt par konkurentiem insertiem / updeitiem. šeit ir viens no iemesliem kapēc dalīšana pa tabulām (katram lietotājam pa vienai protams pa traku, taču kaut kādus apgabalus izveidot var) ir efektīvāka. Jo vismaz MySQL MyISAMi tabulu gadijumā tādējādi netiek nolockota pilnīgi visi dati bet gan tikai daļa. Protams var lietot InnoDB ar row-level lockingu, bet MyISAMi ir ātrāki SELECTos. Piekam izpildot vienreiz vienu kveriju un paskatoties tā izpildes laiku ir kaut kas viens, bet palaižot konkurentus 100, kas pilnīgi cits.. Link to comment Share on other sites More sharing options...
Toms Posted March 8, 2005 Author Report Share Posted March 8, 2005 Njaa.. triis varianti ieshaavaas pieree.. 1) viena DB un tabulas saliktas peec alfabeeta - tjip use_login, kas saakas ar burtu A ir zem table_a, B ir table_b u.t.t. liidz Z. 2) viena DB un tabulaas noteikts daudzums, teiksim 1 000 000 ieraksti. kaa tiek liidz ljimonam, taa jaunu tabulu uztaisa... 3) taads pats kaa pirmais variants, tikai: vienaa DB tabulas ar sakuam burtiem A - F, otra DB (mosh uz cita servaka) ar burtiem G - M u.t.t. Nus, kaadas domas? <_< Link to comment Share on other sites More sharing options...
Roze Posted March 8, 2005 Report Share Posted March 8, 2005 Manuprāt pirmais variants ir visprātīgākais, jo tādējādi tu vienmēr zini kurā tabulā glabājas lietotāja dati, kur pretēji otrajā - tev nāksies pārlasīt visas tabulas. Trešais ir ķēpigāks no tā viedokļa ka tev papildus jāskatās vai piemēram C ir starp A-F vai kur citur. Link to comment Share on other sites More sharing options...
рпр Posted March 8, 2005 Report Share Posted March 8, 2005 un kā ar č ģ ņ Ā? mīkstinājumus un garumzīmes domāju. Link to comment Share on other sites More sharing options...
Recommended Posts