Подготовка за репликация

от Wiki

Направо към: навигация, търсене

Репликацията на данни представлява едно от основните преимущества на продуктите на Microinvest. Чрез популярна и отлично работеща технология, потребителите на Microinvest могат да изграждат сложни системи от отдалечени обекти и да обменят данни помежду си в реално време, без участието на оператор. Данните се консолидират на ниво SQL сървър, могат да бъдат променяни динамично в следствие на оперативните задачи и представляват едно цяло.
Репликацията изисква определени познания за нейното начално изграждане, въвеждане на номенклатури и базови настройки. Настоящият материал разглежда основите на създаване на номенклатурата, задаване на правата на достъп и определяне на ролите на всеки участник в системата.

Съдържание

Основи на репликацията

Репликацията е единна система, разпределена между няколко отделни SQL сървъра. Обменът на данни е асинхронен и понякога има незабележимо забавяне при приемане или предаване на информацията. Съществуват 3 основни принципа за връзка между SQL сървърите:

  1. Технология Publisher-Subscriber. При нея съществува централен сървър, който е основен за системата. Той приема и изпраща данни към отдалечените сървъри;
  2. Технология Master-Master. Всеки сървър е основен за следващия в редицата и е подчинен на предишния. Това е така наречената кръгова репликация;
  3. Технология Master-Slave. Тази технология изисква едновременна работа с 2 сървъра, като единият е централен, докато другият служи за разтоварване на трафика през Internet. Между двата сървъра задължително трябва да има непрекъсната Internet връзка.

В текущата статия са засегнати и трите варианта на репликация, като в последно време в практиката се утвърди единствено Вариант 1. Този вариант е най-стабилен при прекъсване на Internet връзката и гарантира безпроблемна работа. Освен това той е най-логичен от гледна точка на потребителите и дава равноправна свързаност между всички периферни обекти, без нарушаване на работата при временно прекъсване на свързаността.

Първи стъпки

Правилното изграждане на цялостна система с централизирано управление и разпределени офиси изисква определена последователност от действия. Преди да се стартира изграждане на репликацията е необходимо да се изпълнят няколко етапа на подготовка. Тези етапи се извършват върху централна база от данни и правят системата успешна и работоспособна. Особено важен е момента за изпълнение на указаните действия, които трябва да са преди създаване на репликацията. В противен случай системата няма да е работоспособна. За по-точното описание на всички процеси е важно да се проследи топологията и основите на репликацията:

  1. Репликацията съхранява огледално копие на всички данни между SQL сървърите. Това е причината поради която основната част от номенклатурите трябва да се изгради преди създаване на репликацията. Репликацията трябва да предава само разлики;
  2. Сървърите обменят данни асинхронно. Това означава, че определена операция може да е извършена в един обект, но все още да не е предадена към другите обекти. Следователно всеки оператор трябва да работи само в своя обект и по никакъв начин да не се намесва в работата на отдалечен обект. Използва се заключване на операторите по обекти;
  3. Ако няма активна Internet връзка, диапазонът на номера на документите се определя локално. Затова обектите трябва да разчитат единствено на собствения сървър и да имат индивидуална номерация по обекти. Не е позволено един оператор да работи от името на няколко обекта;
  4. Всеки сървър отговаря за операциите на собствения обект. В никакъв случай не трябва да се смесват доставки и продажби на един оператор в различни обекти. Затова задължително се прави заключване на операторите към локалния сървър и той работи само на собствения сървър.

Посочените правила са минималните правила за начална подготовка и стартиране на режим на репликация на данните. Важно е въвеждането на строги и ограничителни права за достъп на операторите, всеки с ясно зададени правила и нива на достъп.

Изграждане на номенклатурата

