Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXIX Международной научно-практической конференции «Естественные и математические науки в современном мире» (Россия, г. Новосибирск, 01 апреля 2015 г.)

Наука: Информационные технологии

Секция: Теоретические основы информатики

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Цвященко Е.В. МОДЕЛЬ СОГЛАСОВАНИЯ РЕПЛИК В КОНЕЧНОМ СЧЕТЕ В БАЗАХ ДАННЫХ NOSQL // Естественные и математические науки в современном мире: сб. ст. по матер. XXIX междунар. науч.-практ. конф. № 4(28). – Новосибирск: СибАК, 2015.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

 

МОДЕЛЬ  СОГЛАСОВАНИЯ  РЕПЛИК  В  КОНЕЧНОМ  СЧЕТЕ  В  БАЗАХ  ДАННЫХ  NOSQL

Цвященко  Евгений  Васильевич

аспирант  Московский  государственный  технический  университет  им.  Н.Э.  Баумана,  РФ,  г.  Москва

E -maileugene.tsviashchenko@gmail.com

 

MODEL  OF  REPLICAS  AGREEMENT  EVENTUALLY  IN  NOSQL

DATABASES

Tsviashchenko  Evgeny

postgraduate  student  Bauman  Moscow  state  technical  university,  Russia,  Moscow

 

АННОТАЦИЯ

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

ABSTRACT

In  this  paper  the  model  of  replicas  agreement  eventually  in  NoSQL  databases  was  described.  The  estimate  of  probability  that  in  the  process  of  updating  N  replicas  arrive  at  least  one  requirement  to  read  from  the  unpatched  replicas  was  obtained.  This  takes  into  account  both  synchronous  and  asynchronous  methods  of  distribution  changes.  The  nature  experiment  was  made  on  up  to  25  nodes  cluster  in  order  to  proof  model  adequacy.

 

Ключевые  слова:  база  данных  NoSQL;  согласованность  в  конечном  счете;  преобразование  Лапласа-Стилтьеса;  производящая  функция,  вероятность  доступа;  адекватность.

Keywords:  NoSQL  database;  eventually  consistency;  Laplas-Stiltes  transformation;  generating  function;  access  probability;  adequacy.

 

Современные  распределенные  хранилища  данных  должны  быть  масштабируемыми,  доступными  и  быстрыми.  Эти  системы,  как  правило,  распределяют  данные  между  различными  машинами  (и  часто  через  центры  обработки  данных)  по  двум  причинам:  во-первых,  для  обеспечения  высокой  доступности  в  случае  отказа  компонентов  и,  во-вторых,  чтобы  обеспечить  высокую  производительность  обработки  запросов  на  нескольких  репликах.  Такие  системы  баз  данных,  построенные  на  парадигме  распределенных  хранилищ  «ключ/значение»,  получили  название  NoSQL  (Not-Only-SQL)  [1].  Основными  преимуществами  этих  систем  являются:  высокая  масштабируемость  (Hadoop  —  4000  узлов,  Riak  —  6000  узлов),  большое  число  реплик,  а,  следовательно,  высокая  надежность.

В  базах  данных  NoSQL  не  поддерживается  режим  ведения  транзакций,  поэтому  возникает  проблема  согласования  данных.  Поддержание  требуемого  уровня  согласованности  для  каждой  конкретной  предметной  области  может  регулироваться  параметрами  (N,  W,  R)  [2].  Согласованность  в  конечном  счете  существенно  уменьшает  время  реакции  системы,  но  в  таких  системах  всегда  присутствует  определенная  вероятность  доступа  к  рассогласованным  данным,  т.  к.  реплики  будут  согласованы  только  через  некоторое  время  распространения  обновлений. 

Задача  состоит  в  том,  чтобы  оценить  вероятность,  что  в  процессе  обновления  N  реплик  поступит  хотя  бы  одно  требование  на  чтение  из  необновленных  реплик.  Необходимо  учитывать  синхронный  и  асинхронный  способы  распространения  изменений.  Также,  нужно  доказать  адекватность  модели,  проведя  соответствующие  натурные  эксперименты.

