Top Banner
Key-Value системы и их применение к моделям с наследованием структуры данных Московский физико-технический институт Выпускная квалификационная работа студента гр.617 Шевцова А. В. Научный руководитель Евдокимов А.В., к.ф.-м.н., доцент Научный консультант
19

Key-Value системы и их применение к моделям с наследованием структуры данных

Jan 19, 2016

Download

Documents

velika

Московский физико-технический институт. Key-Value системы и их применение к моделям с наследованием структуры данных. Выпускная квалификационная работа студента гр.617 Шевцова А. В. Научный руководитель Евдокимов А.В., к.ф.-м.н ., доцент Научный консультант Нарыжный И.Г. Введение. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Key-Value  системы и их применение к моделям с наследованием структуры данных

Key-Value системы и их применение к моделям с наследованием структуры

данных

Московский физико-технический институт

Выпускная квалификационная работа студента гр.617 Шевцова А. В.

Научный руководительЕвдокимов А.В., к.ф.-м.н., доцент

Научный консультантНарыжный И.Г.

Page 2: Key-Value  системы и их применение к моделям с наследованием структуры данных

ВведениеПредпосылки: Любому Enterprise-приложению

необходима БД, позволяющая оперировать с данными и хранить их

Кроме РБД, существует множество других БД различного рода

Новый вид БД – Key-Value системыНеобходимо выяснить, когда стоит

использовать KV вместо РБД

Page 3: Key-Value  системы и их применение к моделям с наследованием структуры данных

ВведениеЦель: исследовать возможности практического

применения KV, их преимущества и недостатки

Задачи: реализовать модель с наследованием

структуры данных, используя KV выяснить качественные и количественные

характеристики полученной системы сравнить систему с другими по

установленным параметрам

Page 4: Key-Value  системы и их применение к моделям с наследованием структуры данных

Распределенные хеш-таблицы Используют хеш ключа для разделения ответственности между узлами При перекрытии зон ответственности узлов система имеет возможность переживать отказы узлов без потери данных Эффективные алгоритмы маршрутизации позволяют находить узлы, ответственные за определенный ключ за время O(log N), где N – число узлов в системе Могут быстро находить данные на огромном количестве узлов по всей сети Интернет

Page 5: Key-Value  системы и их применение к моделям с наследованием структуры данных

Распределенные хеш-таблицыПреимущества: Масштабируемость Устойчивость к отказамСамоорганизацияУдобны для работы с объектами с известными идентификаторами.Недостатки:Проблемы с поискомПроблемы с безопасностью и целостностью данных

Page 6: Key-Value  системы и их применение к моделям с наследованием структуры данных

Project Voldemort Key-Value система от LinkedIn – авторитетный разработчик В основе лежит DHT Богатый дополнительный функционал Множество сторонних проектов, расширяющих функционал

Key-Value системы Основаны на DHT Дополнительная функциональность

Page 7: Key-Value  системы и их применение к моделям с наследованием структуры данных

Модель SN

Page 8: Key-Value  системы и их применение к моделям с наследованием структуры данных

SN over KV <object_id>.data – основные параметры (идентификаторы родителя и шаблона, имя и адаптер) <object_id>.value – единичное значение<object_id>.value.{<n>} – множественное значение<object_id>.children.{<n>} – список дочерних объектов<object_id>.successors.{<n>} – список наследников

Page 9: Key-Value  системы и их применение к моделям с наследованием структуры данных

Большие спискиРеализована фрагментации списков, поскольку в Project Voldemort нет ее встроенной поддержки <list_id>.{<n>} – последовательность фрагментов списка при достижении последним фрагментом определенного размера создается новый

Page 10: Key-Value  системы и их применение к моделям с наследованием структуры данных

Методика тестирования Большинство тестов проводится на специальных наборах данных для выделения необходимой характеристики системы Один тест проводится на реальных данных Исследуется производительность основных операций над объектами

Page 11: Key-Value  системы и их применение к моделям с наследованием структуры данных

Методика тестирования Каждая операция выполняется последовательно на 10 одинаковых объектах для получения среднего значения исследуемого времениВремя выполнения операции измеряется при нескольких значениях параметра, от которого это время может зависеть

Page 12: Key-Value  системы и их применение к моделям с наследованием структуры данных

Результаты измеренийРеализация SN over Voldemort SN over RDB Metamodel classic over RDB

Время, мс 0.49 2.87 2.92

Реализация SN over Voldemort SN over RDB Metamodel classic over RDB

Время, мс 1.65 7.91 11.63

РеализацияMetamodel classic over

RDBSN over RDB

SN over Voldemort(BulkStore)

SN over Voldemort

Время загрузки в БД,

с22.23 33.46 21.48 27.13

Время чтения из БД, с

12.21 15.68 2.65 7.25

Чтение объекта из базы

Установка значения атрибута

Работа с структурой файловой системы

Page 13: Key-Value  системы и их применение к моделям с наследованием структуры данных

Создание дочернего объекта

0 10 20 30 40 50 60 70 80 90 1000.00

5.00

10.00

15.00

20.00

25.00

Классическая метамодель SN с использованием РБД SN с использованием KV

Page 14: Key-Value  системы и их применение к моделям с наследованием структуры данных

Добавление значения атрибута

0 10 20 30 40 50 60 70 80 90 1000

2

4

6

8

10

12

14

16

18

20

SN over RDB Metamodel classic over RDB SN over Voldemort

Page 15: Key-Value  системы и их применение к моделям с наследованием структуры данных

Поиск объекта по имени

0 5 10 15 20 25 300

2

4

6

8

10

12

14

16

18

Metamodel classic SN over RDB SN over Voldemort

Page 16: Key-Value  системы и их применение к моделям с наследованием структуры данных

Сводные результатыMetamodel

classicSN over

RDBSN over

KVРабота с известным объектом/атрибутом с единичным значением

3 2 1

Работа с множественным атрибутом (N < 100) 3 2 1

Работа с множественным атрибутом (N > 100) 2 1 3

Создание дочернего объекта (N < 100) 3 1 2

Создание дочернего объекта (N > 100) 2 1 3

Поиск объекта по параметрам (N < 10) 2 3 1

Поиск объекта по параметрам (N > 10) 1 2 3

Page 17: Key-Value  системы и их применение к моделям с наследованием структуры данных

Выводы Применение KV нежелательно, если1) требуется часто искать среди многих

объектов по параметрам2) имеется много одноуровневых

сущностей Применение KV наиболее выгодно при работе с иерархическими структурами с низким коэффициентом ветвления

Page 18: Key-Value  системы и их применение к моделям с наследованием структуры данных

Дальнейшая работа Оптимизация работы с большими списками Исследование возможностей ускоренного поиска по параметрам с помощью индексирования Исследование вопроса безопасности в данной системе с разработкой методов обеспечения защищенности системы

Page 19: Key-Value  системы и их применение к моделям с наследованием структуры данных

Спасибо за внимание