Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211. ISSN 1994-0408
Анализ адекватности модели согласования версий записи в базах данных NoSQL
# 03, март 2015 DOI: 10.7463/0315.0761977
Файл статьи:
SE-BMSTU...o206.pdf
(820.73Кб)
В статье исследуется модель согласования версий записи. Целью данной работы является анализ адекватности модели. Данная модель позволяет оценить распределение времени обработки пользователями версий записи и распределение числа версий записи. Используется вариант модели, согласно которому, время обработки клиентом версий записи зависит в явном виде от количества обновлений, выполненными другими клиентами между последовательными обновлениями текущим клиентом. Для доказательства адекватности был выполнен натурный эксперимент в облачном кластере – 10 виртуальных узлов, предоставленные компанией DigitalOcean. В качестве операционной системы (ОС) использовалась ОС Ubuntu Server 14.04, предустановленная поставщиком. Для эксперимента была выбрана NoSQL система Riak. В версии Riak выше 2.0 доступны «точечные векторы версий» (DVV), которые являются расширением вектора часов. При их использовании гарантируется, что количество версий, одновременно хранящихся в БД, не будет превышать число клиентов, параллельно работающих с записью, что очень важно при проведении экспериментов. Для написания прикладной программы использовалась java-библиотека, предоставленная Riak. Процессы запускались непосредственно на узлах. В эксперименте использовались две записи базы данных: Z и RZ. Z – запись, версии которой обрабатывают пользователи; RZ – служебная запись, содержащая счетчики обновлений записи. Алгоритм работы прикладной программы можно кратко описать следующим образом: каждый клиент считывает версии записи Z, обрабатывает ее обновления, используя счетчики записи RZ, и сохраняет обработанную версию в БД, при этом, старые версии удаляются. Затем пользователь повторно читает запись RZ и увеличивает счетчики обновлений для других клиентов, после чего, перечитывает запись Z и сохраняет необходимую статистику и обдумывает результаты обработки. В случае возникновения конфликта из-за одновременных обновлений записи RZ пользователь получает все версии этой записи и объединяет информацию из них, используя специальный алгоритм. Было выполнено 4 серии по 5 экспериментов в каждой серии. От эксперимента к эксперименту менялись следующие данные: число клиентов и k – отношение среднего времени обдумывания к среднему времени обработки одного обновления. Средняя относительная погрешность оценки среднего числа версий записи составила 7,5%, дисперсии – 5,5%. Получена очень небольшая погрешность оценки среднего значения времени обработки версий записи, которая составила 0,22%. Список литературы
Публикации с ключевыми словами: адаптация, адекватность, база данных NoSQL, версии записи, вектор часов, согласованность Публикации со словами: адаптация, адекватность, база данных NoSQL, версии записи, вектор часов, согласованность Смотри также:
Тематические рубрики: Поделиться:
|
|
||||||||||||||||||||||||||||||||||
|