На  рис.  1  графически  показаны  варианты  распространения  изменений  в  базах  данных  NoSQL:  синхронный  режим  (рис.  1а)  и  асинхронный  режим  (рис.  1б). 

 

Рисунок.  1.  Варианты  распространения  изменений:  а)  синхронный  режим;  б)  асинхронный  режим

 

Рассмотрим  синхронный  режим.  В  работе  [3]  разработана  модель  согласования  реплик  в  конечном  счете  для  случая  синхронного  режима  распространения  изменений  (W=R=1).  Для  этого  режима  была  получена  вероятность  P,  что  в  процессе  обновления  N  реплик  поступит  хотя  бы  одно  требования  на  чтение  из  необновленных  реплик:

 

,

(1)

i=0...(N-1),

(2)

 

где  N+1  —  общее  число  реплик  для  обновляемой  записи  (начальное  изменение  записи  выполняется  на  (N+1)-ой  реплике),  λ  —  интенсивность  чтения  (пуассоновский  входящий  поток)  записи  из  каждой  реплики  (1…N),  на  которую  распространяется  обновление,  Ψi+1(s)  —  преобразование  Лапласа-Стилтьеса  (ПЛС)  функции  распределения  вероятностей  времени  обновления  (i+1)-ой  реплики  [3].  Для  получения  ПЛС  Ψi+1(s)  процесс  обновления  реплик  был  разделен  на  две  составляющие:  сетевую  (передача  данных  по  сети)  и  локальную  (обновление  структур  памяти  и  файлового  хранилища). 

Рассмотрим  асинхронный  режим.  В  работе  [4]  разработана  модель  согласования  реплик  в  конечном  счете  для  случая  асинхронного  режима  распространения  изменений  (W=R=1).  Для  этого  режима  была  получена  следующая  оценка  вероятности  H,  что  в  процессе  асинхронного  обновления  N  реплик  поступит  хотя  бы  одно  требование  на  чтение  из  необновленных  реплик:

 

,

(3)

 

где  Λi(s)  —  ПЛС  сетевой  составляющей  времени  обновления  i-ой  реплики,  полученное  в  [3]. 

Модельные  эксперименты  показали,  что  при  малых  N  (порядка  3)  и  незагруженной  высокоскоростной  сети  передачи  данных  (1  Гбит/с)  система  NoSQL  позволяет  обеспечить  свойство  согласованности  по  чтению  на  уровне  0,99  (двух  девяток)  при  синхронном  режиме  распространения  изменений,  и  на  уровне  трех  девяток  при  асинхронном  режиме. 

Для  доказательства  адекватности  модели  был  проведен  натурный  эксперимент  на  кластере  Riak  [5]  размером  до  25  виртуальных  узлов.  Для  проведения  испытаний  были  арендованы  виртуальные  узлы,  предоставленные  компанией  Digital  Ocean  [6].  Из  описания  процесса  обновления  реплик  в  системе  NoSQL  Riak  [5]  можно  сделать  вывод  о  синхронном  характере  распространения  изменений.  При  инициализации  узла  доступно  несколько  опций,  среди  которых  можно  выделить  опцию  private  networking.  При  включении  данной  опции  все  узлы,  арендованные  пользователем,  гарантированно  находятся  в  одном  центре  обработки  данных  (ЦОД),  что  означает  отсутствие  подкластеров  сети.  Использовалась  операционная  система  Ubuntu  Server  14.04  [7],  предустановленная  поставщиком.  Для  выполнения  последовательного  чтения  и  записи  были  разработаны  соответствующие  прикладные  программы.  Riak  предоставляет  библиотеки  для  доступа  к  системе  на  следующих  языках:  Java,  Erlang,  Pyton,  Ruby,  из  которых  была  выбрана  библиотека  Java.  Java-приложения  транслируются  в  промежуточный  байт-код,  который  исполняется  на  любой  виртуальной  машине.  Все  процессы  чтения  и  записи  выполнялись  непосредственно  на  узлах. 

