[ mracninone @ 23.02.2013. 15:16 ] @
imam jedno pitanje u vezi mysql-a: ako vise niti treba da upisuje u jednu istu tabelu baze, da li mysql sam vrsi sinhronizaciju tako da je upis u tabelu "thread safe". npr kad 2 niti vrse update nad istim redom tabele da li innodb izvrsava te transakcije jednu za drugom ili istovremeno pise pa se sinhronizacija mora uraditi u samom programu? i da li je "thread pool" vec unapred sinhronizovan pa kad dobijem neku konekciju ne moram da brinem oko toga da ce podaci biti lose upisani?
[ bogdan.kecman @ 23.02.2013. 17:53 ] @
Citat:
mracninone: imam jedno pitanje u vezi mysql-a: ako vise niti treba da upisuje u jednu istu tabelu baze, da li mysql sam vrsi sinhronizaciju tako da je upis u tabelu "thread safe". npr kad 2 niti vrse update nad istim redom tabele da li innodb izvrsava te transakcije jednu za drugom ili istovremeno pise pa se sinhronizacija mora uraditi u samom programu? i da li je "thread pool" vec unapred sinhronizovan pa kad dobijem neku konekciju ne moram da brinem oko toga da ce podaci biti lose upisani?


mozes da upisujes u bazu sa koliko god threadova hoces, naravno da je thread safe.
zavisno od toga gde, sta i kako upisujes to moze da bude brze ili sporije nego da upisujes samo jednim threadom

sto se tice "da li su podaci upisani", ako koristis innodb on je ACID, sto znaci kada ti uradis commit transakcije i mysql ti kaze ok - to znaci da je data upisana.

ne znam o kakvoj sinhronizaciji pricas, nesto ti tu gadno nisi razumeo kako multithreaded aplikacije rade