Научная статья на тему 'Оценка ресурсов памяти, необходимых для реализации категорированных отношений в реляционных базах данных'

Оценка ресурсов памяти, необходимых для реализации категорированных отношений в реляционных базах данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
169
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗЫ ДАННЫХ / ОТНОШЕНИЯ КАТЕГОРИЗАЦИИ / ОБЪЕМ ПАМЯТИ / DATABASES / SUPERTYPE-SUBTYPE RELATIONS / MEMORY SIZE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бистерфельд Ольга Александровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бистерфельд Ольга Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Projection of the memory size necessary for implementation of supertype-subtype relations

In real databases the considerable part of the data is connected by supertype-subtype relations. To reduce the memory resources the technique considered in the paper can be used by designing of structures of databases There is proposed a method of modeling of structures of the databases with supertype-type relations. In model are taken into account the memory size for data storage of different subtypes and a ratio of the sizes of attributes of different subtypes. For evaluation of required memory size the analytical expressions are obtained. The diagrams of dependences of memory size on model parameters of a database and on a variant of implementation of supertype-subtype relations are given. The simulation modeling program is applied to specification of parameters in analytical expressions. By making use of this program the coefficients of data compression in a DBMS and expenses of storage are found. Obtained estimations can be applied to choosing a variant of implementation of supertypesubtype relations in databases.

Текст научной работы на тему «Оценка ресурсов памяти, необходимых для реализации категорированных отношений в реляционных базах данных»

2011

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА Управление, вычислительная техника и информатика

№ 4(17)

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

УДК 004.652

О.А. Бистерфельд

ОЦЕНКА РЕСУРСОВ ПАМЯТИ, НЕОБХОДИМЫХ ДЛЯ РЕАЛИЗАЦИИ КАТЕГОРИРОВАННЫХ ОТНОШЕНИЙ В РЕЛЯЦИОННЫХ БАЗАХ ДАННЫХ

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

Ключевые слова: базы данных, отношения категоризации, объем памяти.

1. Способы представления категорированных отношений

В базах данных (БД) информационных систем значительная часть данных связана отношениями категоризации.

Наиболее развиты способы реализации категорированных отношений в СУБД Oracle. Варианты СУБД Oracle охватывают практически все возможные варианты других СУБД, поэтому они приняты за основу при разработке аналитического метода оценки объемов памяти, необходимых для реализации категорированных отношений в реляционных БД. В многотомном описании методологии проектирования Огас1е [1, с. 71-76.] приведены только словесные описания вариантов реализации с кратким перечнем достоинств и недостатков каждого.

На рис. 1 показана модель отношения категоризации по нотации Баркера («супертип» - «тип»).

Общая сущность «супертип» Сущности категории «тип»

Атрибуты общей сущности Атрибуты сущностей категорий

Рис. 1. Базовая ЕЯ-диаграмма

Категорированные данные могут быть представлены (рис. 2):

- в одной таблице (вариант а);

- в нескольких (по количеству категорий) таблицах (вариант б);

- в нескольких (по количеству категорий + одна) таблицах (варианты в, г).

А(#) В(#) С(#)

#*А1 #*А1 #*А1

*А ТУРЕ *В1 *С1

оА2 оА2 • • • оС2

оВ1 оВ2 оА2

оВ2

оС1

оС2

вариант а вариант б

А(#) В(#) С(#)

#*А1 #*А1 #*А1

оА2 *В1 *С1

оА2 оС2

оВ2 оА2

вариант в

Рис. 2. Варианты реализации категорированных отношений

2. Аналитический метод оценки различий в требуемых ресурсах памяти БД вариантов представления категорированных отношений

Введем обозначения: N - число записей в БД; Жтах - максимально возможное число записей в БД; Куи - размер уникального идентификатора; Аоа - размер общих атрибутов; Кк - число категорий; А, - размер частных атрибутов (для категории /); N - число записей категории /; Nimax - максимально возможное число запи-

сей категории /'; Куи ,■ - размер уникального идентификатора для категории Должны выполняться следующие неравенства:

Ку.и > 1о§2 Nmax ; Ку.и I > 1о§2 Nimax , ()

однако на практике для уникальных идентификаторов записей используют десятичные числа, поэтому имеем

Ку.и > !§ Nmax ; Ку.и I > ^ Nimax . (2)

Кроме того,

= N . (3)

I=1

Пределы суммирования во всех формулах данной статьи одинаковы, поэтому

кк

ниже они не указываются (вместо ^ используется Е).

г=1

В некоторых упрощениях (при несущественном влиянии на результат) принимается также, что Ку.и = Куи.

Объем памяти по варианту а - Оа (без учета несущественного по объему атрибута ТУРЕ):

Оа = ЩКум + Ао.а + Е А). (4)

Объем по варианту б - (Об):

Об = Е М(Ку.и + Ао.а + А,). (5)

Объем по варианту в - (Ов):

Ов = МКу.и + Ао.а)+ Е Ni(Kу.и + Ао.а + А,). (6)

