abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 22:00 | Komunita

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil (podcast) detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 64 tisíc vývojářů. Jejich nejmilovanější platformou je linuxový desktop. Ten je také druhou nejpoužívanější platformou vývojářů.

Ladislav Hagara | Komentářů: 1
24.3. 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

Ladislav Hagara | Komentářů: 19
24.3. 01:11 | Komunita

Před třemi týdny Mozilla.cz představila projekt Photon, jehož cílem je návrh a implementace nového vzhledu Firefoxu. Včera zveřejnila první náhled vzhledu Photon. Práce na projektu Photon jsou rozděleny do pěti týmů, které celkem čítají 19 lidí. Zaměřují se na zlepšení prvního spuštění Firefoxu a zaujetí nových uživatelů, celkovou úpravu vzhledu, zlepšení animací, zrychlení odezvy uživatelského rozhraní a také upravení nabídek. Vývoj lze sledovat v Bugzille.

Ladislav Hagara | Komentářů: 44
23.3. 20:00 | Komunita

OneDrive pro firmy je již ve webových prohlížečích na Linuxu stejně rychlý jako na Windows. Microsoft opravil chybu z listopadu loňského roku. OneDrive pro firmy běžel na Linuxu mnohem pomaleji než na Windows. V popisu chyby bylo uvedeno, že stačilo v prohlížeči na Linuxu nastavit v user-agentu Windows a vše se zrychlilo. Odpovědí Microsoftu bylo (Internet Archive: Wayback Machine), že Linux není podporován. Po bouřlivých diskusích na redditu i Hacker News byla chyba nalezena a opravena.

Ladislav Hagara | Komentářů: 6
23.3. 19:00 | Zajímavý projekt

Byla vyhlášena soutěž Hackaday Prize 2017. Soutěž je určena vývojářům open source hardwaru. Pro výherce je připraveno celkově 250 tisíc dolarů. Každý ze 120 finalistů získá tisíc dolarů. Nejlepší pak navíc 50, 30, 20, 15, 10 a 5 tisíc dolarů. Jedná se již o čtvrtý ročník soutěže. V roce 2014 zvítězil projekt globální sítě open source pozemních satelitních stanic SatNOGS. V roce 2015 zvítězil open source systém pro řízení elektrických invalidních vozíků pohybem očí Eyedriveomatic. V roce 2016 zvítězil modulární robot Dtto.

Ladislav Hagara | Komentářů: 0
23.3. 15:00 | Bezpečnostní upozornění

Byla vydána Samba ve verzích 4.6.1, 4.5.7 a 4.4.12. Řešen je bezpečnostní problém CVE-2017-2619. Pomocí symbolických odkazů a souběhu (symlink race) lze "teoreticky" získat přístup k souborům, které nejsou sdíleny. Linuxové distribuce jsou postupně aktualizovány (Debian).

Ladislav Hagara | Komentářů: 0
23.3. 07:43 | Nová verze

Na Steamu se objevil port hry Arma: Cold War Assault (Operation Flashpoint) pro Mac a Linux. … více »

creon | Komentářů: 30
23.3. 05:55 | Nová verze

Po 18 měsících od vydání verze 8.0 byla vydána verze 9.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
23.3. 03:33 | Komunita

Platnost posledního patentu souvisejícího s Dolby Digital (AC-3) vypršela. Po MP3 se tak do Fedory oficiálně dostane také kodek AC-3.

Ladislav Hagara | Komentářů: 5
23.3. 00:44 | Komunita

Feral Interactive, společnost zabývající se vydáváním počítačových her pro operační systémy macOS a Linux, nabízí své hry na Steamu vývojářům open source 3D grafické knihovny Mesa zdarma. Podmínkou je minimálně 25 commitů za posledních 5 let. Stejnou nabídku dostali vývojáři knihovny Mesa v roce 2015 od Valve. O rok dříve dostali od Valve tuto nabídku vývojáři Debianu a Ubuntu.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 937 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: postgresql - optimisticke transakce

    9.7.2007 15:30 jenda
    postgresql - optimisticke transakce
    Přečteno: 417×
    rad bych mel potvrzeno, jestli je mozno pouzivat v postgresql transakce v optimistickem modu. Jestlize je tomu tak, pak bych se rad dovedel, jaky je doporuceny zpusob jak se osetruji kolize, resp. jak je to v praxi obvykle.

    Pouzuivaji se zamky na recordy nebo se to nevyplati a zamykaji se tabulky. Existuje nejaka moznost transakce znova rozbehnout od nejakeho mista v programu. Existuji nejake takove 'checkpointy'. Predem dekuji za podnety a navrhy zrovna tak jako za linky k uvedene problematice.

    p.s. rozhodujeme se mezu fb nebo pgsql

    Odpovědi

    AraxoN avatar 9.7.2007 16:07 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    A fine is a tax for doing wrong. A tax is a fine for doing well.
    9.7.2007 16:52 jenda
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    hm, tady by nam musel nekdo znaly pomoci, ja jsem byl toho nazoru, ze 'transaction isolation' nema s tim optimistic/pesimistic nic spolecneho. Nad tim savepointem se musim jeste zamyslet, diky.
    okbob avatar 9.7.2007 17:13 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    Optimisticky mod je vicemene jediny a implicitni. Zamky jsou zakladni brzdou databaze, takze se pokud mozno nepouzivaji. Proto ma taky PostgreSQL (stejne jako Firebird) tzv. multigeneracni architekturu, coz tedy neznamena, ze zamky neexistuji (jak na radcich, tak na tabulkach, pripadne databazi). Pokud si je ale nevynucuje uloha, tak se nepouzivaji. Jestli jste drive delali s Foxkou nebo necim podobnym, tak se snazte na vsechno co nejdrive zapomenout. SQL databaze se chovaji jinak.

    http://www.postgresql.org/files/developer/transactions.pdf
    http://www.sai.msu.su/~megera/postgres/gist/papers/concurrency/concurrency.pdf Pavel
    9.7.2007 18:38 jenda
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    Pokud si je ale nevynucuje uloha, tak se nepouzivaji.

    ja si nedokazu predstavit, ktere jsou to aplikace, ktere to nevynucuji. Schematicky napr:

    ... - SELECT (...na neco .., precteno do lokalnik promenych..)

    - zpracovani lokalnich promenych ...

    - podle situace UPDATE nejake z tech radek v tabulce

    - COMMIT

    jestlize toto cini 2 procesy soucasne, tak budto u toho COMMITU, nebo podle databaze uz pri tom UPDATE krici jeden z tech procesu, ze ta transakce nebo ten update neprobehl. To jsem si myslel ze se musi vyskytovat u sebeprimitivnejsi aplikace. A nyni musim reagovat na tu situaci, ze nejaka akce nemohla byt provedena. V tech podkladech co linkujete (a i u jinych na netu) je lapidarne receno, ze je potreba transakci znova nastartovat. Nikde jsem ale nevycetl jak to provest automaticky.
    9.7.2007 18:43 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    "Nikde jsem ale nevycetl jak to provest automaticky."
    Možná se jen hloupě ptám, ale pokud jste 1) odvolal transakci kvůli konfliktu při zápisu nebo commitu a 2) jste autorem dotyčné aplikace, tak snad není problém naprogramovat "try again" (a případně ověřit, zda není třeba interaktivní zásah == změnila se důležitá data, která by způsobila, že transakce by již neměla smysl tak, jak ji chcete provést)? Tohle je až příliš individuální dotaz, než aby Vám na něj mohl zodpovědět kdokoli jiný, než Vy sám.
    9.7.2007 22:49 jenda
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    ...tak snad není problém naprogramovat "try again" ...

    no prave, a ja bych rad vedel, jak to nekdo dela. Napr. jestli si dela ve funkcich nejake znacky a vraci se k nim setjmp-em? Nikdy jsem to totiz v zadnych prikladech nevidel. Ja mam takovy silny pocit, ze aplikace se delaji tak, ze kdyz je nejaka transakce nehotova, tak se predhodi uzivateli, aby nastartoval ten dotaz znova. Coz v mem pripade bohuzel nejde protoze se u batchprocedur musim snazit, aby si aplikace poradila sama.

    Vim, ze se to omezuje tim, ze se pouziji zamky, ale jak pise pan Stehule, ty v aplikaci nevidime radi. Ale je to patrne jedina cesta, jak omezit ty nedokoncene transakce na ty s tim deadlockem. S tim se samozrejme zit musi, kdyz se to stane 1 x za pul roku, tak si to uzivatele prectou v logfile a 'good is'. Tedy vpodstate ta strategie spociva v zamezeni te situace, abych musel nejakou transakci zacit znovu. A ta otazka znela, je tento nazopr spravny? A ten poddotaz byl, jak to delate Vy ostatni?
    9.7.2007 22:59 outsider
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    A ta otazka znela, je tento nazopr spravny? A ten poddotaz byl, jak to delate Vy ostatni?
    Ano. Presne podle teorie.

    Na tomhle neni moc co vymyslet a zadnou ameriku neobjevite. Bud zamykate a riskujete deadlocky nebo nezamykate, ale musite hlidat konzistenci (no, musite :-) ) a dostanete se do stavu, kdy to uzivatel musi zadat znovu... Co je vyhodnejsi ale zavisi na logice vasi aplikace a neexistuje zadna obecna rada, co je lepsi!
    9.7.2007 23:09 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    Uvedu příklad: Uživatel zadá změnu v nějakém řádku - třebas jen jedno číslo v jednom sloupečku. Před commitem zjistím, že to nemůžu potvrdit nebo zapsat, protože došlo paralelně ke změně. Nu tak to odvolám a zkontroluju, jestli se nezměnila data kritická pro tuhle změnu. Jestli někdo panu X změnil nebo nezměnil ulici a číslo domu mne příliš nezajímá, pokud mu měním fotku v databázi. Pokud mi někdo změnil pod rukou pole, které uživatel právě zadal, asi by měl na to být upozorněn, pokud nový údaj zadal na základě starého a již neplatného.

    Nevím, co řešit v dávkách. Buď se mi "pod rukou" (ale pod ochranou MVCC) změnilo něco, z čeho dokážu novou transakci přepočítat (u přípisů na účtu je to jednoduché, že? Prostě těch 13547 Kč připočtu k nové hodnotě místo k původní) nebo to přepočítat nedokážu a je to závažný stav a ten nějak oznámím - mailem správci, třeba? Nemáte podrobnější příklad?
    10.7.2007 00:02 jenda
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    ono je to takhle. Ten system, pro ktery se snazim verifikovat tu pgsql je firemni informacni system ve kterem pracuji neustale na pozadi desitky programu, ktere neustale zjistuji stavy na skladech, aktuani dodavky, postupy prace, stav vyroby a neustale optimalizuji vyrobu a objednavky. Mezitim pracuji (pres den) samozrejme interaktivne uzivatele. Napr. tabulky vyrobnich zakazek jsou jaksi neustale 'pod tlakem', nebot se podle toho, co si prave mysli simulace rozkladaji na subzakazky, meni se jejich cas a jednotlive vyrobni prikazy meni svuj stroj, cas naplanovani, mnozstvi a pod.

    Neco takoveho nelze samozrejme programovat jako obvykle projekty pro banku, kde si sednou desitky programatoru na 2 roky do kamrliku a potej s kazdym sql-statementem a kdyz si nevedi rady, tak vydaj hlasku, ze si ma neco nastartovat uzivatel znova. Tady se na to slo s frameworkem, ktery generuje ty sql-statements sam na zaklade vlastniho jazyka a aby byl ten system menitelny, je to cele rozdeleno do mnozstvi minimodulu, ktere nejaky generator sesumiruje dohromady.

    Aplikacni programator tedy nejake SELECTy vubec nevidi, ty zna jen ten generator a proto si nemuze nad kazdou libovolnou kombinaci tech modulu zamyslet, co udelat, kdyz ta transakce nahodou nevyjde. To musi udelat ten system sam. Programm je z poloviny 90 tych let s nejakou zvlastni databazi od Siemense. Ta databaze (nebo ten framework , to nevim) si vede vlastni checkpointy a a dokaze transakce opakovat ze se to rozbehne od toho checkpointu znova. Bylo mi receno, ze je to neco podobneho jako ta slavna NonstopSQL od firmy tandem.

    No a ja se snazim nyni tak trochu osahat pudu , zda by se nedala nejaka rychla rekneme 'uprimne' levna databaze k tomu pouzit. Proto jsem tak trochu naslepu vypalil a doufal, ze se nekdo s nejakou takovou problematikou uz setkal - nahoda je vul :-)
    okbob avatar 10.7.2007 10:02 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    je to trochu jinak. v podstate nikdy nejste schopny sam detekovat nekonzistenci. Nezalezi ani tak jak druha session zmenila data, ale kdy druha session potvrdi (commit) zmenena data. V ten okamzik uz se necha detekovat kolize. A stejne tak u vas, dokud nedate commit, tak neni jasnem jestli dojde ke kolizi nebo ne (protoze jste samozrejme mohl dat rollback). Proto je detekce kolizi vyhradne zalezitosti systemu. V podstate by se mela vetsina transakci, kde hrozi riziko kolize psat do cyklu:
      for (i=1,10,i++)
      {
        BEGIN
          SET TRANSACTION SERIALIZABLE
          SELECT INTO ... 
          UPDATE ...
        try
        {
           COMMIT
        }
        catch 
        {
           continue;
        }
        break;
      }
    
    okbob avatar 10.7.2007 09:47 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: postgresql - optimisticke transakce
    Je dost pripadu, kdy vam staci UPDATE t SET c = c +/- konstanta a pak zadne zamky nepotrebujete. Pokud nutne potrebuji data do lokalnich promennych, pak musim uz pouzit radkovy zamek
    BEGIN
      SELECT .... FROM FOR UPDATE;
      ....
      UPDATE ...
    COMMIT
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.