Основываясь  на  теореме  Ляпунова  [8],  было  получено  минимальное  число  итераций,  необходимое  для  достижения  требуемой  точности  оценки  вероятности  при  надёжности  0,95.  Число  итераций  составило  4000.  От  эксперимента  к  эксперименту  менялась  интенсивность  поступления  требований  на  чтение  и  количество  узлов  N.  Всего  было  проведено  две  серии  экспериментов  по  16  испытаний  в  каждой.  Значения  некоторых  параметров  модели  такие,  как  интенсивность  передачи  данных  внутри  сегмента  сети,  интенсивность  чтения  данных  из  оперативной  памяти  и  др.,  сложно  оценить  до  проведения  испытаний.  Это  связано  с  тем,  что  один  физический  узел  объединяет  несколько  виртуальных  узлов,  с  которыми  работают  много  пользователей,  что  свидетельствует  о  наличии  фоновой  загрузки  ресурсов.  Для  оценки  неизвестных  параметров  модели  часть  экспериментальных  данных  использовалась  для  решения  вариационной  задачи  методом  наискорейшего  спуска  [9]. 

В  табл.  1  представлены  результаты  натурных  и  модельных  экспериментов,  позволяющие  судить  об  адекватности  разработанной  модели  согласования  реплик  в  конечном  счете  в  базах  данных  NoSQL.  Анализировались  те  экспериментальные  значения,  которые  не  использовались  при  адаптации  модели. 

Таблица  1.

Анализ  адекватности  модели

N

λ  (1/с)

Вероятность  P  (см.  (1))

Относительная

погрешность

Эксперимент

Модель

3

15

0.03900

0.04494

0.13227

20

0.06450

0.05947

0.07794

8

15

0.22325

0.24112

0.07413

20

0.32400

0.30780

0.04998

16

5

0.32475

0.29351

0.09619

10

0.53850

0.50087

0.06987

24

5

0.37450

0.53533

0.30044

7

0.47050

0.65802

0.28498

4

16

0.11750

0.13461

0.12712

20

0.15500

0.16533

0.06249

24

0.18470

0.19496

0.05263

28

0.22100

0.22354

0.01136

6

7

0.12975

0.12439

0.04134

12

0.20325

0.20364

0.00193

17

0.27350

0.27573

0.00807

22

0.35750

0.34128

0.04536

 

Средняя  относительная  погрешность  по  двум  сериям  экспериментов  составила  9  %.  Из  табл.  1  видно,  что  погрешность  увеличивается  с  ростом  N.  Это  можно  объяснить  увеличением  влияния  фоновой  нагрузки.  В  реальной  ситуации  значение  N  редко  устанавливают  выше  10,  поэтому  большая  погрешность  при  N=24  не  является  критичной.

 

Список  литературы:

1.NoSQL.  [Электронный  ресурс].  —  Режим  доступа.  —  URL:  http://ru.wikipedia.org/wiki/NoSQL  (дата  обращения  22.03.2015).

2.Редмон  Э.,  Уилсон  Д.Р.  Семь  баз  данных  за  семь  недель.  Введение  в  современные  базы  данных  и  идеологию  NoSQL.  М.:  ДМК  Пресс,  2013.  —  384  с.

3.Григорьев  Ю.А.  Цвященко  Е.В.  Анализ  характеристик  согласования  реплик  в  конечном  счете  в  базах  данных  NoSQL  //  Информатика  и  системы  управления.  —  2014.  —  №  3.  —  С.  3—11.

4.Григорьев  Ю.А.  Цвященко  Е.В.  Сильная  и  слабая  согласованность  в  базах  данных  NoSQL  //  Информатика  и  системы  управления.  —  2014.  —  №  4.  —  С.  14—23.

5.Riak  documentation.  [Электронный  ресурс].  —  Режим  доступа.  —  URL:  http://docs.basho.com/index.html  (дата  обращения  22.03.2015).

6.Digital  Ocean.  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  https://www.digitalocean.com  (дата  обращения  22.03.2015).

7.Ubuntu  OS  14.04.  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  http://releases.ubuntu.com/14.04  (дата  обращения  22.03.2015).

8.Теорма  Ляпунова.  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  https://ru.wikipedia.org/wiki/Теорема_Ляпунова  (дата  обращения  22.03.2015).

9.Метод  наименьших  квадратов.  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  https://ru.wikipedia.org/wiki/Метод_наименьших_квадратов  (дата  обращения  09.03.2015).+

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий