Н.С. ДУДАКОВ Научный руководитель – Н.Е. ПИРОГОВ, инженер

advertisement
Н.С. ДУДАКОВ
Научный руководитель – Н.Е. ПИРОГОВ, инженер-математик
Московский инженерно-физический институт (государственный университет)
Разработка системы управления хранилищем динамических
данных
В работе решается задача разработки системы управления хранением данных.
Предложено разделение хранимых данных по темпам обновления на статическую
и динамическую части. В качестве базового механизма хранения динамической
информации предложено использовать одну из локальных баз данных.
Рассмотрены и протестированы существующие локальные системы хранения
данных. Разработан прототип модуля менеджера хранилища данных и клиентский
модуль доступа к динамической информации.
Одним из наиболее важных вопросов взаимодействия в
информационной среде является управление доступом, хранением и
использованием информации. В настоящий момент существует большое
количество систем управления информацией, удовлетворяющих
различным запросам.
Современная система управления хранением данных характеризуется
следующими ключевыми параметрами:
 скорость доступа к данным на чтение и запись
 отказоустойчивость
 удобство доступа к данным
Актуальным и эффективным является разделение данных по темпам
запросов,
на
более
медленную
«статическую» и
быструю
«динамическую» части.
Статические данные характеризуются низкой частотой обновления и
доступа, к ним можно отнести различные классификационные данные,
справочную информацию, и т д. Как правило, информация запрашивается
разово при инициализации задач, использующих её. В то же время,
статическая информация имеет достаточно большой объем, и
целесообразно хранить её на серверах баз данных. Динамические данные,
в свою очередь, характеризуются высоким темпом обновления, а также
необходимостью отслеживания изменений в режиме реального времени.
При этом динамическая часть имеет сравнительно меньший объем
данных. Предполагается изначальное разделение данных на статическую
и динамическую части и дальнейшая независимая работа частей.
В работе решается задача разработки системы управления хранением
динамических данных. В качестве базового механизма предлагается
использовать одну из локальных баз данных или одну из «in memory» баз
данных, хранящихся только в оперативной памяти. Готовое программное
решение будет являться «фундаментом» для хранилища динамических
данных. Необходимо дополнительно реализовать
механизмы
резервирования,
разграничения
доступа,
журналирования
и
документирования изменений, тиражирования данных по рабочим
местам. Так, были сформированы следующие требования к программному
решению:
 поддержка нескольких платформ, операционных систем
 возможность доступа к хранилищу несколькими процессами,
потоками одновременно
 удобная и гибкая модель доступа к данным и интерфейс
управления хранилищем
Выбор локальной базы данных обусловлен, в первую очередь,
большой загруженностью канала передачи информации в системе клиентсервер. Так, при большом количестве клиентов обработка запросов на
чтение информации из базы данных может занять недопустимое время,
тогда как при локальной конфигурации сервер обрабатывает только
изменения информации.
Рассматривались следующие базы данных: BerkeleyDB [1], FastDB [2],
и SQLite [3]. Каждый вариант обладает своими достоинствами и
недостатками, и в работе проводилось исследование и тестирование
данных решений для оценки перспективности конкретного подхода.
В процессе тестирования оценивались следующие параметры:
 гибкость и мощность программного инструментария доступа и
управления хранилищем
 отказоустойчивость
 структурируемость и внутренняя связность хранилища данных
 зависимость скорости и ресурсоемкости приложений от объемов
читаемых и изменяемых данных
Для тестирования программных решений были созданы приложения,
осуществляющие чтение и запись данных, а также управление
хранилищем данных. Для каждого варианта была разработана структура
хранения информации в зависимости от особенностей реализации
конкретного механизма. При тестировании проводилось журналирование
времени выполнения каждой операции чтения и записи, отслеживалась
динамика изменения объема хранилища и служебных файлов в
зависимости от времени работы приложений, объемов изменяемой
информации, темпов обновления приложений и количества приложений,
осуществляющих одновременный доступ к базе данных.
В процессе тестирования получено, что BerkeleyDB уступает
конкурентам в скорости, но является более надежной системой при
параллельной записи данных несколькими процессами. В тоже время,
запросы Sqlite и FastDb более удобны для передачи изменений на сервер
базы данных.
Доступ к хранилищу динамических данных предлагается
осуществлять на основе разработанного единого клиентского интерфейса.
Его основными функциям являются:
 универсальный механизм доступа к данным и управления
хранилищем
 обеспечение структуры базы данных
 реализация механизма транзакций
 поддержка средств мониторинга содержимого хранилища и
динамики работы хранилища
Также в работе решалась задача разработки менеджера хранилища
динамических данных для работы в локальной сети. Основное
предназначение менеджера – обеспечение единого информационного
пространства в комплексе средств управления хранением данных.
Менеджер данных осуществляет связь и взаимодействие локальных
хранилищ с сервером базы данных. Основные задачи менеджера:
 поддержка архитектуры «клиент-сервер»
 синхронизация данных
 поддержка целостности данных
 взаимодействие с клиентскими модулями и приложениями
В работе ставилась задача разработки системы управления хранением
динамических данных. Были произведены исследования существующих
локальных базы данных. Разработана методика тестирования, выработаны
требования к конечному программному решению. Разработан единый
клиентский интерфейс доступа к хранилищу данных и прототип
менеджера хранилища.
Список литературы
1.
2.
3.
Документация по базе данных BerkelyDb «www.oracle.com»
Документация по базе данных FastDb «www.fastdb.org»
Документация по базе данных SQLite «www.sqlite.org»
Download