Объем по варианту г - (Ог):

Ог = N(Kу.и + Ао.а + Е Ку.ю)+ Е М(Ку.ю + А). (7)

Для анализа эффективности различных вариантов представления категориро-ванных отношений в реляционных БД представляют интерес:

- относительные оценки: (Оа - Об)/ Оа; (Оа - Ов)/ Оа ; (Оа - Ог)/ Оа;

- абсолютные оценки: Оа; Оа - Об; Оа - Ов; Оа - Ог.

С учетом формул (1) - (7):

(Оа - Об)/Оа={МКу.и+Ао.а+ ЕА) - ЕЩКуж+АОЛ+А)}/ЩКуя+АОЛ+ ЕА); (8)

(Оа - Ов)/Оа={МКу.и+Ао.а+ Е А) - [N(Kу.и +Ао.а)+ Е М(Ку.и + Ао.а+ А,)]}/

/N(Kу.и + Ао.а+ Е А); (9)

(Оа - Ог)/Оа=ЩКу.и+Ао.а+ Е А) - [^Ку.и + Ао.а+ Е Ку.и,) + Е М(Ку.и + А,)]}/

/МКу.и + Ао.а + Е А,). (10)

После преобразований, с учетом формул (2), (3) и некоторых приближений:

(Оа - Об)/Оа=Ао.а[ЕА/Ао.а - Е (^Л/)(А/Ао.а)]/Ао.а(1 + ЕА/Ао.а)+№ах]; (11)

Оа - Об=Жо.а[ЕА,/Ао.а - ЕЩМАМод]; (12)

Оа - Ов)/Оа= {А0.аРА/А0.а - 1 - Х(Л/Л)(А/Ас,)] - 1Е^тах>/

/[Ао.а(1+ ХА /Ао.а)+1Е^тах]; (13)

Оа - Ов = Л{Ааа[ХА/Ао.а - 1 - Х(Л/Л)(А/Ао.а)] - І^тах}; (14)

(Оа -Ог)/Оа= {Ао.а[ХА/Аол-Х(Л/ Л)(А,/Ао.а)]-Е 1^™»- ^ Лтах }/

/[Ао.а(1+Е А,/Ао.а) + ІЛах]; (15)

(Оа - Ог) = Л{Ааа[Х А ,/Ао.а - Х (Л/ Л)(А /Ао.а)] - І ^ Лтах - ^ Лтах}; (16)

Оа = Л[ Ао.а(1 + Х А ,/Ао.а) + ^ Лтах]; (17)

Об = Л[Ао.а{1 + Х (Л/ Л)(А ,/А0.а)} + 1Е Лтах]; (18)

Ов = Л[Ао.а {2 + І (Л/ Л)(А,/Ао.а)} + 21ёЛтах ]; (19)

Ог = Л[Ао.а {1 + Х (Л/ Л)(А,/Ао.а)}+ Х ^ Л,тах + 2^ах ]. (20)

Выражения (11) - (16) могут быть использованы для проведения исследований и анализа эффективности различных вариантов представления категорированных отношений в реляционных БД [2, с. 86-87].

3. Модель базы категорированных данных

Следует обратить внимание на набор компонентов выражений (11) - (20):

{Л; Лтах; Лтах; Аоя, X А,/Аол, X (Л/ Л)(А,/Ао.а) }.

