LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek MySQL (41) - Transakce

smysluplnost transakci 7.10.2005 13:33
Johann von Nepomuk
nevim jestli to mate v pristich pokracovanich planovane, ale mozna by nebylo od veci doplnit v diskuzi strohou teorii popsanou v clanku o prakticke zkusenosti a poznatky. Zajimalo by me (a doufam ze i ostatn)i:

- v jakych situacich je nasazeni transakci nevyhodne

- jake problemy prinaseji transakce zejmena v automatizovanych zpracovanich (batch) a jak tyto problemy resits ohledem na funkcnost nadrazenych informacnich systemu?

- omezuje nasazeni transakci modularitu softwarovych systemu a jak to resit, jestlize ano?

- je vubec mozne v heterogennich systemech dosahnout uplnou konzistenci dat a mame so o to vubec snazit?

Re: smysluplnost transakci 7.10.2005 14:27
Petr Zajíc

Zdravím,

  • Nasazení transakcí může být nevýhodné všude tam, kde k "nastolení konzistentního stavu" lze použít jiné prostředky. Obecně například u jednouživatelských systémů, kolekcí dat jen pro čtení a v některých dalších případech
  • při automatizovaném zpracování dat se můžete dostat do situace, kdy je třeba zásah k tomu, aby se rozhodlo, zda transakci dokončit nebo zrušit. Obecně se to řeší dost problematicky; jestliže by byl nutný lidský zásah tak zpracování není automatizované; na druhou stranu mohl-li by rozhodnout počítač, lze někdy rozhodovací proces "včlenit" přímo do transakce.
    Tak například vezměme v úvahu primitivní příklad - natahování dat z textového souboru. Dejme tomu, že uprostřed souboru je řádek se špatnou strukturou a ten nelze načíst. Měla by se kvůli tomu zrušit transakce? Možná ano, možná ne. Pokud by v takovém případě odpověď záležela na více vlivech, může to mít dopad jak na systém, tak na nadřazený systém (třeba SAP, co já vím...)
  • Nasazení transakcí obecně modularitu softwarových systémů neomezuje. To proto, že většinou je žádoucí, aby jednotlivé kroky transakce byly provedeny vždy nebo nikdy již z principu. Otřepaný příklad - bankovní transakce (odečtení prostředků a přičtení jinam)může být součástí modulárního systému a nemusí to nutně vadit. Na druhou stranu ve stejném systému půjde odečít peníze a nikam je nepřičíst - při vyplacení klientovi na přepážce. K tomu může sloužit jiná transakce a celý systém může i nadále zůstat modulární
  • V heterogenních systémech nelze dosáhnout 100%ní konzistence dat. Zase příklad - informační systém nahrává data na internet a v polovině tohoto procesu vypadne spojení. Transakce sice může být napsána tak, že případné změny vrátí nebo potvrdí po obnovení spojení, ale asi těžko budete chtít mezitím odstavit celý internetový portál (byl to jen neučesaný příklad). Nicméně snažit bychom se o konzistenci dat měli - šalamounská odpověď je ta, že "do té míry, jak jen je to možné". Naprostou většinu počítačových systémů lze nějak v konzistenci udržet; transakce nejsou jedinou volbou (zase si vymyslím: volba OS, hardware, zálohovací mechanizmy a tak dále)
Re: smysluplnost transakci 10.10.2005 11:56
Johann von Nepomuk
například u jednouživatelských systémů
to si nejsem tak jisty.

automatizovaném zpracování dat..
pocitacove systemy slouzi ale prevazne k takovemu zpracovani. Panu Gatesovi se sice podarilo zblbnout skoro cele lidstvo, ze zpracovani dat se provadi tak, ze se cumi na monitor a neco zadava do klavasnice, ale my kteri diskutujeme na linuxovem portalu vime, ze to tak neni, ze filosofie unixu je prave o automatizovanem zpracovani dat. Mozna by nebylo od veci se zamyslet, jestli by se nepopularizoval linux lepe, kdyby nabizel programy trochu jine nez kopie windows

modularita
samozrejme, ze bychom museli nejdrive vyjasnit co kdo mini modularitou. Ten vas priklad jsme nepochopil, ja myslim na situace, kdy nekdo pise napr. cast (modul) na zpracovani skladovych dat. Modul je pro zbytek sveta ta znama cerna skrinka (information hiding) a mel by byt nezavisly na okoli. Ale transakce je neco globalniho - a bohuzel se te cerne skrinky dotyka. Ma napr. vyrobce modulu pocitat s tim, ze system, na kterem to pobezi podporuje nested transaction nebo ma byt pres svou interface informovan, ze transakce je aktivni a ze nemusi sam ve svem zpracovani zadnou startovat??

muj zaver je, transakce je tehdy, kdy je to nezbytne nutne!
Re: smysluplnost transakci 10.10.2005 12:56
Petr Zajíc
Předem podotýkám, že nechci vyvolat flame ;-))
1) "filosofie unixu je prave o automatizovanem zpracovani dat" - slyším takto podané prvně, budu si pamatovat. Lze doložit odkazy?
2) "transakce je tehdy, kdy je to nezbytne nutne" - každá databázová operace je sama sobě transakcí, takže nutné je to pokaždé, když chcete zapsat/přečíst údaj z DBMS.
3) modularita, vnořené transakce a DBMS - to asi přerůstá rámec seriálu o MySQL. Vnořené transakce jsou prevíti už z principu. Pro nezasvěcené - vnořená (nested) transakce je transakce běžící jako součást nadřazené transakce. Když je vnořená transakce odvolána, nastává filozofická otázka co s nadřazenou transakcí ;-)))

KOMENTARZE
smysluplnost transakci 7.10.2005 13:33 Johann von Nepomuk
  L Re: smysluplnost transakci 7.10.2005 14:27 Petr Zajíc
    L Re: smysluplnost transakci 10.10.2005 11:56 Johann von Nepomuk
      L Re: smysluplnost transakci 10.10.2005 12:56 Petr Zajíc
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4852x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10916x
5. Onebase Linux
Download: 9632x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2383x
2. RDGS
Download: 937x
3. spkg
Download: 4693x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7171x
7. MISU pyFotoResize
Download: 2777x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz