книги / Структурный подход к организации баз данных
..pdfного типа сегмента X. Размер поддерева любого изолированного типа сегмента вычисляется по формуле
5Х= ЬХ+ (Р 1 Х 51) + (Р2 Х 52)+ ... + (Р ЫХ 5Ы).
Размер корневого поддерева равен среднему размеру записи физичес кой базы данных. Это дает возможность разработчику определить БАЙТЫ В СЕГМЕНТАХ, т. е. число байтов, необходимых для размещения сегментов базы данных.
БАЙТЫ В СЕГМЕНТАХ =
= размер корневого поддерева Xчастота появления экземпляров корневого сегмента.
Оценка БАЙТОВ В СЕГМЕНТАХ для примера на рис. 9.9 дает величину = = 1000x2000 = 2 млн. байт.
Объем памяти на магнитном диске зависит от того (рис. 9.11), какой
Рис. 9.11. Ш — длина неиспользуемого конца блока. Сегмент, длина которого равна сумме длин заштрихованных областей, не может уместиться в конце блока. Расстояние между точкой У и концом блока равно Ш.
Необходимый объем памяти на запоминающем устройстве прямого доступа = 1 (ВЬК, Р5№, Р5В, Ш);
ВБК— размер блока (С1 : размер управляющего интервала для метода доступа У5АМ);
Р5Ш — свободная область внутри блока (часть каждого блока, оставляемая свободной при загрузке);
Р5В — свободная область блоков (часть блоков, оставляемых свободными, при загрузке , от общего числа блоков);
Ш — неиспользуемый из-за «нерадщепления» сегментов конец блока
размер блока задан (ВЬК), какая часть каждого блока остается свободной при загрузке или реорганизации (ЕЗДУ), какую часть всех блоков состав ляют блоки, которые остаются свободными при загрузке или реорганиза ции. (ЕЗВ), и от размера не используемого из-за «нерасщепления» сегмен
тов конца блока (ДУ)
Из-за наличия ЕЗДУ, ЕЗВ и ДУ эффективный размер блока меньше заданного размера:
Эффективный размер блока = [ ( ( 1 — Р5ДУ) ХВЬК) — Ш] X О — Р5В).
Число байтов, подлежащих хранению, — БАЙТОВ В СЕГМЕНТАХ. Поскольку эффективный размер блока меньше заданного размера, число блоков, требуемых для хранения БАЙТОВ В СЕГМЕНТАХ, оказывается большим. Число БАЙТОВ В БЛОКАХ получается из БАЙТОВ В СЕГ МЕНТАХ с учетом свободной памяти и неиспользуемой из-за нерасщепле ния сегментов памяти в конце блоков:
БАЙТЫ В БЛОКАХ = БАЙТЫ В СЕГМЕНТАХ х Р^змеР блока эффективный
размер блока
При нахождении распределения АУ возможны две ситуации: 1. Длина всех сегментов одинакова и равна Ь байт.
2. Длины сегментов различны и равны где Ь х— длина сегмента X в байтах.
Основным источником информации при определении объема памяти служит физическая иерархическая структура, т. е. взаимосвязи исходный — порожденный, размеры сегментов, данные и префиксы, частоты появления экземпляров сегментов относительно исходных и любые индексные взаимосвязи. Определение объема памяти основывается на знании разме ра блока (размера управляющего интервала для метода доступа У5АМ), свободной памяти и группирования наборов данных.
Ситуация 1. Длины всех сегментов одинаковы и равны Ь байт: ВЬК — размер блока; Р5АУ — свободная память внутри блока (часть блока, оставлен
ная свободной при загрузке).
\У= ( 1 — Р5\У)ХВЬК тскИЛ
П рим ер 1.
Ь= 1 0 0 байт; В1Ж= 4000 байт;
Р5ДУ=10%, т. е. 400 байт/блок не используются; при начальной загрузке будут использоваться только 3 600 байт каждого блока.
\У = (1 — 0,1) Х4000 тоб 100=0.
В конце блока нет неиспользуемых полей.
П р и м е р |
2. |
1 = 1 1 0 |
байт; |
*ВЬК = 4000 байт; |
|
Р8№=10% |
№ =(1 — 0,1)Х4000 тоб 110 = 80 байт/блок.
Из-за «нерасщепления» сегментов 80 байт/блок не будут использоваться.
Ситуация 2. Сегменты переменной длины Ьх, где Ьх— длина сегмента X в байтах.
Моделирование загрузки сегментов в блоки в порядке их иерархии может дать точное значение числа неиспользуемых байтов. Однако модели рование потребует исключительно много времени и, скорее всего, не оправ дает затрачиваемых усилий.
Пессимистическая усредненная оценка АУ на блок — это длина наи большего сегмента в байтах — 1.
Оптимистическая усредненная оценка АУ на блок — это длина наи меньшего сегмента в байтах — 1.
П р и м е р .
Р5№ = 0,15; Р5В =0,10; В1Ж =4096.
Размер поддерева 8 В= 30 Размер поддерева 8 с =15
Размер поддерева 8 А= 100+(5 х 8 в) + (50х8с) = 1000.
!шоб = «по модулю» X шоб У =-[°, где п — остаток от деления Х+-У и п<У .
Ц =зо |
и =15 |
Гв = 5 |
Рс =50 |
БАЙТЫ В СЕГМЕНТАХ = РА х За= 2000000. Оценка \У=99.
Б А Й ТЫ В Б Л О К А Х - | , | _ 0, ^ 0” 09в_ 9 9 )х 0 ,9 Х 4 0 9 6 - г б5КК»Ю
На запоминающем устройстве прямого доступа необходимо выделить 2690000 байт памяти.
9.3.2.Оценка времени
Вбольшинстве СУБД при обращении к базе данных основное время тратится на выполнение операций физического ввода-вывода. В 1М5 всякая логическая база данных («внешняя модель» в терминологии Аме
риканского национального |
института |
стандартов — АЫ51) компонуется |
из одной или нескольких |
физических |
баз данных («внутренних моде |
лей» в терминологии АЫ51). Для конкретной прикладной программы можно оценить образцы обращений и по ним определить последователь ность доступа к сегментам. Для обращения от сегмента А к сегменту В нужно знать все сегменты, с которыми требуется установить связь при прохождении по пути. Оценить число операций ввода-вывода, необходи мых для доступа к сегменту В от сегмента А, можно в том случае, если известны вероятности операций ввода-вывода для каждого промежуточ ного сегмента, через который необходимо пройти. При известном времени выполнения операций ввода-вывода устройства можно оценить время выполнения операций ввода-вывода, требуемое для выполнения обраще ния к базе данных при необходимости обращения к сегменту В от сегмен та А.
Иерархия физической базы данных, длина каждого типа сегмента, ожидаемая частота появления экземпляра каждого типа сегмента отно сительно исходного и последовательность обращений к сегментам конкрет ной прикладной программы могут быть использованы в качестве исход ных данных для определения числа операций ввода-вывода, требуемых для обращения к запрашиваемым сегментам. Число операций ввода-вывода при обращении к запрашиваемым сегментам также зависит от расстояния между двумя искомыми сегментами, размера блока, буферного пула
ит. д.
Вязыке В1^/1 (который состоит из компонента управления базой данных 1М5 и языка манипулирования данными) указатели включаются
в сегменты. Обращение к сегменту В от сегмента А осуществляется
спомощью указателей, хранимых в промежуточных сегментах.
Вбазах данных, основанных на методе доступа Н15АМ, число операций ввода-вывода, необходимых для обращения к сегменту В от сег
мента А, можно вычислить путем суммирования операций ввода-вывода, требуемых для установления связи со всеми промежуточными сегмента ми между А и В. Прямого пути от А к В нет, сегменты упорядочены иерархически. Для прямых методов доступа (НШАМ, НОАМ) могут использоваться указатели: физически порожденный, физически исходный, физически подобный, логически порожденный, логически подобный и логически исходный. Поскольку большая часть сегментов, имеющих ло гические взаимосвязи, которые могут использовать указатель на логически порожденный, логически подобный и логически исходный, размещается в различных физических записях, при введении логической взаимосвязи вероятность операции ввода-вывода можно считать равной единице. Исключение допускается для всех известных физических взаимосвязей между сегментами, связанными логически..
Вероятность того, что исходный сегмент и первый экземпляр сег мента, порожденного исходным, находятся в разных блоках (называемых управляющими интервалами для метода доступа виртуальной памяти — УЗАМ), обозначается как РСЮ (операция ввода-вывода физически порожденного). Предполагается, что обращение к экземплярам порож денного сегмента осуществляется с равной вероятностью. Вероятность того, что сегмент и его подобный находятся в разных блоках, обозна чается как РТЮ (операция ввода-вывода физически подобного), а вероят
ность того, что сегмент и исходный находятся в разных |
блоках — |
РРЮ (ввод-вывод физически исходного). |
(рис. 9.12) |
Для отдельной взаимосвязи «исходный — порожденный» |
Рис. 9.12. Пути доступа к сегментам:
• |
от А к первому В с помощью указателя РСР; |
|
|
|||
• |
от В к следующему В с помощью указателя РТР; |
|
|
|||
• |
от В к А с помощью указателя РР. |
|
|
|||
Сегментное расстояние от А до первого В (т. е. от конца А до |
конца |
В): |
||||
|
РСд, в = длина Вн-все поддеревья слева от В; |
|
|
|||
РСЮд |
в |
=ш т.(1, ------------------------ -.Сд' в_________________ ); |
|
|||
РСЮд, в |
=1, |
[((1—Р5М0 ХВЬК) — XV] X (1 — Р5В) |
’ ’ |
|
||
если А и В находятся в разных группах наборов данных. |
||||||
Здесь |
Р5Ш |
доля свободной памяти в блоке; |
|
|
||
|
|
ВЬК — размер блока (управляющий интервал для метода доступа |
||||
|
|
|
|
У5АМ); |
|
|
|
|
Р5В — доля блоков, оставленных пустыми при загрузке, от общего |
||||
|
|
|
|
числа блоков |
|
|
пути доступа |
между сегментом типа А и сегментом типа В |
таковы: |
от А к его первому порожденному В, от В к подобному, и от В к исходному А. Вероятность того, что сегменты А и В находятся в двух различных блоках, зависит от расстояния между ними, называемым СЕГМЕНТНЫМ
РАССТОЯНИЕМ. РСЮ зависит от значения РС (указатель «физически порожденный») в байтах (СЕГМЕНТНОЕ РАССТОЯНИЕ) и эффектив ного размера блока.
Дл^( метода доступа НОАМ с переполнением и метода доступа НЮАМ
Р С Ю а,в = пип ( 1, [(( 1 _ Р8 Ш)хВ Ь К )—ш = ( 1 —Р5В) ) '
Для метода доступа Н15АМ |
|
Число операций ввода-вывода а, в = |
У = В |
( 2 вероятность операции ввода-выводах, у>Х |
|
|
Х = А |
|
X 100 |
для каждого промежуточного сегмента иерархии, находящегося между А и В, когда вероятность операции ввода-вывода х у вычисляется с точ ностью до двух десятичных цифр.
На рис. 9.Г2 сегментное расстояние между А и его соседним физически подобным является размером поддерева сегмента А. Расстояние до фи
зически подобного (РТ) |
для сегмента А — размер поддерева А: |
||||
|
|
|
|
8 |
|
|
РТЮ для ™па сегмента А= тш |
( |
эффективный размер блока ) |
||
|
РТ10а= гп1п (1, |
поддерево сегмента А |
\ |
||
|
[((1-Р5Ш ) ХВЬК) — Ш) Х (1—Р5В) * |
||||
где Р 5 ^ — доля свободной памяти- в блоке; |
|
||||
ДУ— неиспользуемый конец блока; |
интервал для |
метода доступа |
|||
ВЬК |
— размер блока |
(управляющий |
|||
Р5В |
УЗАМ); |
|
|
|
|
— доля блоков, оставленных свободными при загрузке, от общего |
|||||
|
числа блоков. |
|
|
|
|
Для метода доступа НОАМ с переполнением и метода доступа |
|||||
НЮАМ |
|
|
|
|
|
|
РТЮд = т т ^ 1, [((1_ Р8Ш) хВЬК) _ щ Х (1 -Р 5 В )) |
||||
Для метода доступа НЮАМ |
|
|
|
||
Чис^о операций ввода-вывода*^ = ( |
хВЬК— ^х Ю0» |
|
|||
если выражение |
|
|
|
|
|
|
;_________ |
5а |
_____________ |
|
|
|
[((1 —Р5Ш) хВ Ь К )-№ ] X (1-Р 5В ) |
|
|||
вычисляется с точностью до двух десятичных цифр. |
операций ввода- |
||||
В случае использования РТЮ Апри оценке числа |
вывода, необходимых для достижения искомого сегмента и цепочки подоб ных сегментов, делаются следующие допущения:
1) обращение к подобным сегментам происходит с равной вероятностью;
2)позиция искомого сегмента в цепочке подобных неизвестна;
3)ожидаемое число сегментов, с которыми придется установить связь до того, как будет достигнут искомый сегмент цепочки подобных, равно
половине среднего числа экземпляров сегментов в цепочке подобных. В примере, приведенном на рис. 9.13, сегментное расстояние между
*1
Ж Г в,
в2
|
|
м г |
Все |
Все поддеревья |
|
п |
|
|
поддеревья |
||
слева от В |
|
|
справа отВ |
|
|
|
|
|
у ^ |
Порожденные |
|
|
Порожденные |
зкземТ}/1ЯРа |
|
|
экземпляраВ1 |
|
|
Рис. 9.13. РРВ а = Ь в + |
+ все поддеревья слева от В, |
||
( ~2 |
Х8В) |
|
|
где Ьв — длина сегмента В; [3 — средняя частота появления экземпляров сегмента В, порожденного исход
ным А;
—средний размер поддерева В
Ви его исходным А зависит от длины В, всех поддеревьев экземпляров, предшествующих В (в соответствии с иерархией) и всех поддеревьев слева от В (также в соответствии с иерархией). Расстояние РР (физически исходный) должно вычисляться для сегмента Вь т. е. как расстояние
между В 1 и А:
РРв1, А = Ьв.(т. е. собственная длина В! в байтах) -(-(поддерево экземпляра В,)
+ (поддерево экземпляра В2) + ...
+(поддерево экземпляра В{_|)
+все поддеревья слева от В.
Для простоты предположим, что В*— это средний среди экземпляров сегмента В. Для любого экземпляра В
РРв. А= Ьв+ ^ ~-Х$в^ +все поддеревья слева от В;
РРв. А |
|
РРЮв, А = т т ^ 1 , |
) |
[((1-Р 5Ш )хВ 1Ж )—№] Х (1 -Р 5В ) |
РСЮ, РТЮ и РРЮ верны для метода НОАМ в том случае, если оба сегмента, т. е. «от и до», находятся в области переполнения. Факторы, влияющие на выполнение операций ввода-вывода при использовании ме тода доступа НОАМ: часть записи в байтах, размещаемая в корневой адресуемой области, размер записи базы данных, размер блока (управ ляющего интервала для метода доступа УЗАМ), число корневых анкерных точек в блоке и число корневых сегментов, которые можно поместить в блок (отношение числа корневых сегментов к числу блоков в корневой адресуемой области). Из-за особенностей метода доступа НЭАМ необхо дим подсчет среднего числа операций ввода-вывода, выполняемых при поиске корневого сегмента, среднего числа синонимов, которые требуется просчитать при поиске корневого сегмента, и вероятности попадания заданного экземпляра сегмента в область переполнения. -
Оператор САЫ. языка ЭЬ/1 может служить для обращения к несколь ким сегментам. На рис. 9.14 оператор САЬЬ языка БЬ/1 выполняет пойск
X |
“ |
I |
1_х - длина X |
-■средняя частота X
I.у = длина У
{ - средняя частота у у относительно одного
экземпляра х
“ 1
- длина I
-р2 - средняя частота г
I |
относительно одного |
|
экземпляра У |
||
|
Рис. 9.14. Оператор СА1Х языка ОЬ/1 должен обеспечить поиск определенного 2 для оп ределенного У после установки на конкретном X
конкретного 2 для конкретного V после установки на конкретном X:
Число операций ввода-вывода* = [РСЮх, у+ (РТЮуХ ( — 1 ))] X 10 0 4 - [РСЮу, г +
+ (РТЮ2Х ( у —1))]Х100,
если РСЮ и РТЮ вычислены с точностью до двух десятичных цифр. На рис. 9.15 приведен пример вычисления РСЮ и РТЮ.
|
/-в=го |
|
|
|
|
|
|
|
|
|
|
|
|
|
?в=5 |
|
|
|
|
|
|
?с*50 |
|
|
|
||
Рис. 9.15, |
ВЬК |
(размер |
блока) =1024 |
байт; |
Р5В = 1.0% ; • Р$Ш = 10%; |
||||||||
\У= 99 байт. |
|
|
блока = 740 |
байт; |
|
|
; |
/■ ■ ; ч- |
|
байт; |
5а = |
||
Эффективный размер |
5в = 30' байт;' 5с = 15 |
||||||||||||
= 1000 байт, |
РСЮд |
в= |
ЪГ) |
=0,040, |
. |
|
' : |
■■, |
: . |
. ! |
’ |
' 1 |
|
^ г |
|
; . |
|||||||||||
т. е.. при обращении от А к В в. среднем .в четьфех случаях из |
100 |
пбтре- |
|||||||||||
буется выполнение операции ввода-вывода. |
|
|
|
|
|
|
|
||||||
|
|
|
РСЮа, с = |
15+ 5Х30 |
|
= 0,223. |
|
|
|
|
|||
|
|
|
|
|
740 |
|
|
|
|
|
|
|
|
Другими словами, |
при обращении от |
А |
к |
С |
в среднем |
в |
22 |
случаях |
|||||
из 100 потребуется выполнение операции ввода-вывода. |
|
|
|
|
|||||||||
|
|
|
РТ10а = ш1п(1’ |
1000740 |
) = !; |
|
|
|
|
||||
|
|
|
РТ10в = т1п(1, |
30 |
) =0,040; |
|
|
|
|
||||
|
|
|
|
|
740 |
|
|
|
|
|
|
|
|
|
|
|
РТ10с = т т |
(1, |
|
|
=0,020. |
|
|
|
|
9.3.3. Прикладные программы
При оценке временных требований к прикладным программам базы данных проектировщик должен изучить основные программы, выполняе мые в пакетном режиме, особо сложные транзакции и транзакции с заданными критическими значениями времени ответа. Цель анализа — оценка среднего времени работы процессора и времени выполнения операций ввода-вывода, необходимого для обработки транзакций или для выполнения специфического оператора САЬЦ поступившего из выполняе мой в пакетном режиме программы. На стадии проектирования анализ проводится в основном для выявления транзакций, выполнение которых требует больше всего времени центрального процессора и наиболее интен сивного ввода-вывода, а также для сравнения альтернатив проекта при определении вариантов с наилучшимй эксплуатационными характеристи ками. В нашем методе «карандаша и бумаги» Оценка времени работы центрального процессора и времени выполнения операций ввода-вывода производится для Отвлеченной, независимой среды.
Анализ рекомендуется проводить для одного оператора СДЬЬ в каж дый момент времени; например, для языка ОЬ/1 два оператора САЪЬ — 01) (Ое{ Итцие) — дать уникальный и (Ж (Ое1 N0x1) —- дать следую щий. Оператор САЬЬ должен распространиться до уровня сегмента или записи. В случае языка ОЬ/1 при вычислении оценок учитываются сегменты, логические записи и операции ввода-вывода.
Используя в качестве входных данных внешние модели^ внутреннюю модель, образцы обращений для транзакций, вероятности операций ввода-вывода, процессорное время для возможных обращений к базе дан
ных (которое должно предоставляться поставщиком используемой СУБД), а также время выполнения операций ввода-вывода для устройств, можно оценить необходимое для обработки конкретных транзакций время работы центрального процессора и время выполнения операций ввода-вывода.
Для проведения оценки, соответствующей описанной в данном параграфе, необходимо знать СУБД до уровня указателей и иметь некото рое представление о внутренней структуре базы данных. Разработать обобщенную модель оценки^эксплуатационных характеристик базы данных на уровне внутренней модели едва ли возможно. Поэтому в качестве примера и была выбрана типичная система управления базами дан ных — 1М5.
Л И Т Е Р А Т У Р А
1. Эе с Ьо \ у Ез1Ьег Ь. апЛ Ь и п Л Ь е г д Иоп 5. ТЬе 1МЗ Оа1а Вазе/АррИсаПоп Оез^п Кеу1е\у. ТесЬшса1 ВиПеНп, Ос1оЬег 1977, Огс1ег N0 0320—6009, 1ВМ Ра1о АНо 5уз1ешз Сегйег, СаЫогша.
2.О е а г Ь а г ! Е. М. ТЬе 1М5 Оа1а Вазе/АррНсаНоп Иез^п Кеу1е\у—Егга1а. ТесЬшса1 ВиПеПп, Лапиагу 1978, ОгЛег N0 0320—6012, 1ВМ Ра1о АИо 5уз1етз Сеп1ег, СаШогта.
3.С а г Л е п а з АИопзо Р. Апа1уз1з апЛ РеНогтапсе о! 1пуег1еЛ Иа1а Вазе 51гис1игез.
|
(1ВМ РезеагсЬ ЬаЬога1огу, Зап Лозе, |
СаШ огта), СоттитсаН опз о! |
1Ье АСМ, уо1. |
||||||||
4. |
18, N0 5 (Мау 1975). |
|
АрргоасЬ 1о Иа1а Вазе Мапа^ешепТ \УПеу-1п1ег- |
||||||||
0 11 е ЛУПНат |
Т. ТЬе СОЭАЗУЬ |
||||||||||
|
заепсе РиЬНсаИоп, ЛоЬп ШПеу & Зопз, |
1978. |
|
|
|
|
|||||
|
Русский перевод: О л л е Т. В. Предложения КОДАСИЛ по управлению базами данных. |
||||||||||
5. |
М., Финансы и статистика, 1981. |
|
|
уо1. 3; |
ЗогПп^ |
апЛ |
ЗеагсЫп^, |
||||
Кп и 1 Ь |
Оопа1Л Е. ТЬе Аг1 о! СотрШег Р го ^ г а т т т ^ , |
||||||||||
|
АЛЛ1зоп-'\Уез1еу РиЪЬзЫпд Сотрапу, |
1973. Русский перевод: |
К н у т |
Д. |
Искусство |
||||||
6. |
программирования для ЭВМ. Т. 3. Сортировка и поиск. М.г Мир, 1978. |
1977. Русский |
|||||||||
Ма г Ип^Ла шез . СотрШег |
|
Вазе Ог^ашгаНоп. |
РгепПсе-НаП, |
||||||||
|
перевод: М а р т и н |
Дж. Организация |
баз данных в |
вычислительных |
системах, М., |
||||||
7. |
Мир, 1980. |
Ою. Оа1аЬазе Оез1§п. МсОга>у-НП1 Воок Сотрапу, 1977. |
|
||||||||
\У 1 е Л е г Ь'о 1Л |
КезеагсЬ |
||||||||||
8. |
С Ь о з Ь |
ЗакП |
Р. |
Рот1егз |
т 5тгр1е |
Н1егагсЫса1 51гис1игеЛ |
Оа1а. |
1ВМ |
|||
9. |
Рарег ЦЛ |
1775. |
|
|
Эа1а |
Вазе |
Иез^п 1ог РеЛогтапсе. ЗНАКЕ ХЬУ, уо1. 11. |
||||
В г о \ у п |
К. О. Апа1уз15 о! |
10.ББРНОТОТУРЕ/П, ОгЛег N0 0320— 1535, 5Н20—1391, 1ВМ Оа1а Ргосеззш^ 01у1зюп, Ые\у Уогк 10604.
11. АОАВАЗ Эез^п ОшЛе, ЗоЦ\уаге АО о! Гч1ог1Ь А тепса, 1пс., КезШп 1п1егпа1юпа1 Сеп1ег, УЦ^ппа 22091.
12.Оа1а Вазе Мапа^етеп! Зуз1ет, АЛгшшз1га{ог'з РгосеЛигез Мапиак ОгЛег N0 . АА-4146В-ТМ, ОЕЬЗУЗТЕМ, 0|^Иа1 Ечшртеп! СогрогаПоп, МаззасЬизеЛз 01752.
13.Оа1а Вазе Мапа^етеп! Зуз1ет, Р го^гаттег'з РгосеЛигез Мапиак ОгЛег N0 АА-4149В- ТМ, ОЕСЗУЗТЕМ, 01^На1 Ечшртеп! СогрогаПоп, МаззасЬизеДз 01752.
Г л а в а 10
ОБЕСПЕЧЕНИЕ ТРЕБУЕМЫХ ЭКСПЛУАТАЦИОННЫХ ХАРАКТЕРИСТИК
После оценки параметров физической базы данных можно присту пать к ее реализации. СУБД необходимо представить информацию, касающуюся структуры физической базы данных, выбранных методов доступа и их параметров, а также ограничений на поиск, обновление, добавление и удаление. Может потребоваться проведение конвертирова ния файлов и их интеграция в физическую базу данных. На этапе реализа ции следует рассмотреть ряд связанных с эксплуатационными харак теристиками аспектов.
Реализованная база данных требует повседневной кропотливой работы. Из-за возможности возникновения отказов в программном обеспе чении и оборудовании приходится вводить процедуры восстановления и копирования дублей баз данных. Несмотря на наличие в некоторых СУБД средств динамической реорганизации, даже при самом удачном проектировании базы данных не удается сохранить постоянство эксплуата ционных характеристик при большой изменчивости данных. Большинство поставляемых СУБД включает подпрограммы реорганизации базы дан ных, применение которых должно учитываться при проектировании. При этом обязательно и использование вспомогательных средств, обеспе чивающих накопление данных, необходимых для регулирования эксплуа тационных характеристик. Важно также предусмотреть определенные меры защиты и секретности. Последние могут меняться в зависимости от конкретных условий и снижать до некоторой степени производи тельность.
10.1. РЕАЛИЗАЦИЯ
10.1.1. Создание физической базы данных
Как правило, нет смысла хранить данные всего предприятия в одной гигантской базе данных. Рациональнее описать концептуально различные единицы этого предприятия в раздельных базах данных. В определенный момент времени может потребоваться установить «связи» между этими раздельными физическими базами данных. Фактическое размещение дан ных во вспомогательной памяти в соответствии с физическим проекти рованием в терминологии 1М5 называется физической базой данных. Как отмечалось в гл. 8, система АОАВА5 позволяет поддерживать несколько файлов, которые можно соединить посредством «связывания». Данные предприятия целесообразно хранить в нескольких отдельно спроектированных физических базах данных. Их наличие не должно иметь принципиального значения для прикладного программиста СУБД — это «черный ящик», позволяющий иметь прикладному программисту свое логическое представление или внешнюю модель.
Необходимо со всей серьезностью отнестись к двум основным проблемам — выбору физической реализации и определению физического размещения баз данных. Как правило, «плохая» производительность базы данных определяется ее «плохим» размещением*