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 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 14
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (14%)
    Celkem 83 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: synchronizacia databáz

    1.1.2012 18:28 adrinko | skóre: 22
    synchronizacia databáz
    Přečteno: 611×
    Zdravím všetkých a prajem krásny nový rok 2012! Ako tak nastúpil nový rok, mám jednu databázovú otázku (mysql, postgre...). Chcel by som mať v mojej db mysql na servri tie isté údaje, ako sú v inej db u klienta (len určité tabuľky a stĺpce). Vždy ma z klientovej db zaujíma len niekoľko tabuliek a určité stĺpce, ktoré by som potreboval mať vždy aktuálne aj u mňa na servri. Klientova db nie je voľne prístupná z webu, ale u klienta mi beží moja aplikácia, ktorá by mi mohla vyberať požadované stĺpce a poslať ku mne na server.

    Problém je, že vždy potrebujem raz denne zaktualizovať z klientovej databázy (len tie určité dáta) cca 7000 riadkov a na mojom mysql ich porovnať v db a povedzme ak sa niečo zmenilo (dáta v stĺpcoch alebo pribudli riadky) tak by sa to malo v mojej mysql zaktualizovať. Otázkou zostáva, ak bude tých riadkov nie 7tisic ale povedzme 700tisíc, ako to spraviť tak, aby to bolo čo najšetrnejšie k výkonu oboch stojov? (a aby posielané dáta neboli veľmi veľké)

    1. Mohol by som spraviť výber od klienta vo forme xml a potom toto xmlko spracoať u mňa a spraviť selecty (či existujúuž dané dáta), update poprípade inserty...ale neni to pri tak veľa dátach zdĺhavé/zbytočné/neefektívne?

    2. ďalšia možnosť je nejaký dump, avšak tu by sa to asi skomplikovalo, pretože tie databázy nemajú uplne identickú štruktúru tabuliek (niekde je viac stĺpcov a niekde menej).

    3. najlepšie by bolo, len inkrementárne zmeny získať, ale toto žiaľ neviem odsledovať, pretože na to by som musel mať aj časy jednotlivých zmien niekde evidované...no iná aplikácia, ktorá v klientovej db robí zmeny, nezapisuje a neloguje jednotlivé časy zmien, takže neviem selectnuť len tie, ktoré boli zmenené iba v určitom časovom období.

    Poradíte mi prosím najvhodnejšiu a najefektívnejšiu cestu, ako dosiahnuť presne to čo potrebujem? veľká vďaka!

    Odpovědi

    1.1.2012 20:08 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Nejjednodušší mi připadá přidat do zdrojových tabulek sloupec s datem a časem poslední změny a ten aktualizovat pomocí triggerů nebo podobného mechanismu. Pokud můžete do struktury těch tabulek zasáhnout.
    1.1.2012 20:42 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    áno, to by bolo úplne super, no práve toto nemôžem spraviť v tej pôvodnej databáze :/
    pavlix avatar 1.1.2012 22:54 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Tak udělat select podle času modifikace, pokud to jde... pokud to nejde, tak by mohlo jít spoléhat na rostoucí ID... pokud ani to ne, tak je jakákoli optimalizace problém.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    2.1.2012 01:21 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    vďaka - Tak udělat select podle času modifikace, pokud to jde - toto ma zaujíma - má napr. postgre, alebo fbd v sebe nejakú "feature" ako zistiť, kedy ktorý riadok bol modifikovaný? (alebo bola pôvodná myšlienka myslená len tak, že by bol nutný ďalší stĺpec, v ktorom by sa automaticky ukladal čas modifikácie?)

    ad rastúce ID - to by šlo za predpokladu, že dáta len pribúdajú, no v mojom prípade môžu dáta nielen pribúdať, ale aj už pôvodné updatnúť (takže rastúce ID mi nenapovie, či už predtým dáta iných IDečiek neboli modifikované)

    pavlix avatar 2.1.2012 01:39 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Může se ti stát, že ta optimalizace fakt rozumně nepůjde.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    2.1.2012 08:13 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Pokud do zdrojové databáze nemůžete přidat ani žádný trigger, natož měnit strukturu, tak samozřejmě přenést jen rozdíly nepůjde. Moc ale nechápu, proč se tady ptáte na různé typy databází a zda nemají funkci ukládání data a času modifikace už vestavěnou. Pokud už máte nějakou databázi, do které nesmíte nijak zasahovat, je snad jasné, na jakém databázovém stroji to běží. A ukládání data a času modifikace asi nebude mít vestavěné žádná velká databáze, protože se to dá snadno realizovat pomocí triggerů, navíc si to každý může udělat podle svých potřeb.
    Josef Kufner avatar 6.1.2012 11:54 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Vždycky můžeš udělat lokálně dump databáze a pak pomocí rsyncu přenést ten. U sebe si ho naimportuješ do pomocné databáze (před importem vždy prázdné) a vytáhneš si data jak potřebuješ. Bude to výpočetně náročnější než dostávat z databáze jen změněná data, ale samotný přenos bude vcelku malý.
    Hello world ! Segmentation fault (core dumped)
    6.1.2012 12:05 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    To hodně záleží na tom, jak ten dump bude vypadat – dovedu si snadno představit případ, kdy rsync vůbec nepomůže. Určitě ten dump nemůže být komprimovaný, ale i pro textový dump může dojít k tomu, že společné části budou příliš krátké.
    Josef Kufner avatar 6.1.2012 12:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Předpokládám textový dump, který produkuje například mysqldump (create table + hromada insertů).

    Stát se to může, ale pravděpodobně budou změny mezi synchronizacema omezeny jen na relativně malou část řádek a starší data budou nezměněna. A i kdyby ne, v nejhorším případě se to přenese celé tak jako tak. Pokud by to ale byl příliš častý případ, asi by neřešil inkrementální update.
    Hello world ! Segmentation fault (core dumped)
    6.1.2012 12:41 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Záleží i na pořadí řádků v exportu – je v případě dumpu stabilní? V nejhorším případě se to přenese celé plus overhead rsyncu, takže by bylo lepší použít obyčejné scp.
    Josef Kufner avatar 6.1.2012 13:23 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Dump stabilní bude, protože se provádí pokaždé stejným způsobem. I když databáze nijak nebude garantovat pořadí záznamů a není nijak definované, pořád to pořadí bude pokaždé stejné (pokud data nebyla měněna), protože jinak by se databáze musela postarat o jejich zamíchání. Nové záznamy můžou být na místech po smazaných, databáze může občas udělat defragmentaci (optimize table), ale ve většině případů to bude v pohodě.
    Hello world ! Segmentation fault (core dumped)
    6.1.2012 13:40 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Zamíchání může být vedlejším efektem třeba paralelního zpracování. Jinak podle mne je dost pravděpodobné, že pořadí v dumpu bude víceméně stabilní, spíš jenom upozorňuju na to, že to chce vyzkoušet a nespoléhat jen slepě na to, že „rsync to zařídí“.
    12.1.2012 10:43 vratidlo007 | skóre: 21
    Rozbalit Rozbalit vše Re: synchronizacia databáz
    Co zkusit nejake ETL (CloverETL nebo Kettle)? Kettle treba umoznuje porovnani podle hodnot vybranych poli. Ale na rovinu musim dodat, ze se nejedna o nic jineho, nez ze to precte radek po radku ze zdrojove DB a porovna s cilovou. Ty ktere se shoduji preskoci, ktere jsou modifikovane updatuje a ostatni insertuje. Pokud tam jsou nejake tabulky, co se nemeni, ale jen v case do nich pribyvaji nove zaznamy, pak staci udelat insert ... where x > posledni_zaznam_v_cilove_db. Vyhoda je, ze se takhle daji sync jakekoliv DB, ktere maji JDBC driver.

    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.