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

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

CC BY
129
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
OLAP / СЭМПЛИНГ / SAMPLING / АГРЕГИРОВАНИЕ ДАННЫХ / DATA AGGREGATION / ГОРНАЯ ПРОМЫШЛЕННОСТЬ / MINING INDUSTRY / СЕНСОРНЫЕ СЕТИ / SENSOR NETWORKS

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

Приведено сравнение алгоритмов агрегирования данных и алгоритмов анализа репрезентативной выборки данных для их использования при решении проблемы анализа больших массивов данных на примере базы данных сенсорных сетей в горной промышленности.

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

OPTIMIZATION METHODS OF STATISTICAL DATABASES ON THE EXAMPLE OF SENSOR NETWORKS. THE APPLICATION OF THIS METHODS IN THE MINING INDUSTRY

This article describes comparison of data aggregation and sampling algorithms for their use in solving the problems of analyzing large data sets on the sample database of sensor networks in the mining industry.

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

© А.А. Козлов, 2013

А.А. Козлов

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

Приведено сравнение алгоритмов агрегирования данных и алгоритмов анализа репрезентативной выборки данных для их использования при решении проблемы анализа больших массивов данных на примере базы данных сенсорных сетей в горной промышленности.

Ключевые слова: OLAP, сэмплинг, агрегирование данных, горная промышленность, сенсорные сети.

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

Достоинства систем на основе сенсорных сетей:

• возможность расположения в труднодоступных местах, куда сложно и дорого тянуть обыкновенные проводные решения;

• оперативность и удобство развертывания и обслуживания системы;

• надежность сети в целом — в случае выхода из строя одного из них, информация передается через соседние элементы;

О Узел приёмник • Узел источник

Рис. 1

• возможность добавления или исключения любого количества устройств из сети;

• длительное время работы без замены элементов питания.

Если принято решение об использовании сенсорных сетей,

то неизбежно встанет вопрос о хранении и обработке данных, получаемых данной сетью. Их можно удалить, но тогда теряется статистика о климатических параметрах в шахте в динамике, а также пропадает возможность использовать старые данные для расследования инцидентов на шахте. Хранить все полученные данные возможно, но обработка больших массивов данных в любой системе может вызвать затруднения из-за аппаратных ограничений вычислительной техники. Порой подобная обработка может быть нецелесообразна, т.к. время её выполнения равно годам. Особенно это касается нестандартных запросов к системе хранения данных, которые невозможно заранее оптимизировать на уровне OLTP (обработка транзакций в реальном времени).

В 2012 году основным методом решения проблемы сбора статистики из больших массивов данных является метод анализа лишь небольшой репрезентативной выборки (сэмплинг/ sampling). Отклонения от реальных данных при анализе репрезентативной выборки во многом зависят от количества, струк-

туры и статистических зависимостей исходной базы данных. Во время работы алгоритма сэмплинга, система выбирает такое количество данных в репрезентативную выборку, при котором вероятность отклонения от реальных данных будет в пределах заданной погрешности. При таком подходе алгоритм анализа репрезентативной выборки, как правило, от 10 до 100 раз быстрее обычного алгоритма перебора всех данных (всё зависит от минимального размера репрезентативной выборки для каждой конкретной базы данных) [1].

Помимо метода анализа репрезентативной выборки существуют менее популярные методы, такие как агрегирование данных. Как правило, этот метод применяется в OLTP обработке данных, но его можно использовать и в OLAP обработке данных.

OLAP — набор технологий для оперативной обработки информации, включающих динамическое построение отчётов в различных разрезах, анализ данных, мониторинг и прогнозирование ключевых показателей бизнеса. В основе OLAP-технологий лежит представление информации в виде OLAP-кубов. Данные хранятся в кубах не в виде простых таблиц, а в разрезах, представляющих собой категории данных: температура, идентификатор пользователя, время и т. д.

Благодаря детальному структурированию информации OLAP-кубы позволяют оперативно осуществлять анализ данных и формировать отчёты в различных разрезах и с произвольной глубиной детализации. Отчёты могут создаваться инженерами, аналитиками, руководителями подразделений в интерактивном режиме для того, чтобы быстро получить ответы, на возникающие ежедневно вопросы, и принять правильное решение. При этом для создания отчетов сотрудникам не нужно прибегать к услугам программистов, на что обычно уходит немало времени. Из OLAP-куба может быть составлен обычный плоский отчёт. По столбцам и строкам отчёта будут категории данных (грани куба), а в ячейках показатели [2].

Суть метода агрегирования в сжатии данных без потери информации, за счёт дублирующих данных. Максимальная степень сжатия данных во многом зависит от структуры и статистических зависимостей данных. Как правило, этот метод мо-

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

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

В базах данных сенсорных сетей основным элементом является таблица фактов. Такая структура идеально подходит для OLAP анализа. А наличие в базе данных сенсорных сетей множества схожих элементов в таблице фактов, может говорить о целесообразности использования метода агрегирования данных для сжатия базы данных.

Можно использовать, разработанный для этих целей, алгоритм, который позволяет создать сжатую версию произвольного исходного log файла на основе метода агрегирования данных с заданной погрешностью (рис. 2). Log файл в данном алгоритме может быть заменен на любое другое хранилище данных. Суть алгоритма в разбиении всех элементов исходного log файла на кластеры (группы схожих элементов), не выходящие за пределы своей ячейки OLAP куба, используя алгоритмы кластеризации, с последующим объединением всех элементов в пределах каждого кластера в один. Этот алгоритм также позволяет минимизировать отклонение статистических данных сжатого log файла от статистических данных исходного log файла

Рис. 2

за счёт использования «Общего фона объединения» (учёта результатов объединения предыдущего кластера при объединении последующего кластера).

Первый этап работы данного алгоритма — это порождение OLAP куба данных из исходного log файла. Для этого необходимо выделить из структуры исходного log файла, поля, состояния которых логически нельзя сравнивать между собой. Например, если в один log файл пишутся данные о действиях разного характера, такие как местонахождение шахтёра и сигнал о помощи шахтера, которые различаются между собой значением одного из полей log файла. А также выделить поля, для которых не допустима потеря точности. Выделенные поля будут векторами OLAP куба. Количество состояний на одном векторе OLAP куба будет равняться количеству состояний поля, которому принадлежит данный вектор. Если количество состояний поля бесконечно, то в куб записываются только те состояния, которые уже были в исходном log файле. Как правило, получается сильно разряженный OLAP куб. В дальнейшем

по каждой ячейке OLAP куба будет проводиться отдельная кластеризация. Данные из одной ячейки куба не будут влиять на данные из другой ячейки.

После построения OLAP куба, можно оценить максимальную степень сжатия данных. Если предположить, что все элементы внутри каждой ячейки OLAP куба схожи, учитывая параметр погрешности сжатия, и сжимаются в один элемент, то количество непустых ячеек куба будет равняться количеству элементов в максимально сжатом log файле. Максимальная степень сжатия данных равна отношению количества элементов в исходном log файле к количеству элементов в максимально сжатом log файле. Таким образом, можно получить предварительную оценку эффективности алгоритма до его реализации.

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

Вторым этапом работы данного алгоритма является разбиение элементов в ячейках OLAP куба на кластеры (Кластеризация). Так как данные в log файлах не несут для вычислительной машины никакой смысловой нагрузки и полезны только для человека, пользователю данного алгоритма необходимо определить правила взаимодействия и сравнениях полей log файлов. Для сравнения данных на этом этапе понадобится таблица «Правила взаимодействия полей log между собой», «Таблица временных связей», «Важность полей log» и

«Общая точность сжатия». «Общая точность сжатия» — это максимальная допустимая погрешность сжатия, которая была описана выше. «Важность полей log» — это таблица в которой каждому полю log файла, которое не попало в координаты OLAP куба, присвоено значение от 0 до 0.99, что отражает максимальную погрешность допустимую для этого поля. «Таблица временных связей» отражает минимальное значение разности полей «время» двух элементов в log файле, при котором эти элементы могут попасть в один кластер. Также она отражает максимальное значение разности полей «время» двух элементов в log файле, при котором эти элементы могут попасть в один OLAP куб. «Правила взаимодействия полей log между собой» — это матрица смежности, которая отражает сходство состояний полей между собой, а также возможность порождения новых состояний. В правилах взаимодействия полей log между собой могут присутствовать только параметры с конечным числом состояний.

Во время разбиения элементов ячейки OLAP куба по кластерам, первым делом сравниваются все значения одинаковых полей между собой, используя «Правила взаимодействия полей log между собой» и «Таблицу временных связей». Во время этого процесса порождается «Коэффициент схожести записей» и если этот коэффициент не ниже «Заданного коэффициента схожести» этого поля, который можно получить, умножив коэффициент важности данного поля из таблицы «Важность полей log» на «Общую точность сжатия», то записи считаются схожими.

Используя метод сравнения двух значений, описанный выше, можно использовать практически любой алгоритм кластерного анализа, для дальнейшего порождения «Кластеров схожести элементов OLAP куба по одному полю». Выбор алгоритма зависит от специфики исходного log файла. Например, можно использовать алгоритм максимизации ожидания (EM-алгоритм).

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

деления, которые максимизируют логарифмическую функцию правдоподобия, используемую в качестве меры качества модели. Иными словами, предполагается, что данные в каждом кластере подчиняются определенному закону распределения, а именно, нормальному распределению. С учетом этого предположения можно определить параметры — математическое ожидание и дисперсию, которые соответствуют закону распределения элементов в кластере, наилучшим образом «подходящем» к наблюдаемым данным.

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

Среди преимуществ EM-алгоритма можно выделить следующие:

• Мощная статистическая основа.

• Линейное увеличение сложности при росте объема данных.

• Устойчивость к шумам и пропускам в данных.

• Возможность построения желаемого числа кластеров.

• Быстрая сходимость при удачной инициализации.

Однако алгоритм имеет и ряд недостатков. Во-первых,

предположение о нормальности всех измерений данных не всегда выполняется. Во-вторых, при неудачной инициализации сходимость алгоритма может оказаться медленной. Кроме этого, алгоритм может остановиться в локальном минимуме и дать квазиоптимальное решение [4].

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

Третьим этапом работы алгоритма агрегирования данных с заданной погрешностью является объединение (агрегирование)

всех элементов внутри каждого «Кластера схожести элементов OLAP куба» в один агрегированный элемент. К агрегированному элементу добавляется дополнительное поле, которое отражает то, сколько элементов было слито в один (Вес элемента). Значения полей агрегированного элемента равны усредненным значениям всех полей в кластере, используя для усреднения «Правила взаимодействия полей log между собой». Если поле имеет состояния, которые между собой нельзя сравнить и одно из этих состояний было потеряно в процессе объединения, то эта потеря отражается в «Общем фоне объединения». При последующем объединении элементов OLAP куба будут учтены данные из «Общего фона объединения» и быть может состояние поля, которое не является доминирующем в кластере, станет таковым.

После записи всех агрегированных элементов OLAP куба в один файл, на выходе получается сжатый log файл.

- СПИСОК ЛИТЕРАТУРЫ

1. Adaptive sampling in measuring traffic parameters in a computer network using a fuzzy regulator and a neural network, J. Giertl, J. Baca, F. Jakab, and R. Andoga Cybernetics and Systems Analysis, Vol. 44, No. 3, 2008, UDC 681.3.06.

2. Laura Reeves, A Manager's Guide to Data Warehousing, John Wiley & Sons, 2009. — 480 с, ISBN-13: 978—0470176382.

3. Parameter-Based Data Aggregation for Statistical Information Extraction in Wireless Sensor Networks, «Vehicular Technology, IEEE Transactions on», Oct. 2010, 59 Issue: 8, page(s): 3992 — 4001, INSPEC Accession Number: 11588227.

4. Королёв В.Ю. ЕМ-алгоритм, его модификации и их применение к задаче разделения смесей вероятностных распределений. Теоретический обзор. — М.: ИПИРАН, 2007. ЕШ

КОРОТКО ОБ АВТОРЕ -

Козлов Артём Александрович — аспирант, temapodolsky@gmail.com, Московский государственный горный университет.

д

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