УДК 004.5
ОСОБЕННОСТИ ВЕРОЯТНОСТНОГО ВЫВОДА В БОЛЬШИХ БАЗАХ ДАННЫХ
Нгуен Сон Лам
В статье рассмотрен подход к управлению вероятностными базами данных на основе диссоциации запросов и коэффициента распространения, решающий на алгоритмическом уровне проблему точного вывода для №-полной задачи
Ключевые слова: вероятностная база данных, управление, точный вывод
1. Введение
Вероятностный вывод применительно к большим пакетам данных становится центральной проблемой управления данными. Центральная проблема состоит в том, что точный вывод обычно является NP-полной задачей, что ограничивает размер данных, которые могут быть эффективно обработаны.
2. Постановка задачи
Рассматриваются вероятностные базы данных (probabilistic databases - PDBs), где каждый кортеж имеет независимую вероятность p(e)e[0,1]. D -пример базы данных, т.е. набор кортежей и их вероятностей. Выделяем жирным шрифтом (х) обозначения наборов или кортежей, [k] -обозначение набора {1,...,k}, и x[i,j] - короткая форма для (xi,..,xj). Считаем, что окружение генерируется независимым включением каждого кортежа t в него с вероятностью p(t). Таким образом, база данных D кортеже-независимая. Рассматриваем самосоединяющиеся свободные конъюнктивные запросы q(x):-gb...,gm, где gb...,gm -относительные атомы, также называемые подцелью, на словаре Rb...,Rm. Это обозначение по сути аббревиатура функции первого порядка q(x) = 3x1 ... 3xk*(gjA...Agm), где хь...,хк - связанные переменные их- свободные переменные в выражении. «Самосоединяющиеся свободные конъюнктивные запросы» означает тот факт, что каждая подцель g; отсылает к различным отношениям Ri.
Обозначаем через Var(q) набор всех переменных, HVar(q) - набор главных переменных x, и EVar(q) набор неглавных или относящихся к существованию запроса q переменных. Для булевого запроса: HVar(q) = 0 и Var(q) = EVar(q).
Обозначаем через Var(gi) переменные в подцели gj, и А - активный домен базы данных D.
Задача вероятностной оценки запроса состоит в вычислении величины p[q], которая является
вероятностью того, что запрос верен в случайно выбранном окружении, и которую назовем надежностью запроса r(q) [5].
Пример 1. Распространение в k-дольном графе [18] подтверждает действительное наличие проблемы.
Нгуен Сон Лам - ВГТУ, аспирант, тел. (473) 243-77-18
Известно, что сложность данных [9] любого конъюнктивного запроса q является или РТ1МЕ, или КР-сложной [2]. Класс запросов РТ1МЕ, также называемых безопасными запросами, для случая «Самосоединяющиеся свободные конъюнктивные запросы» уточняется как «Иерархические запросы» [1] и определяется следующим образом:
Определение 2 (Иерархический запрос). Для каждой переменной х в q, обозначим через подцели, которые содержат х. Тогда q называется иерархическим, если для любых двух переменных х, у одно из следующих трех условий будет выполнено:
sg(x) г^(у)=0;
БЕ(Х) 38§(у).
Например, запрос q1:-R(x,y),S(y,z),T(y,z,u) является иерархическим, в то время как q2:-R(x,y),S(y,z),T(z,u) таковым не является, поскольку ни одно из этих трех условий не соблюдается для переменных у и z. Каждый рекурсивный иерархический запрос может быть вычислен в полиноминальном времени, но неиерархический запрос в общем случае является КР-сложным.
Определение 3 (План запроса). Пусть Кь...Дт - реляционный тезаурус. План запроса задается грамматикой
р-вдкрр .ЛЬ
где Я;(х) - элементарный реляционный элемент, содержащий переменные х и константы, я - оператор проекции с двойным удалением, и
□ [...] - естественное соединение в префиксной записи, которое может быть к-арным для к>2. Требуется, что соединения и проекции чередовались в плане. Порядок соединения несущественен, т.е. С [Р,,Р2] то же самое, что и □ [Р2,]
Требование в определении, чтобы соединения и проекции чередовались в плане, является существенным. Следовательно, не рассматриваются перестановки в соединениях (называемые упорядочиванием соединений). Кроме того, не разрешаются деревья соединений, такие как
□ [□ [Я^Я^Дз] или и [Я15и [ЯгДз]]- Напротив, оба терма считаются эквивалентными и однозначно представленными планами запроса | 1.Я,.|• с
точностью до изменения порядка компонентов операции. Причина состоит в том, что все
различные порядки соединения имеют одну и ту же вероятностную семантику, т.е. они приводят к тем же самым коэффициентам запроса, как определено далее.
Обозначим через qp запрос, состоящий из упомянутых в плане Р элементов. Определим главные переменные HVar(P) индуктивно как
HVar(R.(x))=x HVar(кx(P))=x
к
НУаг(П [Р1;...,Рк]) = уНУаг(Р;)
¡=1
План называется булевым, если ИУаг(Р)=0. Предполагаем, что обычные логические условия должны выполняться в планах: в операции проекции п (Р) мы считаем, что хсИУаг(Р), и каждая
переменная у проектируется как минимум однажды в плане, т.е. существует максимум один оператор п (Р), в результате чего усИУаг(Р)\х. Для удобства
записи будем использовать понятие «общей проекции»: учитывая подплан Р с главными переменными ИУаг(Р)=хиу, оператор общей проекции п (Р) проецирует подмножество
переменных у^0 из и на х: п (P) = пх (?) .
План Р оценивается в базе данных D, используя расширенные семантики [3, 7]: каждый подплан Р возвращает промежуточное отношение числа аргументов |Иуаг(Р)|+1. Дополнительный признак вероятности хранит вероятность каждого кортежа. Для вычисления вероятности каждый оператор считает, что входные кортежи независимы, т.е. вероятностный оператор соединения 11 [ ] умножает вероятности кортежа для
1=1
объединенных к кортежей, и вероятностный оператор проекции с двойным удалением п вычисляет вероятность ^ р.) для к кортежей
1=1
с теми же самыми атрибутами отображения [3, 8]. Для булева плана Р это приводит к единственному значению вероятности, которое обозначаем как БСОге(Р). В целом это не истинная надежность запроса г^р), которая определена ранее: БСоге(Р)^
Определение 4 (Безопасный план). План Р называется безопасным, если для любого оператора соединения С [Р1;...,Рк] все подпланы имеют
совпадающие главные переменные:
ИУаг(Р;)=ИУаг(Р^ для всех 1<У<к. Известные факты о соотношении между безопасными запросами и безопасными планами [1]: Утверждение 5 (Безопасность). Пусть Р - план для свободно соединяющегося конъюнктивного запроса q. Тогда (1) score(P) = г(ф для любой ВБД и только в этом случае Р безопасен; (2) q признается безопасным планом тогда и только тогда, когда q иерархичен. Более того, безопасный план уникален (до перестановки в порядке соединения).
Пример 6 (Безопасные планы и SQL). Рассмотрим безопасные планы иерархических запросов на двух примерах, начиная с простого иерархического запроса, его уникального безопасного плана и его трансляции в SQL, принимая во внимание схему R(A, B), S(A) и каждую таблицу, имеющую один дополнительный атрибут P для вероятности кортежа. Здесь IOR(X) является определенным пользователем агрегатом, который вычисляет независимость для вероятностей сгруппированных кортежей, т.е. IOR(pb p2, ..., pn)=l-(l-pi)(l-p2)...(1-pn) (точное определение для PostgreSQL дается в [4]). Пример 6.1 qi(x):-R(x,y),S(x) Р, =LP [7ipyR(x,y),S(x)]
select R2.A, R2.P * S.P as P from (select A,IOR(P)asP from R
group by A) as R2, S where R2.A = S.A
Пример 6.2
Второй пример - более сложный логический булев запрос:
q2:-R(x,y);S(y;z);T(y;z;u)
Р, = тгру Dp [7rpxR(x;y);7ipz Dp [S(y,z),7ipuT(y,z,u)]]
3. Диссоциация и распространение
В этой части определим метод диссоциации запроса и коэффициент распространения запроса. Сначала определим подход обобщенно, в следующих статьях опишем эффективные методы оценки диссоциации и распространения запроса.
Определение 7 (Диссоциация запроса). Диссоциация конъюнктивного запроса
q:-R1(x1),...,Rm(xm) - это набор множеств переменных A=(yb...,ym), причем y1cVar(q)-Var(g1). Диссоциированный запрос:
qA : -R[1(x1,y1),...,Rm»(Xm,ym). Таким образом, синтаксически диссоциация запроса добавляется к некоторым подцелям, переменным других подцелей. Естественная абстракция для понимания диссоциации запроса, есть матрицы инцидентности запроса.
Определение 8 (Матрица инцидентности). Матрица инцидентности запроса q содержит одну строку для каждой подцели и один столбец для каждой переменной в Var(q). Пустой кружок в определенной строке и столбце указывает на то, что соответствующая подцель содержит
соответствующую переменную. Круг с заливкой показывает, что соответствующая подцель отделена на соответствующей переменной.
Таким образом, концептуально диссоциация таблицы - мульти-перекрёстное произведение с активным доменом, так что каждый кортеж в оригинальной таблице скопирован к многократным кортежам в диссоциированной таблице. Напомним, что каждый кортеж в оригинальной таблице представляет собой независимое вероятностное
событие. Диссоциированная таблица теперь содержит многократные копии каждого кортежа с той же самой вероятностью, которая представляет независимые события. Таким образом, диссоциированная таблица имеет иную вероятностную интерпретацию, нежели
оригинальная.
Определение 9 (Диссоциация таблицы). Пусть заданы конъюнктивный запрос q:-R1(x1),...,Rm(xm), активный домен А, и диссоциация запроса Д=(уь...,ут). Диссоциация таблицы R1 по У^Уп,...^) - это отношение, определенное запросом
ЯУЧх^): -^(хДА(уп),..., А^).
Оба определения определяют семантику диссоциации запроса следующим образом: добавим некоторые переменные к некоторым атомам в запросе, что приводит к диссоциированному запросу по новой схеме. Преобразуем вероятностную базу данных копированием некоторых кортежей и добавлением новых признаков, чтобы соответствовать новой схеме. Получим диссоциированную базу данных. Наконец, вычислим вероятность диссоциированного запроса на диссоциированной базе данных. Это и есть семантика диссоциированного запроса, а не способ фактической оценки запросов.
Пример 10 (Диссоциация запроса). На рис. 1с показана диссоциация Д=({у},0,0) и экземпляр БД на примере запроса q:-R(x),S(x,y)T(y). Активный домен А есть {а,Ь,с}, и переменная р1 представляет независимую вероятность кортежа с индексом г
В результате диссоциированный запрос будет иметь вид : -Я!у!(х,у),80(х,у),Т°(у), который сокращенно запишем как qA :-R(x,y),S(x,y),T(y)• Таким образом, используем знак тильды (~) как краткое обозначение диссоциированных отношений и переменных, например, Щх,у) для Щх) на у. Рис.
Ы демонстрирует новую копию БД с таблицей Я как оригинальную таблицу R, диссоциированную на переменной у. Важно, оригинальный кортеж R(a) диссоциировался в два кортежа R(a,b) и R(a, с) с той же вероятностью р1. Рис. 1а и Рис. 1Ь иллюстрируют матрицы инциденций запроса q и его диссоциации ЧД.
Рис. 1. Матрицы инциденций запроса q:-R(x),S(x,y)T(y) и диссоциация
qA : -R!y!(x,y),S0(x,y),T0(y) ; оригинальный экземпляр
базы данных D и новый экземпляр/новая копия DA с таблицей R, диссоциированной на переменной y
Первый технический результат показывает, что диссоциация запроса может только увеличить вероятность. Сформулируем его в более общей форме, отмечая, что набор диссоциаций формирует частичный порядок.
Определение 11 (Частичный порядок диссоциации). Определим частичный порядок на диссоциациях запроса следующим образом:
А А' <=> Vi : у; э у[ •
Теорема 12 (Частичный порядок диссоциации). Для каждой пары диссоциаций А и А'запроса q следующее условие выполняется для каждого экземпляра базы данных:
А >- А' <=> r(qA ) > r(qA ).
Следствие 13 (Верхние границы запроса). Для каждой базы данных и каждой диссоциации А запроса q имеет место
r(qA)>r(q)
Следствие 13 вытекает непосредственно из Теоремы 12, так как каждый запрос есть диссоциация самого себя на коллекции пустых наборов. Общее количество диссоциаций соответствует количеству множеств всех подмножеств переменных, которые могут быть добавлены к подцелям. Следовательно, для каждого запроса с n неглавными переменными и m подцелями есть 2K| возможных диссоциаций с
K = jj (n -1'Var(g )|), формирующих частичный
i=1
порядок в форме множества подмножеств (см. рис. 2a для Примера 16). Коэффициент диссоциации r(qA ) эффективно оценивается для подмножества диссоциаций, которые безопасны.
Определение 14 (Безопасная
диссоциация/разобщение (Safe dissociation)). Диссоциация А запроса q называется безопасной, если диссоциированный запрос qA безопасен.
Отметьте, что обеспечение безопасности при диссоциации не является монотонным, и диссоциация может сделать безопасный запрос небезопасным. Например, запрос q:-R(x),S(x,y),T(x,y,z) безопасен, но его диссоциация -нет: qA : -R(x,z),S(x,y),T(x,y,z).
Определение 15 (Распространение). Коэффициент распространения p(q) для запроса q есть минимальный коэффициент всех диссоциаций:
P(q) = minr(qA ),
где А - интервал безопасных диссоциаций.
Пример 16 (Частичный порядок диссоциаций). Запрос q:-R(x),S(x),T(x,y),U(y) небезопасен и допускает 23=8 диссоциаций (рис. 2a). Из 8 диссоциаций 5 являются безопасными (3-7). Более того, две из них являются минимально безопасными (3, 4):
Ч3:-Жх),8(х),Т(х,у),и(х,у) д4: -Й(х,у),§(х,у),Т(х,у),и(у)
a)
b)
Рис. 2. (а): частичный порядок диссоциации для q:-Я(х),8(х),Т(х,у),и(у). Безопасные диссоциации - (3-7), минимально безопасные диссоциации - - 3 и 4; (Ь): все 15 возможных планов запроса для q, их частичный порядок и связь с безопасными диссоциациями (3-7)
Чтобы проиллюстрировать эти планы запросов как верхние границы, рассмотрим базу данных с S={(1,1), (1,2), (2,2)}, R=T=U={1,2} и все кортежи имеюп вероятность р=0.5. Тогда q имеет вероятность 83/29~0.161, в то время как вероятность q(3) равна 169/210~0.165, вероятность q(4) -353/2п~0.172, обе они являются верхней границей. Коэффициент распространения - это минимальное значение всех минимальных безопасных диссоциаций, и он таким образом равен
р(д) = тт [ г (q1 )] = 0.165.
1е{3,4)
Можно рекомендовать принять коэффициент распространения как альтернативную семантику для ранжирования результатов запроса посредством вероятностных баз данных. В то время как задача вычисления надежности г(q) является КР-сложной в целом, вычисление коэффициента распространения p(q) всегда происходит в полиноминальном времени (РТ1МЕ) по размеру базы данных. Более того, р^)>г^) и, если q безопасен, то Оба
утверждения следуют из Следствия 13. Следовательно, распространение запроса - это
естественное расширение надежности от безопасных запросов до всех запросов: если запрос безопасен, то оба коэффициента совпадают; если он не безопасен, то распространение все еще позволяет оценить запрос в полиноминальном времени (РТ1МЕ). Исходной идеей было развитие метода, который подходит для распространения запросов в направленных сетях. Теперь можно подтвердить определения диссоциации и распространения запроса, проведя параллель с надежностью сети и распространением: когда граф является к+1-дольным, тогда его две предельные надежности могут быть выражены конъюнктивным к-цепным запросом. Далее коэффициент распространения по этой сети соответствует одному из нескольких возможных диссоциаций этого запроса q. Таким образом, диссоциация запроса является строгим обобщением распространения сети на к-дольном графе. Поэтому распространение запроса определяется как соответствие определенной диссоциации с минимальной надежностью (см. табл. 1).
В отличие от коэффициента распространения в сетях, коэффициент распространения в конъюнктивных запросах дает минимум по всем возможным диссоциациям, и поэтому уникален для каждого запроса и базы данных.
Таблица 1
Связь между надежностью и распространением в
Сети / Графы Конъюнктивные запросы
Надежность сети: Вероятность того, что два узла связаны. Не зависит от направления ребер. Надежность запроса: Вероятность того, что запрос верен. Не зависит от плана запроса.
Коэффициент распространения: "Связанность" распространяется от источника к цели. Зависит от направленности ребер. Верхний предел надежности. Коэффициент диссоциации: план запроса оценивается в направлении от листьев к корням. Зависит от выбора диссоциации. Верхний передел надежности.
Коэффициент распространения: Минимум по всем возможным безопасным диссоциациям. Уникален для данного запроса.
Утверждение 17 (Связь с сетями). Пусть в=(У,Е) - к+1-дольный биграф с узлом-источником s и целевым узлом ^ где каждое ребро имеет вероятность. Узлы представлены как
У={5}иУ2и...Уки{0, а ребра есть ^ _ ^^ , где Я,
определяет набор ребер от V! до ^+1 (1е [к]). Тогда:
(a) надежность сети G источником-приемником (s, t) равна r(q) с
q:-Ri(s,X2),R2(x2,xs),...,Rk(xk,t);
(b) коэффициент направленного распространения от s к t равен r(qA) с
qA : -R*[3,kl (s, x[2,k]), R2[4,kl (x[2,k]),..., R0 (xk, t).
4. Заключение
Работа представляет собой подход к приближенной оценке запросов посредством вероятностных баз данных (ВБД): в этом подходе каждый запрос данных оценивается целиком и полностью в ядре базы данных вычислением постоянного числа планов запроса, каждый из которых обеспечивает верхнюю границу истинной вероятности и ее минимум. Разработан алгоритм, который принимает во внимание важную информацию о схеме БД, чтобы перечислить только минимально необходимые планы среди всех возможных планов. Важно отметить, что этот алгоритм - строгое обобщение всех известных результатов полиномиального времени (PTIME) самосоединяющихся свободных конъюнктивных запросов: запрос является безопасным тогда и только тогда, если алгоритм возвращает один единственный план. Кроме того, подход является обобщением семьи эффективных функций ранжирования сети от графов к гиперграфам.
Литература
1. Dalvi, N.N. Efficient query evaluation on probabilistic databases [Text] / N.N. Dalvi, D. Suciu // VLDB.
- 2007. - № 16(4). -P. 523-544.
2. Dalvi, N.N. The dichotomy of probabilistic inference for unions of conjunctive queries [Text] / N.N. Dalvi, D. Suciu // J. ACM. - 2012. - № 59(6). -P. 30.
3. Fuhr, N. A probabilistic relational algebra for the integration of information retrieval and database systems [Text] / N. Fuhr, T. R'Olleke // ACM Trans. Inf. Syst. - 1997.
- № 15(1) -P. 32-66.
4. Gatterbauer, W. Oblivious bounds on the probability of Boolean functions [Text] / W. Gatterbauer, D. Suciu // ACM Trans. Database Syst. (TODS). - 2014. - № 39(1). -P. 5.
5. Gradel, E. The complexity of query reliability [Text] / E. Gradel, Y. Gurevich, C. Hirsch // PODS. - 1998. -P. 227
- 234.
6. Olteanu, D. Sprout: Lazy vs. eager query plans for tuple-independent probabilistic databases [Text] / D. Olteanu, J. Huang, C. Koch // ICDE. - 2009. -P. 640-651.
7. Pearl, J. Probabilistic reasoning in intelligent systems: networks of plausible inference [Text] / J. Pearl // Morgan Kaufmann Publishers, San Mateo, Calif., 1988.
8. Re, C. Query evaluation on probabilistic databases [Text] / C. Re, N.N. Dalvi, D. Suciu // IEEE Data Eng. Bull. -2006. - № 29(1). -P. 25-31.
9. Vardi, M.Y. The complexity of relational query languages (extended abstract) [Text] / M.Y. Vardi // In STOC. - 1982. - Р. 137-146.
10. Switching subsystems within the framework of distributed operational annunciator and monitoring systems: program design features [Text] / O.Y. Kravets, O.Y. Makarov, S.A. Oleinikova, V.M. Pitolin, O.N. Choporov // Automation and Remote Control. - 2013. - № 74(11). - Р. 1919-1925.
11. Клейн, К.В. Оптимизация управления качеством в конвейерных системах [Текст] /К.В. Клейн, О.Я. Кравец, Н.И. Послухаев// Машиностроитель. - 2002. - № 12. -С. 32.
12. Особенности программного проектирования коммутационных подсистем в составе распределенных систем оперативного оповещения и мониторинга [Текст] / О.Я. Кравец, О.Ю. Макаров, С.А. Олейникова, В.М. Питолин, О.Н. Чопоров // Системы управления и информационные технологии. - 2013. - Т. 52. - № 2. - С. 50-54.
13. Кравец, О.Я. Управление обучением информатике как информационный процесс [Текст] / О.Я. Кравец // Экономика и менеджмент систем управления. -2011. - Т. 2. - № 2. - С. 120-129.
14. Аналитические основы моделирования и проектирования многозвенной клиент- серверной системы [Текст] / М.В. Копылов, А.Э. Говорский, Е.А. Солдатов, О.Я. Кравец// Информационные технологии моделирования и управления. - 2010. - № 1 (60). - С. 49-60.
15. Инструментальные средства обеспечения взаимодействия между гетерогенными БД в процессе проектирования информационной системы [Текст] / Ю.Б. Тебекин, А.Э. Говорский, А.А. Соляник, О.Я. Кравец // Системы управления и информационные технологии. -2011. - Т. 44. - № 1.1. - С. 203-208.
16. Кравец, О.Я. Особенности разработки методов управления базами данных в составе специализированных информационных систем реального времени [Текст] / О.Я. Кравец, Г.И. Шахворостов // Системы управления и информационные технологии. - 2012. - Т. 49. - № 3.1. - С. 147-151.
17. Говорский, А.Э. Подходы к моделированию неоднородных интегральных информационно-управляющих систем [Текст] / А.Э. Говорский, О.Я. Кравец, А.Д. Поваляев // Системы управления и информационные технологии. - 2007. - № 3.1 (29). - С. 131-138.
18. Кравец, О.Я. Управление вероятностными базами данных с большими пакетами и графовыми алгоритмами: вариант решения задачи на основе оценки запроса в ядре СУБД [Текст] / О.Я. Кравец, Нгуен Сон Лам// Экономика и менеджмент систем управления. -2015. - №1.2(15).- С. 238-246.
Воронежский государственный технический университет
FEATURES OF A PROBABLE OUTPUT IN BIG DATABASES
Nguyen Song Lam
In article the approach to probable databases control on the basis of requests dissociation and propagation coefficient solving at the algorithmic level a problem of an exact output for the NP full task is considered.
Key words: probable database, control, exact output