Sdileni data a databaze... – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Sdileni data a databaze... – C / C++ – Fórum – Programujte.comSdileni data a databaze... – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Koudis
~ Anonymní uživatel
145 příspěvků
4. 6. 2015   #1
-
0
-

Ahoj,

predstavte si, ze mate webovou aplikaci ktera obsahuje videa, obrazky, prilohy (soubory vseho druhu).

Aplikace roste mimo uzemi CR, po cele evrope a vy uvazujete o tom, ze ji rozsirite i za ocean (USA, Brazilie...).
Problemem ale je, jak efektivne zvladnout pristup k DB. V soucasne dobe to funguje tak, ze je jeden server v CR a jeden v Anglii na ktery se zrcadli uzivatelske soubory (videa apod.). Databaze je pouze zde, u nas.

Bude tedy potreba udelat nejakou slozitejsi replikaci, ci si zaplatit nejaky cloud.(?) Otazka tedy zni "jak na to?". Ma nekdo s timto zkusenosti (tedy s distribuci dat po celem sete, vcetne pristupu do DB apod.?).

dekuji moc vsem za rady a prispevky :).

Nahlásit jako SPAM
IP: 89.102.181.–
Reklama
Reklama
ondrej39+1
Věrný člen
5. 6. 2015   #2
-
0
-

#1 Koudis
Úplně naivní přístup je získat si IP daného uživatele, porovnat jeho region a na základě daného regionu mu nabídnout server jemu blízký (s databázemi jsem v C++ nedělal, pokud máš driver hotový a přístupy k samotné DB zmáknuté, zjistit polohu uživatele a dle ní mu nabídnout konkrétní zdroj dat by měl být ten nejmenší problém). Zrcadlení/synchronizace dat pak může proběhnout třeba jednou za hodinu, jakožto je velmi nízká pravděpodobnost, že by někdo stihl za hodinu přeletět třeba z České republiky do Velké Britání, natož z Ameriky do Evropy a vice versa.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
KIIV+42
God of flame
5. 6. 2015   #3
-
0
-

#2 ondrej39
nicmene je velka pravdepodobnost, ze bude chtit neco nasdilet v cechach pro znameho v USA a hodinu se mu bude ukazovat "neco se porouchalo"

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
ondrej39+1
Věrný člen
5. 6. 2015   #4
-
0
-

#3 KIIV
Na to jsem nepomyslel, to máš pravdu KIIVe, protože jsem přemýšlel pouze nad řešením, že by měl uživatel jím nahraná data dostupná jen on. Každopádně jak by si to daný programátor udělal vychází z jeho potřeb a upravit dobu aktualizování by nemělo být, myslím si, zas tak náročné.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
KIIV+42
God of flame
5. 6. 2015   #5
-
0
-

Taky nemyslim, ze by to bylo slozity.. Odkaz bude na puvodni server, tam bude i seznam mirroru, kde uz to je nahrane a pri stahovani se presmeruje na nejblizssi mirror.

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
nigaloslav0
Newbie
5. 6. 2015   #6
-
0
-

#5 KIIV
Jasne, dekuji moc za rady. Kazdopadne jsem so rozhodl vyzkouset nejaoku CDN sit. Pouzitelna ne pry cloudflare.com.

Zbyva tedy doresit replikaci databazi. Aby bzla odezva od databaze roxumna "vsude".

MySQL ma nejakou zakladni replikaci, stejne tak postgres.... Mate nekdo s timto zkusenosti?

Nahlásit jako SPAM
IP: 89.102.181.–
ondrej39+1
Věrný člen
5. 6. 2015   #7
-
0
-

#6 nigaloslav
V rámci databází jsme ve škole pracoval s Pgpoolem. Můžeš mrknout na to. Další věci, které by tě mohly v rámci tohoto tématu zajímat a které se týkají PostgreSQL může najít zde.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
peter
~ Anonymní uživatel
2528 příspěvků
5. 6. 2015   #8
-
0
-

Ja bych mozna udelal 1 stroj, ktery by resil jen synchronizaci db. Tam je podstatne, aby uzivatel nezabral id jineho uzivatele. Cili by mozna stacilo, aby ten stroj prideloval jen id radku pro tabulku databaze.
-- insert server ---
- vstup: server 1, tabulka 6
- vystup: 789 odesli na server1
--- server 1 ---
- vstup: server 1, uzivatel 345, tabulka 6, data[] sloupce
- vstup insert server: 789
- vystup server1 db: INSERT INTO tabulka  (id=789, data[0], data[1], ...) ...
- vystup pro ostatni servery: tam bych poslal duplikovany sql dotaz komprimovany treba zipem nebo jen tak. Pripadne odesilal pres cron vic dotazu najednou v casovem useku, Bylo by vask dobre to sifrovat, protoze plain/text dotaz se da snadno hackersky padelat a uz by to asi nebylo cool pro online hru :)
> INSERT INTO tabulka  (id=789, data[0], data[1], ...) ...

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:71a3:17...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 106 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý