Модели процессов согласования реплик в базах данных Nosql



Download 2,9 Mb.
Pdf ko'rish
bet31/67
Sana29.03.2022
Hajmi2,9 Mb.
#516795
TuriАнализ
1   ...   27   28   29   30   31   32   33   34   ...   67
Bog'liq
193-Диссертация

2.3.
 
Разработка модели процесса ведения версий записи 
Рассмотрен процесс ведения версий записи с использованием вектора часов 
как один из способов разрешения конфликтов, вызванных отсутствием 
блокировок в базах данных NoSQL. Показано, что возникает задача оценки 
нагрузки на пользователя в зависимости от числа пользователей, одновременно 
работающих с записью. 
2.3.1.
 
Ведение вектора часов в базах данных NoSQL
При отсутствии механизма блокировок записей БД пользователи NoSQL 
могут читать, а потом одновременно обновлять запись с одним и тем же ключом. 
В этом случае система будет хранить несколько версий данной записи. Возникает 
проблема согласования версий (конфликт обновления). Базы данных NoSQL 
поддерживают механизм ведения вектора часов (Vector Clock - VC) для каждой 


65 
хранящейся в БД версии записи, который содержит информацию о пользователях, 
выполнявших изменения данной версии записи. При чтении пользователь 
получает все версии записи с данным ключом, обрабатывает их и сохраняет 
новую версию записи, при этом старые версии удаляются из базы данных. При 
увеличении числа версий записи возрастает время их согласования клиентами 
(просмотр и объединение).
Векторные часы – это последовательность пар <пользователь, номер версии 
записи для этого пользователя>, которая описывает порядок обновления этой 
записи. Рассмотрим механизм ведения вектора часов на примере базы данных 
Riak [19]. Ниже приведены алгоритмы формирования векторных часов и 
обновления записей, описанные в [14, 18]. 
Пусть {A
i
} – множество идентификаторов пользователей (клиентов), 
обновляющих записи базы данных. Рассмотрим два варианта. 
Случай 1
. Пользователь A
m

{A
i
} добавляет новую запись. Для этой записи 
база данных установит следующий вектор часов: VC= A
m
[1], где 1 – номер версии 
записи для пользователя A
m

Случай 2
. Пользователь A
m
читает запись по ключу, а затем обновляет ее. 
Ниже приведены алгоритмы формирования вектора часов и обновления записи в 
базе данных для этого случая (алгоритмы 1 и 2). 
1.
Алгоритм 1 формирования вектора часов VC новой версии записи. 
Вход: A
m
– идентификатор пользователя, который читает запись, VC
n

{Ai[j]}
n
- вектор часов прочитанной пользователем A
m
n-ой версии записи (при 
чтении пользователь A
m
получает все версии записи с тем же ключом), {VC
n
} – 
множество векторов часов всех n версий записи, хранящихся в базе данных. 

Download 2,9 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   67




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish