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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
dnes 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 2
včera 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
včera 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 5
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 28
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
12.1. 12:55 | Nová verze

Telegram Desktop, klient služby pro rychlé psaní zpráv Telegram (Wikipedie, zdrojové kódy) pro počítače, byl představen v roce 2013. Dnes byla vydána verze 1.0. Podrobnosti v oznámení na blogu.

Ladislav Hagara | Komentářů: 12
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (75%)
 (3%)
 (10%)
Celkem 291 hlasů
 Komentářů: 19, poslední 13.1. 22:02
    Rozcestník
    Reklama

    Dotaz: postgresql - optimisticke transakce

    9.7.2007 15:30 jenda
    postgresql - optimisticke transakce
    Přečteno: 415×
    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.