high_q_col_selectivity(que) - запрос que обладает высокой избирательностью по столбцу col.
Следующим шагом после определения базовых атомарных предикатных выражений является составление системы предложений, описывающих отношения между этими атомарными выражениями. Предложения приведены ниже в формате «семантика предложения - описание с помощью исчисления предикатов».
Для каждой таблицы, если она дезорганизована по какому-либо столбцу и все запросы по данному столбцу обладают низкой избирательностью, - не следует создавать «¿tree-индекс» по данному столбцу:
VtabVcol (table _ disorg (tab, col) л
A^que (query _ column (col, que) л
л low _ q _ col _ selectivity (que, col
^ —btree _ index (col)).
Для каждой таблицы, если она организована по каким-либо столбцам, использующихся в запросах с высокой или средней избирательностью по этим столбцам, - следует создавать «btree-индексы» по данным столбцам:
VtabVcol (table _ org (tab, col) л ÁBque (query _ column (col, que) л л—low _ q _ col _ selectivity (que, col)) ^ ^ btree _ index (col)).
Для каждой таблицы, если она дезорганизована по каким-либо двум столбцам и все запросы, использующие эти столбцы в предикатах, объединенных логической операцией «И»/«ИЛИ», обладают высокой избирательностью, - следует создавать «btree-индексы» по данным столбцам:
VtabVcollVcol2 (table _ disorg (tab, coll) л
Atable _ disorg (tab, col2) л
лVque ((query _ columns _ and (que, coll, col2) v
v query _ columns _ or (que, coll, col2)) л
Ahigh _ q _ selectivity (que)) ^
^ btree _ index (coll) л btree _ index (col2)).
Для каждой таблицы, если она дезорганизована по каким-либо столбцам и существуют запросы, использующие эти столбцы в предикатах, объединенных логической операцией «И»/«ИЛИ», которые не обладают низкой избирательностью, - следует создавать «bit-индексы» по данным столбцам:
VtabVcollVcol2 (table _ disorg (tab, coll) л лtable _ disorg (tab, col2) л K^que ((query _ columns _ and (que, coll, col2) v v query _ columns _ or (que, coll, col2)) л л— low _ q _ selectivity (que)) ^ ^ bit _ index (coll) л bit _ index (col2)).
При таком описании механизм логических выводов может находить решения на различные вопросы вида «Следует ли создавать «btree-индекс», если заданы следующие условия запроса и таблица дезорганизована?», «Какие индексы следует создать для таблицы, если используются запросы, имеющие объединения предикатов с помощью логических операций?» и т.п. Основное преимущество сформированных таким образом знаний в том, что они могут быть присоединены к центральной базе знаний экспертной системы и использованы при поиске оптимального комплексного решения целого ряда проблем, не связанных с индексированием напрямую.
25 декабря 2006 г.
Кубанский государственный технологический университет, г. Краснодар
УДК 681.3
ОПТИМИЗАЦИЯ РЕПЛИКАЦИОННЫХ СХЕМ В РАСПРЕДЕЛЕННЫХ БАЗАХ ДАННЫХ ПРИ ДИНАМИЧЕСКИ ПОДКЛЮЧАЮЩИХСЯ КЛИЕНТАХ С РАЗЛИЧНЫМИ ДЛИНАМИ ОЧЕРЕДЕЙ
© 2007 г. Г.В. Сучков, В.Н. Кухарев
Введение
Конструирование схемы распределенной базы данных требует учета перспектив развития информационной системы. При увеличении числа клиентов, подключенных к базе данных, нагрузка на нее возрас-
тает, в результате чего вероятность допустимых потерь может возрасти выше критических значений.
Современные работы [1-7] анализируют поэтапное моделирование процесса добавления новых узлов с локальными базами данных в систему. Однако более
актуальной представляется задача аналитического расчета перераспределения потоков заявок от пользователей к серверам.
Постановка задачи
Исходными данными являются параметры текущего клиент-серверного фрагмента, X - интенсивность поступления заявок от множества клиентов К, ц -интенсивность обслуживания заявок на сервере Р1, исходя из этих данных рассчитывается загрузка сервера и вероятность потерь заявок (которая нас не устраивает). Необходимо добавить в систему такой сервер репликаций, который бы свел вероятность потерь к допустимой величине в каждом из образованных фрагментов.
Р < р • р < р
п1 — тах1' п 2 _ тах2 •
При этом необходимо выразить параметры сервера репликаций через параметры исходного сервера.
(1 -р )р Nr +1 и P = t'r»'r-< p
nr N+2 — max r '
1 р r
Рассмотрим решение по репликационному серверу - приведем уравнение к нормальному виду, умножая на знаменатель, знак неравенства не изменится, поскольку
1 -р/+2 >0, так как рrN+2 = 0,1.
Таким образом, умножая на знаменатель, получаем р Nr +1(р -р P -1) + P > 0
г r VMr Mr max r ' max r _
Рассмотрим решение данного неравенства для систем с нулевыми очередями, раскрывая скобки и решая уравнение, получаем неравенство вида:
(
1 + |2Pmax - 1 У 1 - |2Pmax - 1 2 (1 - Pmax ) l|P 2 (1 - Pmax )
Л
> 0 .
Аналитический метод решения задачи
Трансформируем систему в две М/М/1/Ж При этом происходит дробление исходного множества клиентов (а соответственно и интенсивности генерации запросов от них). Исходная интенсивность поступления заявок от множества клиентов X преобразуется в две интенсивности Хг - к серверу репликаций и (X - Хг) - к прежнему серверу.
Вероятность потерь в первоначальной системе составляла Рпп. Добавляется сервер репликаций Рг с интенсивностью обслуживания заявок ц г и очередью N г (эти параметры необходимо найти как оптимальные). Текущий сервер остается в 1 фрагменте (соответственно его параметры по интенсивности обслуживания и размеру очереди не изменятся).
В новых фрагментах загрузки серверов и вероятности потерь составят соответственно:
А,
Отсюда находим варианты решения:
>1 + |2Ртах - 1 >0
1) р>—--1, р> 0;
^ 2 (1 - Ртах ) Н
2) р<1 ~12 Ртах -1 , р> 0.
2 (1 - Ртах )
Замечание: первый вариант ответа при стандартных допустимых вероятностях потерь при обработке запросов Ртах < 0,5 позволяет провести дальнейшую трансформацию:
2 Ртах - 1 < 0; 12 Ртах " 1 = 1" 2 Ртах;
P>
1+1-2P
А.
P1 =— и р r = —;
2 (1 - Pmax )
Аналогично получаем решения для случая N = 1:
Pn1 =
(1 -Р0 р"+
1 -р,N+2
и Pnr =
(1 -Рг ) р,
1 -р
N+2
Выразим загрузку сервера репликаций (и как составную часть размер очереди к нему) через допустимые потери (а затем исходя из знания приемлемого диапазона загрузки и размера очереди можно, зная интенсивность поступления заявок, равную разнице исходной и репликационной, вычислить искомую допустимую интенсивность обслуживания на сервере репликаций)
_ (1 -Р^+1 < Р
п1 , - N+2 — тах1 1 Р1
1) р>
P + P2 + 4P
max max max
р>1;
2) р<
P - P2 + 4 P
max max m
р<1.
Дальнейшее аналитическое нахождение минимально допустимой интенсивности обработки на сервере требует решения уравнения (N+2)-И степени. В общем виде трансформация решений представлена на рисунке.
r
N.. +1
2
r
2
3,0
н о
"Ü ft ю о
2,5
2,0"
1,5
1,0"
U
ю
U £
0,5
0,35 0,30 0,25 0,20 0,15 0,10 Предельная вероятность потерь
0,05
Динамика требуемой интенсивности обработки запросов на сервере в зависимости от требований по допустимой вероятности потерь
Выводы
Представленная схема принятия решения о параметрах включаемого в систему сервера репликаций, либо модернизации существующего сервера о заданной интенсивности обработки запросов может быть использована при выборе параметров репликацион-ных серверов в распределенных информационных системах.
Литература
1. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика: 3-е изд.: Пер. с англ. М., 2003.
2. Ролланд Ф. Основные концепции баз данных: Пер. с англ. М., 2002.
3. Amir Y., Danilov C., Miskin-Amir M., Stanton J., Tutu C. On the Performance of Wide-Area Synchronous Database Replication: Technical Report CNDS-2002-4. November 18, 2002 http://www.cnds.jhu.edu.
4. Didonet M. Stage report "Adaptive Replication Models" / Université de Nice Sophia Antipolis. July,1st 2003.
5. Pitoura E. A Replication Schema to Support Weak Connectivity in Mobile Information Systems // 7th International Conference on Database and Expert Systems. Applications (DEXA), September 1996.
6. Preguwa N., Shapiro M., Martins J.L. Automating semantics-based reconciliation for mobile databases // RENPAR' 15/SympaAAA. 2003.
7. Ripeanu M., Foster I. A Decentralized, Adaptive, Replica Location Service // 11th IEEE International Symposium on High Performance Distributed Computing (HPDC-11) Edinburgh, Scotland, July 24-16, 2002.
Южно-Российский государственный технический университет (Новочеркасский политехнический институт)
10 ноября 2006 г.
0