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í
×
    dnes 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 26
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 12
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 6
    3.10. 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.10. 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 25
    3.10. 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    3.10. 14:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.10. 12:33 | Upozornění

    Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."

    javokajifeng | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (16%)
     (17%)
     (21%)
     (15%)
     (17%)
     (16%)
     (16%)
    Celkem 178 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    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: 757×

    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: 16 | 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.