Една от първите стъпки е създаването на номенклатурите, това е важен подготвителен етап. Изграждането на номенклатурата е определящо за правилната работа на цялата система защото всяко подчинено работно място ще наследи основната номенклатура. Изискването е номенклатурата да е завършена преди за се направи репликацията. Това позволява въвеждането на данните да стане върху един сървър, той да изгради основната част от вътрешната подредба на данните и да постави правилни идентификатори. В следващ момент на работата може да се допълват номенклатури, но е желателно това да става чрез централизиран подход, да се използва отново централния сървър и да се спазват правила за генериране на кодовете на стоките.
Като основна грешка може да се посочи създаване на репликация при празна база (или база с незапълнени номенклатури), след това да се прави активно въвеждане на елементите от различни сървъри. Поради асинхронния принцип на работа това ще доведе до непоследователно генериране на кодове, възможно дублиране на част от номенклатурата по отношение на код, баркод или дори имена.
Преди да се изгради репликация е задължително правилното създаване на номенклатури на:

  • Обекти. Планирането на всички обекти е задължително да стане преди всички останали номенклатури;
  • Потребители. Създаването на номенклатурата на потребителите е свързано с тяхното разпределение по обектите.

По този начин списъкът с обекти и потребители трябва да е създаден в централната база. Следва прецизна настройка на потребителите и права на достъп и едва след това да се изгражда репликация между сървърите. Тъй като тези номенклатури ще се управляват централизирано, тяхното правилно планиране е ключово за работоспособността на цялата система.

Права на достъп и ограничение

Стабилността на система в режим на репликация се гарантира чрез дефиниране на правила и права на достъп. Ефективно създадените и приложени права на достъп трябва да осигурят разделение на операторите и да премахнат всички възможности за конфликт на данни. Основните пунктове за гарантиране на работата са:

  1. Всеки оператор работи само и единствено в своя обект. Също така потребителите работят само с локален сървър, нямат достъп до отдалечен;
  2. Правата за достъп са рестриктивни и позволяват само необходимите операции, няма достъп до цялостната система. Въвеждат се максимално стриктни ограничения на потребителите;
  3. Номенклатурите са построени в началото, относително постоянни са и измененията се правят в съответствие с предварително изградена система на ниво фирма. Въведените принципи трябва да изключват дублирани номенклатури (например централизирано въвеждане);
  4. При добавяне на нови номенклатури се спазват общи правила за организацията, например първият обект създава номенклатури от код 1000, вторият от код 2000 и т.н. Разделянето на номенклатурите по време е друга възможност, определени позиции се добавят сутрин, други след обед и по този начин няма смесване на данните.

Ограниченията на работа дават възможност да се избегне грешките, при които един потребител се намесва в работата на отдалечен обект и обърква тяхната технология, защото не е в течение с последните изменения.

Автоматична номерация на номенклатурите

При режим на репликация номенклатурата би трябвало да е създадена още до момента на първоначално стартиране на цялата мрежа. След това добавянето на нови елементи се извършва само при крайна необходимост и по възможност на един централен сървър. Само така може да се осигури правилна номерация на кодовете на стоките или другите елементи. Също така се въвеждат мерки за контрол на елементите, например префикс на обекта или разделяне на въвеждането по време (номенклатурите се въвеждат в различно време в разните обекти и това позволява прецизно сливане на данните).
Правилата за управление на номенклатурите се фиксират чрез права за достъп на операторите и разрешаване на отделни функции. Всичко това се изпълнява само в локалния обект, а най-добре е това да става единствено на централния сървър.

Номерация по обекти

След като има създадени обекти е необходимо да бъде включена номерация по обекти. Номерацията позволява всеки обект да има собствен диапазон на номерата на документите и да не зависи от операции в други обекти. При настройка на системата трябва да се предвидят следните важни правила:

  • Всеки обект да работи със собствен диапазон. Този диапазон да е достатъчно голям за да не се препокрият номерата на документите с документи от друг обект, дори и след 2-3 години работа. Обикновено диапазон от 100 000 до 1 000 000 номера между обектите е напълно достатъчен;
  • Всеки отделен сървър да работа само с един обект или няколко обекта, които в никакъв случай да не се обработват от други сървъри. Принципът е, че всеки сървър обработва само своите обекти.

Настройката на обектите е най-важната за правилната работа на цялата система. Дори и при опитни администратори, настройката трябва да бъде прегледана няколко пъти, преди да се премине към следващата стъпка.

Създаване и заключване на потребителите