Эти компоненты достаточно адекватно представляют реальную БД и особенности структуры данных.

Введем обозначения: а{ = А ,/Ао.а; п, = Л,/Л и преобразуем формулы (11) - ( 20):

(Оа - Об)/ Оа = Ао.а(Ха, - Хп , а,)/[ Ао.а(1 + Ха, ) + ^Лтах]; (21)

Оа - Об = ЛАо.а(Ха , - Х п, а,); (22)

(Оа - Ов)/Оа=[Ао.а(Х а, - 1 - Х П, а,) - ^ Лтах]/[Ао.а(1+ Х а,)+^ Лтах]; (23)

Оа - Ов = Л[Ао.а (Ха і - 1 - Х п, а,) - ^ Лтах]; (24)

(Оа - Ог)/Оа=[Ао.а(Х а, - Х Па,) - Х 1gЛтх - ^тах]/[Ао.а(1 + Х а,+^тах)]; (25)

(Оа - Ог)=Л[Ао.а(Ха,- - Хп, а,) - Х^ Лтах - 1g Лтах]; (26)

Оа= Л[Ао.а(1 + Х а,) + 1g Лтах]; (27)

Об = Л[Ао.а(1 + Х пі а,) + ^ Лтах]; (28)

О в = Л[Ао.а (2 + Х п і а,) + 2^ Лтах ]; (29)

Ог = Л[Ао.а (1 + Х п, а, )+ Х ^ Лтах + 21gЛтах]. (30)

Формулы (21) - (30) положены в основу аналитического метода оценки требуемых объемов памяти по вариантам представления категорированных отношений.

Целесообразно использовать набор { Л; Лтах; |Лтах|; Ао.а; \а, |; |п,| } как модель базы категорированных данных для исследований зависимостей объемов памяти, необходимых для реализации категорированных отношений.

Замечание. Если Ха, имеет простой «физический» смысл (эта сумма показывает соотношение между суммарными размерами общих и частных атрибутов), то с компонентом Хп а, несколько сложнее. Диапазон значений Хп,а,: - 0 < X па, < Ха , . Если значения Хп а, в левой части диапазона (от 0,5 Ха, к 0), то в БД незначительна доля записей, относящихся к категориям, имеющим существенные размеры част-

ных атрибутов, и, наоборот, существенна доля записей, относящихся к категориям, имеющим незначительные размеры частных атрибутов. Если значения Е П1 а, в правой части диапазона (от 0,5 Еа, к Еа,), то в БД значительна доля записей, относящихся к категориям, имеющим существенные размеры частных атрибутов, и, наоборот, несущественна доля записей, относящихся к категориям, имеющим незначительные размеры частных атрибутов.

4. Зависимости затрат памяти от параметров модели базы категорированных данных

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Некоторые зависимости затрат памяти, полученные по выражениям (21)-(30), приведены на диаграммах (рис. 3, 4).

Зависимость затрат памяти от структуры категорированных записей (Ъа,п,) (М = 500 000; Ъа, = 10; ^ Мтах = 6; Лоа = 512 симв.)

80 ■

70 ^ 60 5 50 О 40

-? 30--

20

10

0

2

4

1

1 і

6

□ (Оа

□ (Оа

□ (Оа

8 Ъа,п,

°бУ°а

Ое)/Оа

Ог)/Оа

Рис. 3. Уменьшение (экономия) ресурсов памяти при переходе от варианта представления категорированных данных а к вариантам б, в, г в зависимости от структуры категорированных данных (Еа,и,) в БД

Зависимость затрат памяти от соотношения общих и частных атрибутов (Еа,) (Еи,а,- = 0,5Ъа,; N = 500 000; ^ Мтах = 6; Лоа = 512 симв.)

0 (Оа - Об)/Оа

□ (Оа - Ов)/Оа

□ (Оа - Ог)/Оа

Рис. 4. Уменьшение (экономия) ресурсов памяти при переходе от варианта представления категорированных данных а к вариантам б, в и г в зависимости от соотношения общих и частных атрибутов (Еа,)

Полученные с помощью аналитических выражений данные показывают потенциальные возможности минимизации затрат ресурсов памяти с помощью выбора вариантов представления категорированных данных. В предельных случаях ресурсы памяти, необходимые для реализации категорированных данных, могут быть сокращены на 60 - 70 %.

5. Имитационная программа для уточнения аналитических выражений метода оценки требуемых ресурсов памяти

В аналитических выражениях метода оценки объемов памяти (разделы 2, 3) единицей измерения объема памяти является символ данных, заносимых в базу данных - Sa. Такой выбор удобен для определения параметров модели категорированных данных по анализу информационных моделей. В то же время при оценке затрат ресурсов памяти общепринятыми являются единицы измерения: бит, кбит, Мбит и Гбит.

Помимо этого, в ЭВМ и в СУБД используются методы сжатия данных. При записи таких типов данных, как числовые, несмотря на то, что отдельным атрибутам (в СУБД) резервируется определенные максимально возможные значения, нулевые значения слева от значащих символов числа не записываются и не сохраняются в памяти ЭВМ. Как правило, не заносятся (и не требуют ресурсов памяти) пустые значения атрибутов.

Современные СУБД обладают развитыми средствами повышения производительности баз данных. Ряд методов повышения производительности достигают за счет избыточного хранения данных (например, методы индексации записей в таблицах БД).

Для практического применения аналитических выражений (21) - (30) необходимо определить коэффициент перевода единиц измерения, учета сжатия и избыточности данных - кес размерностью бит/символ данных. При этом оценки (в единицах измерения - бит) необходимых затрат ресурсов памяти для реализации различных вариантов представления категорированных отношений:

Оабит = кеса Оа; Оббит = кесб Об, Овбит = кесв Ов; Огбит = hj Ог.

Для перевода единиц измерения необходимо учитывать особенности кодирования символов данных — Sa. Каждый символ данных представляется обычно десятичным или шестнадцатеричным кодом, содержащим несколько символов (символов кода - Sx). Наиболее употребительным является стандарт ASCII (American Standard Code for Information Interchange, стандарт ANSI - американского национального института стандартов). Часто используемая для передачи данных американская версия семибитовой кодировки символов кода (Sx) утверждена ISO. Восьмой бит символа кода ASCII обычно является битом контроля четности (паритета). Таким образом, одним из компонентов кес является коэффициент (nSit) двоичного представления символа кода Sx. Для ASCII nSit = 8 (бит/символ); nSic = 1 (байт/символ); nSic = 1/1024 (кбайт/символ) и т.д.

На ПК используется так называемый расширенный код ASCII, в котором первые 128 комбинаций совпадают со стандартным, а остальные используются для представления национальных алфавитов, псевдографики и специальных знаков. Кодировка символов данных отличается количеством знаков кода (Лк). Например, цифры и большая часть латинских символов кодируются двумя десятичными знаками (NS = 2), а символы кириллицы — тремя (N^ = 3). Необходимый для

представления данных объем памяти зависит от набора символов, необходимого для определенного типа данных, заносимых в базу данных. В первом приближении может быть принято, что набор символов данных носит случайный характер, и этот набор может быть представлен математическим ожиданием значения числа символов кода - . По стандарту Л8СП для большинства наборов символов

значение будет находиться в диапазоне от 2 до 3.

Таким же образом может быть признана случайной величина коэффициента учета сжатия (ксж) данных при записи в ЭВМ (при записи данных сжатие проводится только по отдельным атрибутам, и степень сжатия различна). Фактор сжатия данных должен приводить к уменьшению кес. При сжатии данных, например в 1,5 - 2 раза, общая оценка кес должна находиться в диапазоне от 1 до 2 (при измерении в единицах байт/символ).

Избыточность данных, прежде всего при использовании индексирования записей, также может быть учтена коэффициентом (ки.д). При индексировании записей СУБД может создавать дополнительные колонки, с помощью которых упорядочиваются записи. В связи с этим введение ки.д адекватно отражает изменения в требуемых ресурсах памяти.

С учетом представления коэффициента сжатия средним значением общий вид

к ■

Лес*

кес ксж ки.д Ы£к.

Значения %к и ки.д могут быть определены при достаточно тщательном анализе конкретных вариантов реализаций фрагментов БД с категорированными данными. Аналитически определить ксж и Ык гораздо сложнее. Предлагается использовать для оценки кес имитационную программу без детального анализа составляющих кес. Программа представляет собой тестовую базу данных со структурой, соответствующей исследуемой структуре категорированных данных (соотношение общих и частных атрибутов, в соответствии с моделью категорированных данных, раздел 3) и вариантам представления категорированных отношений.

Шаги процедуры определения значения кес:

- внесение набора числа тестовых записей (ряд значений Ы) и фиксация затрат (в битах) ресурсов памяти - Оаимит (Ы); Об” (Ы); Оеимит (Ы); ОгИМИТ(Ы);

- расчет затрат ресурсов по выражениям (27) - (30) в символах (£д) для каждого значения из ряда N - 0а(Ы); 0б(Ы); 0в(Ы); 0г(Ы);

- расчет кес для каждого N ■

кеДМ) = 0“ (Ы)/ Оа(Ы); кесб(Ы) = ОбИМИТ (Ы) / 0б(Ы); кесв(Ы) = 0вимит (Ы) / Ов(Ы); кесг(Ы) = 0гимит (Ы) / Ог(Ы);

- определение среднего значения кеса; кесб; кесв; кесг;

- построение зависимостей 0абит 0ббит 0вбит 0гбит.

Использование оценки на основе среднего значения (кес), получаемого по данным имитационной программы, позволяет получить аналитические выражения, отличающиеся от данных имитационной программы на 3 - 5 %, что вполне допустимо для использования их для оценок затрат ресурсов при проектировании реальных базах данных.

Величина кес(Ы) при различных значениях Ы и вариантах структуры категорированных данных находилась в пределах от 0,8 до 3,2 (оценка диапазона при анализе факторов, влияющих на кес(Ы), - от 1 до 2). Расширение диапазона влево

можно объяснить тем, что при малом числе записей более существенно влияет фактор сжатия данных при записи в БД (например, для значений уникальных атрибутов достаточно одного-двух символов вместо lg Nmax). Расширение диапазона вправо до значения k^N) = 3,2 также объяснимо. Часть тестовых данных использовалась на текстовых фрагментах, содержащих только символы кириллицы, которые представляются тремя символами кода по ASCII. Кроме того, дополнительные затраты ресурсов памяти связаны с индексацией первичных ключей.

