Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Репликация на БД с MySQL

Featured Replies

Здравейте

Имам една задачка, която трябва (за предпочитане) да се извърши с MySQL. Задачката е следната:

Имаме няколко сървърчета, слабо натоварени (между 20 и 100 записа на час), които трябва да се синхронизират през известен интервал от време (да кажем час). Географски са отдалечени и не е сигурно

100% свързани. Взети са предварително мерки да не се дублират първични ключове, независимо от кога не са синхронизирани. Изчетох де що намерих из нета и стигнах до следния извод;

кръгова синхронизация, демек s1 е мастър на s2, s2 е мастър на s3, a s3 е мастър на s1.

Само че при отпадане да речем на s2, синхронизацията прекъсва.

Въпросите са ми следните:

Възможно ли е временно елиминиране на отпадналия сървър(s2), като във веригата го замести следващия(s3), за да се затвори кръга?

Ако все пак проработи, как мислите, надеждна ли ще е подобна система, колко време и давате, преди да "гръмне" :lol6:

Здравейте

Имам една задачка, която трябва (за предпочитане) да се извърши с MySQL. Задачката е следната:

Имаме няколко сървърчета, слабо натоварени (между 20 и 100 записа на час), които трябва да се синхронизират през известен интервал от време (да кажем час). Географски са отдалечени и не е сигурно

100% свързани. Взети са предварително мерки да не се дублират първични ключове, независимо от кога не са синхронизирани. Изчетох де що намерих из нета и стигнах до следния извод;

кръгова синхронизация, демек s1 е мастър на s2, s2 е мастър на s3, a s3 е мастър на s1.

Само че при отпадане да речем на s2, синхронизацията прекъсва.

Въпросите са ми следните:

Възможно ли е временно елиминиране на отпадналия сървър(s2), като във веригата го замести следващия(s3), за да се затвори кръга?

Ако все пак проработи, как мислите, надеждна ли ще е подобна система, колко време и давате, преди да "гръмне" ;)

Federated engine?

А защо не направиш репликация на 1 към две и три, 2 към едно и три и 3 към едно и две. Така няма да имаш проблем при отпадане на един сървър

  • Автор
Federated engine?

The FEDERATED storage engine enables data to be accessed from a remote MySQL database on a local server without using replication or cluster technology. When using a FEDERATED table, queries on the local server are automatically executed on the remote (federated) tables. No data is stored on the local tables

Това принципно става, но не и при мен защото:

1. Нямам 100% свързаност

2. Така си типична клиент-сървър система, а аз предпочитам разпределена БД

Благодаря за предложението все пак :help:

А защо не направиш репликация на 1 към две и три, 2 към едно и три и 3 към едно и две. Така няма да имаш проблем при отпадане на един сървър

Ми някъде четох, понеже в MySQL синхронизацията е еднопосочна (т.е. се отразяват промените само от Master на Slave) ,вариант за двупосочна синхронизация ставало само в кръг

а ето и мнение в друг форум: цъкни тук

Между другото ми трябва нещо подобно, като отворилия темата в посочения форум

Това принципно става, но не и при мен защото:

1. Нямам 100% свързаност

2. Така си типична клиент-сървър система, а аз предпочитам разпределена БД

Благодаря за предложението все пак :)

Ми някъде четох, понеже в MySQL синхронизацията е еднопосочна (т.е. се отразяват промените само от Master на Slave) ,вариант за двупосочна синхронизация ставало само в кръг

а ето и мнение в друг форум: цъкни тук

Между другото ми трябва нещо подобно, като отворилия темата в посочения форум

инсталирай си на трите машини heartbeat и си направи клъстър от по - високо ниво. проблема в случая е, че трябва да имаш доста голяма пропускателна способност на мрежата.

  • Автор

Забравил съм да спомена, че машините са под Вин. Пък и за клъстери само съм чувал sad.gif

Явно ще трябва да зарежа MySQL и да опитам с някоя друга СУБД.

Какво ще кажете за Oracle Express. Доколкото разбрах е свободна за използване и

има ограничение само във големината на базата - 4GB и че ползва само едното ядро.

Не знам само как ще е със скоростта на по-слабички машини.

Някой може ли да ми помогне за избор. Приемам варианти секакви :rolleyes:

Честно казано не съм сигурен че ХЕ има репликация, това го има май само в enterprise версията на Оракъл. Я кажи (ако не е тайна) какъв е проблема да видим дали не можем да измислим друг начин

Ако имаш възможност и подходящи условия го направи с MS SQL Server 2005 или 2008 - няма да имаш никакви грижи с прекъсването, ще се синхронизират като се възстанови връзката а и можеш да ги вържеш по доста начини. Става лесно.. Опита ми с MySQL+синхронизация+прекъснат интернет е горчив.

  • Автор
Честно казано не съм сигурен че ХЕ има репликация, това го има май само в enterprise версията на Оракъл. Я кажи (ако не е тайна) какъв е проблема да видим дали не можем да измислим друг начин

Няма нищо тайно. Трябва да се реализира ( т.е. да се пренапише вече съществуваща) складова система, но с по-специфични бизнес правила. Различните обекти са географски отдалечени и е наложително ползването на интернет като средство за комуникация. Във всеки обект трябва да може да се завежда/изписва/продава/запазва стока, както и да се създават/редактират/изтриват артикули, като информацията може да се синхронизира автоматично или ръчно (може и веднъж дневно, според зависи...). Абсолютно неприемливо е обектите да спрат работа при липса на нет. Т.е. задължително трябва да е разпределена БД, като поне част от данните да са локално. Обектите засега са 4, но е добре да се предвидят поне до 10. Обектите са слабо натоварени (засега...дай боже да станат силно натоварени cool.gif ) Колизиите ще ги измислим.

Трябва да се ползва нещо безплатно като СУБД, че бюджета е силно ограничен... в тая икономическа криза... :)

Ако все пак такова животно нема (дето да поддържа репликация и да е без пари).... ще се мъча да си правя сам алгоритъм за синхронизиране. Няма да е лесно, ама невъзможни неща няма,нали biggrin.gif

Няма нищо тайно. Трябва да се реализира ( т.е. да се пренапише вече съществуваща) складова система, но с по-специфични бизнес правила. Различните обекти са географски отдалечени и е наложително ползването на интернет като средство за комуникация. Във всеки обект трябва да може да се завежда/изписва/продава/запазва стока, както и да се създават/редактират/изтриват артикули, като информацията може да се синхронизира автоматично или ръчно (може и веднъж дневно, според зависи...). Абсолютно неприемливо е обектите да спрат работа при липса на нет. Т.е. задължително трябва да е разпределена БД, като поне част от данните да са локално. Обектите засега са 4, но е добре да се предвидят поне до 10. Обектите са слабо натоварени (засега...дай боже да станат силно натоварени cool.gif ) Колизиите ще ги измислим.

Трябва да се ползва нещо безплатно като СУБД, че бюджета е силно ограничен... в тая икономическа криза... :bye1:

Ако все пак такова животно нема (дето да поддържа репликация и да е без пари).... ще се мъча да си правя сам алгоритъм за синхронизиране. Няма да е лесно, ама невъзможни неща няма,нали biggrin.gif

до колкото ми е известно, windows има възможност за работа в клъстър. я прочети малко по тоя въпрос.. че ми писна от пишман-админи..

Няма нищо тайно. Трябва да се реализира ( т.е. да се пренапише вече съществуваща) складова система, но с по-специфични бизнес правила. Различните обекти са географски отдалечени и е наложително ползването на интернет като средство за комуникация. Във всеки обект трябва да може да се завежда/изписва/продава/запазва стока, както и да се създават/редактират/изтриват артикули, като информацията може да се синхронизира автоматично или ръчно (може и веднъж дневно, според зависи...). Абсолютно неприемливо е обектите да спрат работа при липса на нет. Т.е. задължително трябва да е разпределена БД, като поне част от данните да са локално. Обектите засега са 4, но е добре да се предвидят поне до 10. Обектите са слабо натоварени (засега...дай боже да станат силно натоварени cool.gif ) Колизиите ще ги измислим.

Трябва да се ползва нещо безплатно като СУБД, че бюджета е силно ограничен... в тая икономическа криза... :bye1:

Ако все пак такова животно нема (дето да поддържа репликация и да е без пари).... ще се мъча да си правя сам алгоритъм за синхронизиране. Няма да е лесно, ама невъзможни неща няма,нали biggrin.gif

Я хвърли едно око тук: http://www.postgresql.org/docs/current/sta...ailability.html

особено на "Asynchronous Multimaster Replication"

  • Автор
до колкото ми е известно, windows има възможност за работа в клъстър. я прочети малко по тоя въпрос.. че ми писна от пишман-админи..

Някъде да съм претендирал че съм админ :P

Я хвърли едно око тук: http://www.postgresql.org/docs/current/sta...ailability.html

особено на "Asynchronous Multimaster Replication"

Благодаря, мисля че ще свърши работа. Сега ще пада голямото четене.... :slap1:

Регистрирайте се или влезете в профила си за да коментирате

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.