Потребителите са основна част от репликацията на системата. Изгражда се номенклатурата, след което всеки потребител се заключва към неговия обект. По този начин всеки потребител работи само със своя обект. Това е особено важно за да няма объркване на номерацията на документите. Недопустимо е един потребител да работи с чужд обект, който не е на собствения му сървър.
Правилното разпределение на дейността изисква прецизно дефиниране на процесите. Чрез ограничаване на правата на потребителите и заключване по обекти се елиминират колизиите в системата, когато един потребител прави операция на собствения си сървър, а друг променя вече извършените операции. Желателно е правата на достъп да са силно ограничени. Въвеждането на повече ограничения прави системата значително по-стабилна и не нарушава стандартната работа на потребителите.

Създаване на репликацията

Изграждането на цялата система се прави след настройката на обекти, потребители, номерация на документи и права на достъп. След успешното завършване на този процес може да се пристъпи към същинското изграждане на репликацията на сървърно ниво.

Кратка последователност

Всички тези действия могат да се опишат със следната кратка последователност:

  • Създава се номенклатурата на обектите;
  • Включва се и се настройва номерацията по обекти;
  • Създават се потребителите. Всеки потребител се заключва към собствения си обект;
  • Задават се права на достъп. Всеки работи само в собствения си обект, към собствения си сървър;
  • Изгражда се основната номенклатура от стоки и партньори;
  • Базата се превключва в режим на репликация и всяко работно място се свързва единствено към собствения SQL сървър.

Тези действия гарантират 100% успех при всяка отделна репликация.

Често срещани грешки

Грешките, които се срещат често и трябва да се избягват са:

  1. Да не са изпълнени основните изисквания:
    • Работа без дефиниране на номерация по обекти;
    • Да няма заключване на операторите по обекти;
    • Да не са зададени правилно правата на операторите, при което един оператор да може да работи от името на друг обект;
    • Неправилна конфигурация на времето за репликацията на данните на ниво SQL сървър. В този случай ще има огромно забавяне или дори изгубване на данните на ниво SQL сървър.
  2. Работа на един оператор в отдалечен за него обект. Например оператор от Магазин 1, свързан със SQL сървър 1 извършва продажби в отдалечения за него Магазин 2, който се обслужва от SQL сървър 2. Така се обърква номерацията на документите в отдалечения обект. Затова всеки оператор трябва да работи единствено в своя обект;
  3. Едновременно въвеждане на номенклатури от много различни места, без предварителна синхронизация. По този начин може да се въведе Стока А с код 1, на друг сървър да се въведе Стока Б с код 1, на трети да се въведе Стока В с код 1. Цялостната картина на стоките ще се получи когато всички сървъри се синхронизират и номенклатурата се обедини. В този случай ще има няколко стоки с един и същ код, въпреки, че програмата не е предупредила операторите за това (преди синхронизацията няма обмен на данни, затова всъщност няма реално дублиране на данни);
  4. Прекъсване на репликацията за повече от 14 дни без възможност за алтернативна синхронизация. В този случай е необходимо повторно инициализиране на репликацията и възстановяване на данните и процеса;
  5. Промяна на IP адреса на някой от SQL сървърите без да това да се отрази на централната машина. В този случай се губи връзката между отдалечения компютър и централния SQL сървър.

Избягването на посочените грешки гарантира безпроблемна работа на цялата система за много дълъг период от време.

Надеждност

При правилно извършена подготовка на репликацията, надеждността на системата е на много високо ниво. Пропускане или неспазване на една стъпка могат неимоверно да затруднят процеса, като трудностите се появяват на неочаквани места. Стриктното изпълнение е задължително за прецизната работа на продукта в режим на репликация.

Други

Продуктите на Microinvest използват пълните възможности на една от най-прогресивните технологии за управление на данните – репликация между отдалечени SQL сървъри. За успешното стартиране на процеса на репликация е достатъчно да се изпълнят указаните в статията процедури. Настройката и поддръжката на стабилно работеща система в режим на репликация не е сложно и изисква минимални усилия от страна на техническата поддръжка. Основните въпроси засягат организацията на персонала, правата на достъп на отделните потребители и спазването на основни принципи на съвместна работа. Когато това е направено според изискванията в началото, тогава няма никакви затруднения в оперативната работа.

Полезни връзки

Лични инструменти