Заключение

Оценить различия в объеме памяти БД вариантов представления категориро-ванных отношений возможно аналитическими расчетами. Аналитические выражения определяют зависимости требуемых объемов памяти от параметров структуры категорированных данных для наиболее распространенных на практике вариантов представления категорированных отношений.

В аналитической модели должны быть учтены особенности структуры катего-рированных данных. Модель особенностей категорированных данных используется в аналитических выражениях метода оценки различий в объеме памяти БД вариантов представления категорированных отношений. Представление моделью реальных баз категорированных данных распространяет конкретные аналитические выражения метода на группу баз категорированных данных и сокращает затраты на моделирование.

Уточнить аналитические выражения метода оценки требуемых ресурсов памяти можно с помощью имитационной программы. Программа обеспечивает проверку достоверности аналитических выражений метода. Данные, получаемые имитационной программой, используются для определения коэффициента учета сжатия данных в СУБД, особенностей кодирования символов и дополнительных затрат ресурсов памяти при использовании в СУБД, например избыточных методов повышения производительности.

ЛИТЕРАТУРА

1. CDM - метод разработки информационных систем фирмы Oracle // Oracle Magazine: russian edition. 1997. № 2.

2. Бистерфельд О.А. Сидоров М.В., Таганов Р.А. Исследование зависимости затрат памяти на представление категорированных отношений в реляционных базах данных // Новые информационные технологии в научных исследованиях и в образовании: тез. докл. 4-й Всероссийской научно-технической конференции. Рязань, 1999.

Бистерфельд Ольга Александровна

Рязанский государственный университет имени С. А. Есенина

E-mail: o.bisterfeld@rsu.edu.ru Поступила в редакцию 18 июля 2011 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.