Tema: Re: Need nuomonės iš šono - DB
Autorius: Laimis
Data: 2011-12-09 19:17:14
2x50 rašė:
> *****************************************
> Jei skaitytum atidžiau, tai pastebėtum, kad siūlyti būdai, kaip
> transakcijos dalinasi/rezervuojasi id (tas pats FOR UPDATE), po ko
> vyksta konkurentiškas/lygiagretus tolimesnis apdorojimas (nebekalbant
> apie tai, kad MyISAM atveju, kai kiekvienas modifikuojantis DMLS'as
> užrakina visą lentą, tai iš principo neįmanoma). Todėl greitaveika bus
> gerokai didesnė, nes aibės transakcijų, pasidalinusios id prie durų,
> toliau tęs darbą (tikėtina imlesnį resursams) lygiagrečiai.
> *****************************************
>
> Va kur yra tamstos klaida, mano manymu.
> Transakcijos id prie duru nepasidalins, ir nebus jokiu lygiagreciu
> nekonfliktuojanciu transakciju. Bus arba po viena be konfliktu (pridejus
> FOR UPDATE) arba lygiagreciai ir visos tarpusavyje konfliktuojancios, is
> kuriu tik viena vienintele atliks realu darba, likusios tik valgys
> resursus.

Na, žiū, pavyzdys:

Transkacijos, tarkime, savo darbą padaro per kokią 1 ms.
Sušoka 100 konfliktuojančių ir laukia eilėje besidalindamos id paprastu 
sakiniu; ar Audrys pasiūlytu būdu, ar mano (kai pirma atskiroje 
lentelėje bandoma rezervuoti UPDATE'u, o vėliau pasitikrinama; tai iš 
esmės analogiškas būdas). Tas pasidalijimas veikiausiai įvyksta per 
milisekundės dalis, o toliau jau, visas 100 transakcijų, gavusios savo 
id gali vykti lygiagrečiai/konkuruojančiai (skaityti iš db, trinti 
įrašus). Tai ir yra tas tavo minėtas „beveik lygiagrečiai“ būdas.


3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser