abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 3
    včera 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    2.3. 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 2
    2.3. 13:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    1.3. 22:22 | Upozornění

    Google blokuje Chaty RCS (Rich Communication Services neboli rozšířené komunikační služby) na telefonech s rootnutým Androidem nebo odemčeným zavaděčem [9to5Google].

    Ladislav Hagara | Komentářů: 18
    1.3. 12:22 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 16. a 17. března v Praze na Karlově náměstí 13. O open source hardwaru bude přednášet Mitch Altman.

    Ladislav Hagara | Komentářů: 1
    1.3. 08:00 | IT novinky

    Počítač NitroPC Pro 2 od společnosti Nitrokey s corebootem Dasharo byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

    Ladislav Hagara | Komentářů: 1
    1.3. 07:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 1.20. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 24
    29.2. 13:00 | IT novinky

    Jednodeskový počítač Raspberry Pi slaví 12 let. Prodej byl spuštěn 29. února 2012 (Wikipedie, 𝕏).

    Ladislav Hagara | Komentářů: 13
    29.2. 12:00 | Nová verze

    Byla vydána verze 3.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    Steam
     (34%)
     (27%)
     (5%)
     (9%)
     (24%)
    Celkem 91 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: Protokol/formát pro přírůstkové aktualizace databází

    xkucf03 avatar 21.1.2014 12:58 xkucf03 | skóre: 49 | blog: xkucf03
    Protokol/formát pro přírůstkové aktualizace databází
    Přečteno: 719×

    Existuje nějaký protokol/formát pro přírůstkové aktualizace relačních databází?

    Dejme tomu, že mám nějaký veřejný registr a chci nabídnout přírůstkové aktualizace – aby si lidé nemusely stahovat pokaždé všechno znova.

    Teoreticky by jim šlo dát SQL skript, který bude obsahovat INSERTy, UPDATy a DELETy, ale to je jednak takové dost volné (klient musí dost věřit serveru, aby si spustil jeho SQL skript) a jednak je to platformě závislé (dialekt konkrétního DBMS a vlastně i závislost na relačním schématu jako takovém – teoreticky si klient může ukládat data jinak a SQL třeba vůbec nepoužívá – chce jen platformě nezávislý seznam změn záznamů).

    (k otázce mě inspiroval zápisek v blogu: Klient-server synchronizace – konečné řešení)

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    Odpovědi

    21.1.2014 13:28 logik
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    Multiplatformní neee :-( Různé databáze nabízejí různá více či méně fční proprietální řešení typu transakčních logů. Ale tato řešení jsou zpravidla stejně bezpečné, jako vykonávání SQL skriptu, či spíše ještě nebezpečnější.

    Nechápu, co je nebezpečné na SQL skriptu - pro jeho vykonání lze udělat uživatele, který bude moci jen tam, kam zas z principu musí.

    xkucf03 avatar 21.1.2014 13:56 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází

    S tou bezpečností máš asi pravdu, možná je to zbytečná paranoia… jen je mi trochu proti srsti, aby někdo do mého systému cpal rovnou SQL. Ale ono stačí, když mu necháš třeba přístup k information_schema a on ti tam pustí SELECT s kartézským součinem přes několik tabulek.

    Jde mi o formát/protokol, který by byl vhodný i pro to veřejné nasazení a umožňoval jen to nutné minimum – přidávat záznamy, aktualizovat a mazat. A ve „WHERE“ podmínce by mohl být jen primární klíč, ne nějaké vnořené SELECTy atd., stejně tak ve „VALUES“ – tam by taky měly být jen prosté hodnoty.

    Na druhou stranu, čím mocnější ten nástroj bude, tím efektivnější/stručnější inkrementy se dají napsat – např.

    UPDATE tabulka SET sloupec_1 = sloupec_2 + 100 WHERE id IN (SELECT …)

    Místo aby se vyjmenovával záznam po záznamu a jejich hodnoty… ale zase o to víc se to dá zneužít. A o to méně je to platformě nezávislé – když už to bude SQL, tak na straně klienta potřebuji minimálně nějaký parser SQL, abych si z toho vytahal ty hodnoty a aktualizoval si svoji lokální databázi (která třeba ani nemusí být relační).

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    21.1.2014 16:29 logik
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    No nějaký parser potřebuješ vždy. Akorát že k některým jazykům parsery již existují, k některým si ho musíš napsat sám.

    Obecný formát pro úpravu obecných dat neexistuje. To si holt budeš muset napsat sám, udělat logovací tabulky na ně navěsit triggery a pak je v nějakém formátu vypisovat.
    9.3.2014 23:19 ebik
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    Tak si to nespustis nad produkcni databazi. Pokud je nejaka databaze prilis cenna na to, abys do ni poustel neoverenou aktualizaci v jakemkoliv formatu, tak ji nejprve pustis (klidne automaticky) nad oddelenou databazi, a pokud se to nerozbije (a je zas na tobe co vsechno nechas zkontrolovat), tak ji prelejes do te produkcni...
    24.1.2014 19:12 Ivan
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    Chces to psat sam? Anebo ti staci to koupit? Kdysi exitovala firma GoldenGate, ktera nabizala takovy produkt - dneska ji vlastni Oracle. Predtim Oracle obsahoval technologii Streams resp XStream. Dale nabizi neco podobneho Sybase - nevim presne jak se ten jejich replakacni server jmenuje.

    Takovy replikacni server bud chroupe binarni redo-logy DB serveru anebo si nad tabulkami vytvori vlastni replikacni triggery. Data pak posila na aplikacni server. Tam se data filtruji podle pravidel, anebo je zpracovavaji uzivatelske pluginy.

    Vsechna tahle intergraci reseni maji vlastni ad-hoc pristup ke kazde z velkych DBMS.
    xkucf03 avatar 24.1.2014 19:28 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází

    Určitě by to měl být otevřený software nebo alespoň otevřený standard – jde o to, aby na straně příjmu těch dat mohl být kdokoli – veřejnost – a aby si to mohl napasovat na nějaké svoje řešení. Co nejjednodušší – tzn. během dne si přečtu specifikaci a napíšu parser, nebo použiji hotovou knihovnu a už můžu přijímat aktualizace dat.

    Na straně zdroje ani není potřeba nějak duplikovat data do logů – klidně může být u každého záznamu číslo verze – rostoucí ID napříč celou databází – a klient si pak vyžádá všechny záznamy novější než určité ID (tzn. než určitý časový okamžik).

    Není to žádná velká věda. On by to mohl být i třeba CSV soubor (soubory) nebo nějaký jednoduchý binární formát. Jen mi šlo o to, zda nevymýšlím něco, co už tu dávno je.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    28.1.2014 13:55 kapo | skóre: 15 | blog: runtime
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    No, když to může být třeba i CSV soubor, tak by to rovnou mohl být GIT repozitář nad skupinou CSV souborů. Klient si vždy stáhne jen rozdíl (efektivní přenos dat) a načte jen ty záznamy, které jsou novější, než ty, co má.
    Why make things difficult, when it is possible to make them cryptic... - Aksel Peter Jorgensen
    Josef Kufner avatar 28.1.2014 14:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    U takových řešení je pak jen dobré se zamyslet nad vhodným formátem dat, aby byl dostatečně diff-friendly, a možná i merge-friendly. Jinak to na mnoho aplikací může být velmi dobré řešení.
    Hello world ! Segmentation fault (core dumped)
    xkucf03 avatar 28.1.2014 15:00 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází

    Ono hlavně ta druhá strana si bude chtít aktualizovat svoji databázi – tzn. udělat změny, ne všechno smazat a všechno znova nahrát. Takže ono to sice vypadá skvěle, že se použije Git jako hotový software, ale samo o sobě to nestačí, protože on dejme tomu zajistí přenos těch změn po síti, ale pak si stejně musím udělat diff a z něj pomocí nějakého nástroje (ten je potřeba napsat) zjistit, do jaké tabulky mají změny přijít, zda se má přidávat, mazat, aktualizovat, a když, tak co tzn. vydolovat z toho primární klíče, abychom věděli, co smazat/aktualizovat a vyrobit výsledné SQL (případně jiné příkazy). To je ten nejpracnější úkol a verzovací systém s ním nepomůže, leda ho může ještě zkomplikovat.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Josef Kufner avatar 28.1.2014 15:19 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    Pokud jako databázi používáš ty textové soubory, tak ti to pomůže hodně. Pak třeba jen necháš přegenerovat index a máš hotovo. Pokud druhá strana například jen zobrazuje připravená data, může takový přístup být velice efektivní, zejména pokud není potřeba SQL databáze.
    Hello world ! Segmentation fault (core dumped)
    28.1.2014 21:29 Filip Jirsák
    Rozbalit Rozbalit vše Re: Protokol/formát pro přírůstkové aktualizace databází
    Pro použití např. ve veřejném sektoru by se mi na použití Gitu nelíbilo to, že by byl určen program, ne formát. To už tu mnohokrát bylo, a nikdy to nebylo dobré.

    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.