ПредишенСледващото

ИТ инфраструктурата за вашето предприятие

разработчиците на приложения и база данни има вероятност да се изправи пред много дълго бягане комунални услуги като БКП (програма за износ на данни), DTS услуга за данни и репликация на данните, архивиране на големи количества данни в най-различни източници. Например, за предаване на база на изображението, който съдържа 500 УС на данни, с ограничения на ключове и индекси между два мощни четири процесорни сървъри с RAM и 1 GB дисков масив RAID 5 ще изисква 2 часа през работни часа или 1.5 часа през нощта. Такова представяне е неприемливо за сървъри за промишлени нужди с товар часовник или състояние на разпределение съхранение на данни данни, в които режимът на невърхово е твърде малък, за да се гарантира прехвърлянето на големи обеми от данни за всички сървъри. Е, как може да ви се ускори процеса на разпределяне на необходимите данни?

Аз ще се фокусира върху факта, че в процеса на копиране на големи изображения на данни, за да бъдат оптимизирани. репликация на данните на общия преглед на копия на данните, установени от оригиналния SQL Server, когато той се нарича репликация, дори ако едновременно изпълнение на други искания, както и промяна на едни и същи данни. Репликация на моментно състояние копия на данните, установени веднага, или по-късно друг SQL Server. SQL Server, получаване на данни, вижте ги за това, което те са присъствали на сървъра източник по време на копието до следващия репликацията не се актуализира пълен набор от данни. DTS копия, определени от източник на ODBC данни (или OLE DB) в друга мишена ODBC-приемник веднага. И на източника и приемника може да бъде доста различни доставчици на ODBC данни. БКП копирате таблица или изглед от SQL Server във файл на собствен формат, файлът с символ или, обратно, от файла на една маса или вижте SQL Server.

Как се моментна снимка репликацията

Във втория етап Разпределение Агент разпределение Агент копия .bcp набор от файлове в базата данни източник (абоната) с distrib.exe полезността. snapshot.exe и distrib.exe комунални услуги използват БКП, за да копирате статиите един по един, Snapshot Агент копия на данните в досиетата .bcp изпълнение на SELECT на прост изречение, които могат да съдържат колона филтър и клаузата WHERE (за филтриране на реда). Тогава Snapshot агент Агент пише набори резултата в .bcp файлове. Когато копия разпределение агент (вписвания) .bcp файлове в таблица на база данни, е необходимо да изтриете съществуващия ред и запис поставяне и отстраняване и възстановяване на индексите.

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

Screen 1. Мероприятия различни публикации разпределителни средства.

Свързване на изображения и разпространение работа агент. Enterprise полезност мениджър автоматично открива работни места SQL Server за всеки Разпределение Agent. Тези средства се представят репликация, преминавайки през етапите на работа. работата по подразбиране агент се състои от три етапа - Влезте агент стартиране съобщение, Run агент и Detect nonlogged агент изключване. 3 показва тези стъпки, показани в раздела Стъпки в свойствата CGIS1-EGH-адрес-28 Имоти-CGIS1. 4 се показва на екипа на екрана работи в стъпка Run агент, когато се използва snapshot.exe.

4. Командата стартов екран Snapshot Agent.

Пълният синтаксис е както следва:

Фигура 2. T-SQL скрипт (.idx) за определяне на индекса на веригата.

И накрая, данните се съхраняват във файлове .bcp. Всеки един от елементите, има набор от файлове с разширение .sch. IDX и .bcp.

Освен това по подразбиране Разпределение Agent работа изпълнява същите три стъпки като моментна снимка агент. Въпреки това, на етапа на агент Run се извършва distrib.exe, както можете да видите от кода в екрана 5. Пълният синтаксис на тази команда е както следва:

Екран 5. Започнете Command Разпределение Agent.

Първо distrib.exe изпълним файл, схемата от файловете с разширение .sch абонаментна база (за удобство, аз го нарече стъпка SCH). Следващата стъпка се използва .bcp файлове за презаписване на данните от .bcp на разширението на файла в таблиците, които са създадени в стъпка SCH (етап БКП). И накрая, индексите на файловете с .idx разширение (етап IDX) се прилагат.

Snapshot.exe изпълним файл генерира набор от файлове с разширение .sch и .idx в съответствие с качествата на статиите, които са инсталирани в раздела за снимка на диалоговия прозорец на съответния член на имоти. Например, на фигура 6,

Екран 6. Монтирайте тематични статии.

Действието Изтриване на данните в съществуващата таблица, която съответства на отчета за ред филтър ( «Изтриване на данни в съществуващите таблици, които съответстват на състоянието на филтъра"), както е наречен АДРЕС диалоговия прозорец със свойства, добавете командата Изтриване от [АДРЕС] във файла .sch (вж. Фигура 1) статия ADDRESS. Въпреки това, ако изберете Изтриване на всички данни в съществуващата таблица (с помощта на TRUNCATE) ( «изтрие всички данни в съществуващите таблици (с помощта на TRUNCATE)») (см. Екран 6), ще се съкрати TABLE команда [АДРЕС].

Фигура 1. T-SQL скрипт файл (.sch) за определението за изделие схема.

Къде да очакваме намеса

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

Въвеждането на критерии за ефективност. За да се определи по време на изпълнение на заявката, или може да бъде емпирично оцени нейната ефективност, или математически оцени неговия алгоритъм. В този раздел, ще направя и емпирични и математическа оценка на изпълнението на няколко агенти, за да се сравнят резултатите, получени чрез различни методи. За проучване на необходимата сума от време, математически се смята, че изпълнението на алгоритъма се увеличава с броя на въвеждане на данни. тенденция на растеж по време на работа показва как алгоритъма мащабира добре с товара. Например, ако времето, прекарано от размера на обработката на данни п, се увеличава линейно с увеличаването на броя на данни (например за обработка 1000 записи отнема 2 секунди, за лечение на 10 хиляди записи е 20 сек.), След това времето за изпълнение на алгоритъма - линейно с размера на данни. Тази тенденция нараства като функция на количеството данни се нарича време-зависима алгоритъм и обозначена с О (п) (или на ред N) до линейна функция на времето. Алгоритъмът, който винаги е завършен в рамките на едно и също време, независимо от това колко данни се иска да въведете постоянна стойност в зависимост от времето, което съм обозначена с О (с).

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

Оптимизиране на скоростта на изпълнение

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

Да се ​​отървем от намесата причинена от DELETE изявление. Можете лесно да се премахнат пречките, които създава DELETE изявление в етапа на SCH, избирайки опцията "изтриване на всички данни в съществуващата таблица (с помощта на TRUNCATE)» в раздела за снимка в диалоговия прозорец на свойствата статия, екранът 6. В резултат на това, ние получаваме командния съкращава

вместо изтриете от

За съжаление, тази идея не работи по две причини. На първо място, може би си мислите, че трябва да използвате .idx файл, създаден снимка агент, за да се пресъздаде чуждестранните ключови ограничения и индексите, които са били изтрити приспособима скрипт. Въпреки .idx файл не включва ограничения върху първичната и уникални ключове, защото .idx Snapshot агент улавя тези клавиши като индекси във файла. Например, на фигура 2 Уникални Клъстер INDEX [PK_ADDRESS] състояние, причинено от първичен ключ име [PK_ADDRESS], но продължава да съществува само като индекс. На второ място, въпреки че @schema_option sp_addarticle съхранена процедура параметър ви позволява да забраните снимка агент скрипт, както и използването на параметъра @creation_script, @creation_script настройки на параметрите също деактивират генерирането на .sch и .idx скриптови файлове. Ето защо, не .idx файл не е на разположение, за да се възстанови индекси, изтрити файлове @creation_script. Инсталиране @creation_script параметър в специален скрипт който не успее да постигне целта.

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

Екран 7. Променено стъпки за работа за дистрибуция Agent.

Приспособява се към околната среда

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

Фигура план за изпълнение 3. Проба за предложението изтриете.

Защо не транзакциите репликация?

Може би някой има въпрос, защо не счита за сделка репликация за разпространение само промените в голямата картина върху целевите сървъри. Нека разгледаме един пример от реалния свят, който ще илюстрира причината за моя избор. Въпреки че използването на транзакциите репликация, можете да копирате само промените, вместо цялата картина, които биха намалили размера на данните, е много силен, транзакциите репликация не се отнася за много ситуации. Например, географска информационна система (ГИС), в която работя, подкрепя прилагането на ГИС, която съчетава данни относно плана за сайт, неговата цена и предназначението. Въпреки това, градските услуги, тези данни ще служат не. Вместо това, две отделни групи, във всяка от трите съвети, данъчни и земята (както и отдел строителство), подкрепени от данните в различни формати. Пълна информация план моментна снимка на сайта идва в Microstation формат? S CAD, както и оценката на снимки за данни стойност и предназначение дойде в текстово табулатори формат. ГИС приложение очаква таблични данни от SQL Server, а не на файлове, така че трябва да импортирате файлове в база данни, трансформиране на данни от различни източници в един-единствен набор от схеми и премахване на дубликати. Също така, поради факта, че внесените файлове - това е пълна с изображения вместо набор от промени и трансформация - не 12:59, поддържане на последователен набор от данни промени е твърде трудно и не си струва времето е. Зарежда се, трансформация и интеграция на пълен набор от външни данни по-лесно и по-ефективни. За да се осигури такъв пълен набор от внесени данни на множество възли копираме пълната картина.

В допълнение, ако режимът Изтриване на всички данни в съществуващата таблица (с TRUNCATE) ( «Изтриване на всички присъстващи на данни (Оператор съкращава)») в диалоговия прозорец статия имоти, нов скрипт премахва чужди ключови ограничения за целевата таблица в базата на абонамент, изпълнявайки sp_Msdropfkreferencingarticle нова запомнена процедура в главната база данни. Ние трябва да имаме предвид, че агентът за дистрибуция, не се възстанови отдалечените ключовете до края на работата на репликация моментна снимка. Стъпка Recreate в моя случай възстановява всички ограничения за ключове и индекси.

Сподели снимки с приятели и колеги

Подкрепете проекта - споделете линка, благодаря!