Дизайн на разпределена база данни и стратегия за разпространение на данни
Понастоящем приложението на концепцията за бази данни в разпределени системи е общоприето. С развитието на такива системи сложността на задачите, които решават, и обемът на обработваната информация непрекъснато нарастват. В същото време разпределените системи трябва да имат средства за бърза обработка на големи количества информация. Съвременните тенденции в развитието на информационната система са в прехода от централизирани изчислителни системи към разпределени. Стратегиите за разпространение на данни в мрежовите възли се диктуват както от управленските, така и от производствените задачи на конкретни химически индустрии.
Създаването на разпределени информационни системи е много спешна задача. Това се дължи на нарастващото търсене на приложения. Повишават се изискванията за ефективност и актуалност на информацията. Управлението на информацията се осъществява с помощта на системи за управление на бази данни (СУБД). За постигане на висока производителност в приложенията за разпределени бази данни са необходими ефективни методи за проектиране на разпределени бази данни (RDB).
За да проектирате разпределени бази данни, трябва да решите следните задачи:
1) състава на съхраняваните данни;
2) списък на задачите за решаване и условно постоянната информация, необходима за тях;
3) информация за това кои задачи се използват от кой клиент с каква честота.
Задачата за определяне на състава на съхраняваните данни се решава чрез традиционни методи за проектиране на бази данни. Тук трябва да дефинирате всички необходими библиотечни данни. Определянето на списъка от задачи, които трябва да бъдат решени, всъщност е първият етап от жизнения цикъл на разработката на софтуер според общоприетите методи на обектно-ориентиран анализ. За решаването на третия проблем е необходима надеждна статистика за честотата на решениетоиндивидуални задачи от различни клиенти. По същество решението на третия проблем е проблемът с фрагментацията и разпределението на данни, известен в теорията на разпределените бази данни [7, p.59].
Фрагментацията на данни позволява релацията да бъде разделена на два или повече сегмента или фрагмента. Всеки фрагмент може да се съхранява на всеки възел в мрежата. Поставянето на данни е процес на вземане на решение къде да се съхраняват данни, за да се минимизира целевата функция при изпълнение на заявки.
Когато настъпят промени в инфраструктурата на разпределена среда, RDB трябва да бъде преработен, за да поддържа производителността на приложението. Редизайнът води до нови модели на фрагментация и разположение и води до необходимостта от материализиране на актуализирания дизайн.
Дизайнът на базата данни се извършва в четири фази.
На етапа на формулиране и анализ на изискванията се определят целите на организацията, определят се изискванията към базата данни. Тези изисквания са документирани във форма, която е достъпна както за крайния потребител, така и за дизайнера на база данни. В същото време се използва техниката на интервюиране на персонал от различни нива на управление.
Етапът на концептуалния дизайн се състои в описване и синтезиране на информационните изисквания на потребителите в първоначалния дизайн на базата данни. Изходните данни могат да бъдат набор от потребителски документи в класическия подход или приложни алгоритми (бизнес алгоритми) в съвременния подход. Резултатът от този етап е представяне на високо ниво (под формата на таблична система от база данни) на изискванията за потребителска информация въз основа на различни подходи.
В процеса на логическо проектиране представянето на данните от високо ниво се трансформира в структурата на използваната СУБД. Основната цел на етапа е да елиминираизлишък на данни с помощта на специални правила за нормализиране. Целта на нормализирането е да се сведат до минимум повторенията на данните и възможните структурни промени в базата данни по време на процедурите за актуализиране. Това се постига чрез разделяне (декомпозиране) на една таблица на две или повече, последвано от използване на навигационни операции в заявки. Имайте предвид, че навигационното търсене забавя производителността на базата данни, т.е. увеличава времето за отговор на заявката. Получената логическа структура на базата данни може да бъде количествено определена с помощта на различни характеристики (брой достъпи до логически записи, количество данни във всяко приложение, общо количество данни). Въз основа на тези оценки логическата рамка може да бъде подобрена, за да се постигне по-голяма ефективност.
Процедурата за управление на базата данни заслужава специално обсъждане. Най-просто е в режим за един потребител. В многопотребителски режим и в разпределени бази данни процедурата става много по-сложна. Ако няколко потребители имат достъп едновременно, без да предприемат специални мерки, целостта може да бъде компрометирана. За да се елиминира това явление, се използва системата за транзакции и режимът на заключване на таблици или отделни записи.
Транзакцията е процес на промяна на файл, запис или база данни, причинена от предаването на едно входно съобщение. Функциите за блокиране и опциите за блокиране ще бъдат разгледани отделно по-долу.
На етапа на физическо проектиране се решават проблеми, свързани с производителността на системата, определят се структурите за съхранение на данни и методите за достъп.
Взаимодействието между етапите на проектиране и речниковата система трябва да се разглежда отделно. Процедурите за проектиране могат да се използват независимо при липса на речникова система. Самата речникова система може да се разглежда като елемент на автоматизациядизайн.
Инструментите за проектиране и критериите за оценка се използват на всички етапи на разработката. В момента несигурността при избора на критерии е най-слабото място в дизайна на базата данни. Това се дължи на трудността да се опишат и идентифицират голям брой алтернативни решения.
Ситуацията е по-проста при работа с количествени критерии, които включват времето за отговор на заявка, цената на модификация, цената на паметта, времето за създаване, цената за реорганизиране. Трудността може да доведе до противоречие на критериите помежду си.
В същото време има много критерии за оптималност, които са неизмерими свойства, които трудно могат да бъдат изразени количествено или като обективна функция.
Качествените критерии могат да включват гъвкавост, адаптивност, достъпност за нови потребители, съвместимост с други системи, способност за преобразуване в друга компютърна среда, способност за възстановяване, способност за разпространение и разширяване.
Трябва да се отбележи, че проектирането на разпределени бази данни е сложен процес, при реализирането на който могат да се идентифицират четири основни проблема:
1) проблемът с дезагрегацията, който се състои в необходимостта от рационално, в съответствие със системата за изчисления (задачи, които трябва да бъдат решени), разпределение на счетоводната информация по нива на обработка и счетоводни области, като се гарантира тяхната взаимосвързаност;
2) проблемът, свързан със създаването на инфологична структура на информационния фонд на разпределена база данни, фокусирана върху решаването на целия комплекс от задачи на избраната система за разплащане;
3) технологичен проблем, състоящ се в изпълнение на изискванията за рационализиране на изчислителния процес на базата на разпределена база данни и разпределен комплекс от техническифинансови средства;
4) организационен и правен проблем, състоящ се в осигуряване на защита на данните и спазване на правните норми за достъп до бази данни, тяхното попълване, промяна и унищожаване.
В допълнение към тези четири проблема, при създаването на софтуер за интегрирана разпределена обработка на идентификационни данни, важен въпрос е разпределението на данните в логическите възли на обработка на информация.
Дефинирането и поставянето на фрагменти от база данни в мрежови възли трябва да се извършва, като се вземат предвид спецификите на използването на базата данни. Установено е, че в повечето бази данни 20% от заявките създават 80% от натоварването на базата данни. Тези заявки трябва да бъдат анализирани, за да се определи подходящото разделяне на базата данни на фрагменти и разположението на тези фрагменти.
При анализ на базата данни, за да се определи оформлението по възли, се вземат предвид следното:
1) количествени показатели (предимно обема на данните): те влияят върху разположението на данните;
2) качествени показатели: те определят модела на фрагментация. В този случай обикновено се вземат предвид следните параметри:
- честота на стартиране на приложението;
- възелът, на който се изпълнява приложението;
- изисквания за ефективност на транзакции и приложения;
- изисквания за време за реакция на системата при заявки и др.
Критерии, по които се извършва дефинирането и поставянето на фрагменти от база данни:
1) локализация на връзките;
2) подобряване на надеждността и достъпността (репликация);
3) производителност (наличие на "тесни места" или неефективно използване на системните ресурси);
4) баланс между капацитет и цена на външната памет;
5) минимизиране на разходите за предаване на данни.
Стратегията за разпространение на данни между възлите на компютърна мрежа може да бъде класифицирана в зависимост от броя на възлите, съдържащи данни, и наличносттадублиране на информация, както и системна архитектура и СУБД софтуер. Нека да разгледаме четири основни стратегии за разпространение на данни:
1. Централизация на бази данни. Централизираният или ръчен метод за извличане на данни (Фигура 1) е най-лесният за прилагане. Един сървър хоства едно копие на базата данни. Всички операции с бази данни се осигуряват от този сървър. Достъпът до данните се осъществява чрез отдалечена заявка или отдалечена транзакция. Предимството на този метод е лесното поддържане на базата данни актуална. Недостатъкът е, че размерът на базата данни е ограничен от размера на външната памет, всички заявки се насочват към един сървър със съответните разходи за комуникационни разходи и времезакъснение. Оттук и ограничението за паралелна обработка. Базата може да бъде недостъпна за отдалечени потребители, когато възникнат грешки в комуникацията, и напълно да се повреди, когато централният сървър се повреди.
Ориз. 1 - Централно разпределение
2. Разчленяване на разпределена база данни. С тази стратегия има едно копие на базата данни, а локалните бази данни се разпределят в отделни възли. Обемът на разпределената база данни е ограничен от необходимото количество вторична памет, която вече е налична в цялата информационна и изчислителна мрежа. Ефективността на стратегията за разделяне е толкова по-висока, колкото по-висока е степента на локализация на връзките, т.е. колкото по-голям е броят на потребителските заявки, внедрени в базите данни на съответните локални информационни системи (фиг. 2).
Ориз. 2 - Метод на разчленяване
Предимствата на този метод са увеличаването на обема на базата данни; повечето заявки се удовлетворяват от локални бази данни, което намалява времето за отговор; повишаване на достъпността и надеждността; намаляване на разходитеизвличане и актуализиране на заявки в сравнение с централизирано разпространение; системата ще остане частично работеща, ако един сървър се повреди.
Недостатъците на метода включват, че някои от отдалечените заявки или транзакции може да изискват достъп до всички сървъри, което увеличава времето за изчакване и цената; трябва да имате информация за разположението на данните в базата данни. Наличността и надеждността обаче се увеличават. Разделените бази данни са най-подходящи за случай на споделяне на локални и глобални компютърни мрежи.
3. Дублиране на разпределени бази данни. При използване на метода на дублиране (фиг. 3), всеки сървър на компютърната мрежа хоства пълна база данни. Тази стратегия организира множество копия на базата данни; пълно копие на всички данни се намира във всеки логически възел. Основното предимство на тази стратегия е високата надеждност на информационната база и лекотата на нейното възстановяване. Този метод предоставя най-надеждния начин за съхранение на данни.
Ориз. 3 - Метод на дублиране
Недостатъците на метода са повишените изисквания към обема на външната памет; усложняване на настройката на базите, тъй като е необходима синхронизация, за да се съгласуват копията. Предимството на този метод е, че всички заявки се изпълняват локално, което осигурява бърз достъп. Този метод се използва, когато факторът на надеждност е критичен, базата е малка и скоростта на актуализиране е ниска.
4. Смесена стратегия. Методът на смесеното разпространение съчетава два метода на разпространение на данни: дублиране и разделяне (фиг. 4). В същото време се придобиват както предимствата, така и недостатъците на двата метода. Имаше нужда да се съхранява информация за това къде се намират данните в мрежата. Основното предимство на метода е неговата гъвкавостсистема, тъй като е възможно да се направи компромис между количеството памет за базата данни като цяло и за базата данни във всеки сървър, за да се гарантира надеждност и производителност. Тази стратегия лесно прилага паралелна обработка, т.е. обслужване на разпределена заявка или транзакция. Недостатъци на метода: проблемът с взаимозависимостта на факторите, влияещи върху производителността на системата, нейната надеждност остава, изискванията за памет се увеличават. Използва се смесена стратегия при наличие на мрежова СУБД, която осигурява внедряването на разпределена база данни.
Ориз. 4 - Смесено разпределение
Процесът на проектиране е дълъг и трудоемък и обикновено продължава няколко месеца. Основните ресурси на дизайнера на база данни са неговата собствена интуиция и опит, така че качеството на решението в много случаи може да бъде ниско.