Az érdemi szakmai részre (batch vs. real-time) reagálnék egy kis eszmefuttatással. Lehet, hogy jobban jársz, ha nem olvasod el :-)
Tegyük fel, hogy van az "egyenlegek" nevű táblád a hagyományos SQL adatbázisodban. A sorokban egy-egy "számlaszám", és a rajta lévő "egyenleg" szerepel.
A batch feldolgozást általában úgy csinálják, hogy:
UPDATE egyenlegek SET egyenleg = egyenleg + valamennyi1 WHERE szamlaszam = 'NAV ÁFA számlaszám'
UPDATE egyenlegek SET egyenleg = egyenleg + valamennyi2 WHERE szamlaszam = 'NAV ÁFA számlaszám'
UPDATE egyenlegek SET egyenleg = egyenleg + valamennyi3 WHERE szamlaszam = 'NAV ÁFA számlaszám'
...
COMMIT
Tök gyorsan lefut, juhéj.
Real-time pedig optimális esetben több szálon, egymással párhuzamosan megy az, hogy:
UPDATE egyenlegek SET egyenleg = egyenleg + valamennyiN WHERE szamlaszam = 'NAV ÁFA számlaszám'
COMMIT
UPDATE egyenlegek SET egyenleg = egyenleg + valamennyiM WHERE szamlaszam = 'NAV ÁFA számlaszám'
COMMIT
...
itt bizony előfordulhat, hogy a sok párhuzamos szál ugyanarra a sorra vonatkozó lockért versenyzik egymással, emiatt az áteresztőképesség sokkal kisebb.
Nem kell elmondanod, hogy ez az egész úgy vacak, ahogy van, én is tudom - de legalább 5 magyar bankról tudom, hogy belefutott ebbe a problémakörbe, úgyhogy nem teljesen világtól elrugaszkodott a dolog.
Azt sem kell elmondanod, hogy pl. egy lehetséges megoldás az, hogy a fentebbi helyett:
- csinálsz még egy egyenleg_delták táblát
- abba INSERT-elgetsz, mert akkor nem kell a lockokért versenyezni
- másik folyamatban, pl. batch jelleggel ( :-) ) UPDATE-elgeted az egyenlegek táblát
- ...és az elmúlt tizen-huszon évben írt összes lekérdezésedet, amelyben volt "JOIN egyenlegek" rész átírod, hogy inkább valami tárolt eljárással visszaadott egyenleggel (ami az egyenlegek és az egyenleg delták ismeretében kiszámolható) dolgozzon... - ööö, ez az utolsó lépés azért tud időigényes lenni.
Remélem ezzel demonstráltam, hogy számos bankokkal dolgozó kolléga képes ám megoldásokat szállítani - de nem képes időigényes problémákat rövid idő alatt megoldani. És ez bizony szerintem nem az ő hibájuk, és nem kell kirúgni őket, mint alkalmatlan alkalmazottakat...