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 13:00 | Komunita

Do 30. října se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 4. prosince 2018 do 4. března 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 50
21.9. 22:22 | Komunita

Společnost Purism představila kryptografický token Librem Key. Koupit jej lze za 59 dolarů. Token byl vyvinut ve spolupráci se společností Nitrokey a poskytuje jak OpenPGP čipovou kartu, tak zabezpečení bootování notebooků Librem a také dalších notebooků s open source firmwarem Heads.

Ladislav Hagara | Komentářů: 8
21.9. 20:33 | Nová verze

Společnost NVIDIA oficiálně vydala verzi 10.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
21.9. 20:00 | Upozornění

Příspěvek Jak přežít plánovanou údržbu DNS na blogu zaměstnanců CZ.NIC upozorňuje na historicky poprvé podepsání DNS root zóny novým klíčem dne 11. října 2018 v 18:00. Software, který nebude po tomto okamžiku obsahovat nový DNSSEC root klíč, nebude schopen resolvovat žádná data. Druhým důležitým datem je 1. února 2019, kdy významní výrobci DNS softwaru, také historicky poprvé, přestanou podporovat servery, které porušují DNS standard

… více »
Ladislav Hagara | Komentářů: 8
21.9. 15:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 156. brněnský sraz, který proběhne v pátek 21. září od 18:00 v restauraci Na Purkyňce na adrese Purkyňova 80.

Ladislav Hagara | Komentářů: 0
21.9. 13:22 | Nová verze

Alan Griffiths z Canonicalu oznámil vydání verze 1.0.0 display serveru Mir (GitHub, Wikipedie). Mir byl představen v březnu 2013 jako náhrada X serveru a alternativa k Waylandu. Dnes Mir běží nad Waylandem a cílen je na internet věcí (IoT).

Ladislav Hagara | Komentářů: 0
20.9. 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 5
20.9. 21:32 | Zajímavý projekt

Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.

Fluttershy, yay! | Komentářů: 1
20.9. 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 12
20.9. 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (21%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 393 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Dotaz: Synchronizovaná SQL databáze na dvou lokalitách

8.6.2017 13:37 jan.rok | skóre: 18
Synchronizovaná SQL databáze na dvou lokalitách
Přečteno: 1218×
Dobrý den,

dovolím si poprosit o osvětlení toho, jak funguje nebo nefunguje sychronizace SQL databází mezi dvěma lokalitami.

Konkrétní případ třeba takový: Ve dvou lokalitách je stejná aplikace (nemusí nutně běžet najednou), která používá SQL databázi. Bylo by ideální, kdyby tatáž data byla v daném okamžiku na obou místech. Je možné toto zajistit třeba Dropboxem? Hrozí nebezpečí, že když bude aplikace pracovat s databází a zároveň ji bude synchronizovat přes Dropbox, že dojde k porušení dat? Pokud ano, jak tedy funguje replikace databází třeba v MSSQL? Není to něco podobného?

Nebo je rozdíl v tom, že Dropbox pracuje na úrovni souborů, kdežto replikace na úrovni vět? Neřeší riziko porušení dat právě transakční způsob zpracování?

Děkuji za vysvětlení. Honza

Řešení dotazu:


Odpovědi

Max avatar 8.6.2017 14:57 Max | skóre: 66 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Záleží, jakým způsobem chceš rozložení zátěže, případně failover řešit.
HA řešení, kdy na více místech máš stejná data pro zápis i pro čtení jsou poněkud náročná a je to podle mně úplně jiný svět (reálně syncovat tisíce transakcí mezi dvěma lokalitama s dobrýma odezvama).
Nejčastější je klasicky master-slave replikace, kdy master db je otevřena jak pro čtení, tak pro zápis, tak slave db je jen pro čtení.
Dobrým postupem je HA řešit i samotnou aplikací. Tzn., nevyvíjet hloupě s tím, že backend a celé HA ti zařídí jen db servery.

Jinak replikace funguje tak, že primární db vytváří v nějakých intervalech(časových, nebo oběmových) transakční soubory, ty se přenášejí do druhé lokality a tam se aplikují do druhé db. Tím se zajistí 100% konzistence dat s minimálním rollbackem a trafikem.
Replikace na úrovni souborů je mimo, tak se to rozhodně neřeší, páč nejde moc dobře zajistit 100% konzistentní stav.
Zdar Max
Měl jsem sen ... :(
8.6.2017 15:05 EtDirloth | skóre: 7
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Pekne zhrnute.

Poznamka k file-based replikacii: v PostgreSQL bola prva (a stale pouzitelna) implementacia master-slave replikacie zalozena prave na WAL log shipping, kedy sa zmeny nestreamovali cez priame prepojenie serverov, ale vlastnou cestou - napr. cez rsync. Tento sposob je tiez uzko spojeny s PITR.
Max avatar 9.6.2017 11:54 Max | skóre: 66 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Tak ono je jedno, zda se přenos transakčního logu řeší v rámci nějakého spojení mezi db, nebo tak, že se generuje file, který je nutné přenést. Princip to je stejný, jen první variantu člověk nemusí moc řešit.
Třeba Oracle generuje transakční soubory, ty rsyncem přenášíme do vzdálené lokality a zároveň se tam spouští pokyn k načtení transakčních logů. A tak stále dokola každých x min.
Jinak Oracle disponuje automatizovanými nástroji, ale ty jsou převážně jen pro enterprise edici, která je v jiném cenovém řádu.
Mno a pak je jedno, kolik replik člověk má, je to jen o tom, kam všude ty transakční logy bude kopírovat a výkon primárního serveru není nijak ovlivněn.
Další výhodou této replikace je i to, že je to záloha. Pokud si člověk dělá jeden dump db týdně + si nechává transakční soubory, tak se lze dostat do jakéhokoli času k datům (obnový se dump + dohrají transakční soubory k příslušnému datu/času).
Zdar Max
Měl jsem sen ... :(
9.6.2017 13:13 EtDirloth | skóre: 7
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Az po tomto ma napadlo, ze povodna otazka mohla byt o synchronizacii adresara celeho DB clusteru - a ze k tomu si sa asi povodne vyjadroval aj ty.

To by mohlo fungovat napr. pri SQLite.

V PgSQL by to vsak mohlo fungovat prave na urovni WAL file shipping cez dropbox. Tak, ze archive_command by kopiroval do adresara synchronizovaneho cez drop-box. A rovnakou cestou by sa mohol distribuovat base-backup pre potreby inicializacie replik(y).
9.6.2017 14:10 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
SQLite na sdílených úložištích nefunguje jak má a je vcelku jedno, který použiješ protokol. SQLite musí být na stroji, kde sídlí i aplikace, která s touto databází pracuje.

PostgreSQL by na tom mohlo být podobně nebo ještě hůře. Kdekdo zapomíná na špinavé cache, kterých by tam byla hromada.

Raději bych synchronizoval hromadu drobných XML, to by se ještě přes Dropbox ukočírovat dalo. Databáze i s aplikací na cloudu však bude mnohem lepším řešením.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
8.6.2017 15:08 jan.rok | skóre: 18
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Děkuji za shrnutí.
8.6.2017 16:56 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Otázkou je: Proč chceš dvě databáze ve dvou lokalitách? Nestačila by jedna databáze někde na cloudu, ke které by mohly přistupovat aplikace z obou lokalit?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
8.6.2017 19:53 jan.rok | skóre: 18
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Asi by stačila. Spíš mě zajímalo, jak by se chovalo to řešení s Dropboxem. Nejde o nic konkrétního, jen o úvahu.
8.6.2017 20:12 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Obrovská režie při synchronizaci a databáze permanentně rozbitá. Stačí?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
9.6.2017 12:09 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
O zlepení synchronizácie databázy cez iné ako jej vlastné nástroje ani neuvažuj, leda že by si sa chcel niekomu pomstiť.

V prvom rade sa uisti, že rozumieš CAP teorému. A keď Ťa prejde frustrácia, realisticky zváž požiadavku na master-to-master replikáciu.
9.6.2017 12:58 EtDirloth | skóre: 7
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Tomuto moc nerozumiem. IMHO zbytocne matuca reakcia - vobec neviem, ci je to len off-topic, alebo mi nieco uslo.

Ja pisem, ze v PgSQL si to musel a teraz mozes riesit vlastnymi prostriedkami. Max pise, ze s Oracle to musis robit do urcitej urovne licencie. Tazatel nespomina ani distribuovanu DB, ani master-master replikaciu. Jedine, co riesi, je redundancia dat, dokonca spomina, ze moze ist o master-slave - "aplikace nemusí nutně běžet najednou".
Jendа avatar 11.6.2017 19:08 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Synchronizovaná SQL databáze na dvou lokalitách
Hrozí nebezpečí, že když bude aplikace pracovat s databází a zároveň ji bude synchronizovat přes Dropbox, že dojde k porušení dat?
Ano, extrémní. Většina těchto synchronizačních nástrojů funguje tak, že soubor otevře a pak ho lineárně čte a změny přenáší na druhou stranu. Pokud jsi uprostřed čtení a změní se něco na začátku i na konci souboru, přeneseš jenom tu změnu na konci souboru.

Teď si představ jednoduchý příklad, že databáze je obyčejný AVL strom (nejsme tak daleko od pravdy, například MySQL používá interně B-strom) a databáze zrovna zjistila, že je rozbalancovaný a je potřeba provést rotaci, což znamená přepsat pár pointrů na začátku a pár na konci. No a teď ti běží synchronizace dropboxem a pointry na začátku ukazují na původní umístění (které už třeba neexistuje nebo je tam něco úplně jiného) a pointry na konci na nové. Strom se tím totálně rozbil.

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.