Тема: Разработка масштабируемой системы управления данными, обладающей высокой доступностью
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Пример архитектуры 5
Основные компоненты системы 5
Архитектура 6
Data Storage Platform 7
Metadata storage API 8
Средство аутентификации пользователей 9
Механизм резервного копирования данных 10
Утилита для скачивания данных 11
Модуль управления политиками и правилами 12
Балансировщик нагрузки 13
Распределенный кэш метаданных 14
Сценарии использования 15
Общий сценарий использования 15
Пример развёртывания, конфигурации и использования системы 16
Работа с метаданными 18
Разделение прав доступа 19
Защита от несанкционированного доступа 20
Восстановление данных 21
Роли пользователей 22
Системный администратор 23
Data steward 24
Обычный пользователь 25
Поддержка консистентности данных 26
Контроль версий 27
Блокировки 28
Компоненты реализованной системы 29
Заключение 31
Список литературы 32
📖 Введение
Данная выпускная квалификационная работа заключается в разработке некоммерческого программного решения для раздельного управления данными и их метаданными. Проектируемая система будет иметь доступ к хранилищу данных , в качестве которого будет использоваться один из существующих продуктов с открытой лицензией, а также к хранилищу метаданных, способ хранения которых предстоит определить в процессе исследования. Предлагаемое решение будет использовать систему управления метаданными, которая обеспечит быстрый доступ к ним (в том числе с использованием распределенного кэша). Среди основных свойств разрабатываемой платформы важную роль играет масштабируемость (сохранение производительности при увеличениях количества хранимых данных и количества подключенных хранилищ) и высокая доступность — способность восстанавливаться после сбоев. Система должна также поддерживать работу многих пользователей, их аутентификацию и разделение прав доступа, а также обеспечивать консистентность данных при помощи одного из существующих механизмов. Среди перспективных направлений в разработке платформы следует выделить создание модуля политиками, который позволит пользователям с помощью специального интерфейса самим определять правила, по которым будут хранится данные и метаданные, а также реализацию балансировщика нагрузки на систему.
Постановка задачи заключается в разработке системы для хранения данных на основе программных компонент с открытым исходным кодом, использующей метаданные для поиска информации, обладающей свойствами масштабируемости и высокой доступности
В работе производится анализ существующих современных компонентов для программного хранения данных, выбор походящих для обеспечения вышеперечисленных требований к системе, а также совмещение их с теми частями системы, которые будут реализованы “с нуля”.
✅ Заключение
В ходе данной работы был реализован прототип системы с тремя основными модулями, использована методология раздельного хранения данных и метаданных. Разработанная система условно называется Data managment platform (Data-as-Service), с ее исходным кодом можно ознакомится на https://github.com/timbog/Data-as-Service (Исходный код модуля преобразования данных находится отдельно, в публичном доступе его нет). Сама платформа для работы с базой данных для метаданных использует библиотеку Hibernate (http://hibernate.org/), позволяющую оперировать сущностями из бд независимо от ее типа, в тестовом окружении используется база данных HSQLDB (http://hsqldb.org/). Для хранения данных была развернута система хранения данных Ceph (http://ceph.com/). В процессе разработки системы была использована система непрерывной интеграции Drone (https://drone.io/). В дальнейшем исследование может быть продолжено в сторону увеличения количества компонентов посредством использования готовых (балансировщик нагрузки, бэкапирование и т.д.) средств, а также разработки новых (модуль управления политиками и правилами).
Разработанная мною система может служить как единое ядро для разработчиков, которым нужна система хранения данных, она может быть доработана или изменена в зависимости от конкретных требований к платформе.





