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 03:55 | Nová verze

    Multiplatformní multimediální knihovna SDL (Simple DirectMedia Layer) byla oficiálně vydána v nové major verzi 3 (3.2.0). Změny jsou popsány v README pro migraci aplikací z SDL 2 na SDL 3.

    Ladislav Hagara | Komentářů: 3
    včera 19:22 | Nová verze

    Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.

    Ladislav Hagara | Komentářů: 6
    včera 05:22 | IT novinky

    Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.

    Ladislav Hagara | Komentářů: 39
    20.1. 23:44 | Nová verze

    GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.

    Ladislav Hagara | Komentářů: 4
    20.1. 19:55 | Humor

    Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.

    Ladislav Hagara | Komentářů: 42
    20.1. 11:33 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    20.1. 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.

    Ladislav Hagara | Komentářů: 0
    19.1. 16:11 | IT novinky

    19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.

    Fluttershy, yay! | Komentářů: 2
    19.1. 15:44 | Nová verze

    Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Dotaz: synchronizacia databáz

    1.1.2012 18:28 adrinko | skóre: 22
    synchronizacia databáz
    Přečteno: 540×
    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: 68 | 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: 68 | 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: 68 | 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: 68 | 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: 68 | 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.