Научная статья на тему 'АНАЛіЗ ЧАСТКОВОГО ВИРіШЕННЯ ПРОБЛЕМИ ТЕОРЕМИ БРЮєРА В СХОВИЩАХ ДАНИХ В ОПЕРАТИВНіЙ ПАМ’ЯТі'

АНАЛіЗ ЧАСТКОВОГО ВИРіШЕННЯ ПРОБЛЕМИ ТЕОРЕМИ БРЮєРА В СХОВИЩАХ ДАНИХ В ОПЕРАТИВНіЙ ПАМ’ЯТі Текст научной статьи по специальности «Экономика и бизнес»

CC BY
137
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
ScienceRise
Область наук
Ключевые слова
ТЕОРЕМА БРЮєРА / BREWER THEOREM / IMDG / КОНСИСТЕНТНіСТЬ / іНДЕКС / INDEX / ДОСТУПНіСТЬ / РОЗПОДіЛЕНіСТЬ / KEY-VALUE / ОПЕРАТИВНА ПАМ'ЯТЬ / CONSISTENCY / AVAILABILITY / DISTRIBUTION / RAM

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Добровольський О.Ю.

Key-value сховища даних в оперативній пам’яті об’єднують в собі підходи BASE-систем і алгоритми оновлення індексів, що розраховувались з метою роботи в глобальній мережі. Теорема Брюєра, під яку підпадають такі сховища, стверджує що не можливо забезпечити одразу три головні властивості таких систем. Для підвищення консистентності без шкоди для горизонтального масштабування системи пропонується використання синхронних індексів

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Analysis of partial solution of the problem of the Brewer theorem in in-memory data grid

Key-value memory data grids combines approaches of BASE-systems and algorithms for updating indexes, that were calculated for the purpose of work in the global network. Brewer theorem, which includes such grids, argues that it’s not possible to provide at once three main properties of such systems. In order to increase the consistency, it’s purposed to use synchronous indexes for horizontally scaling indexes

Текст научной работы на тему «АНАЛіЗ ЧАСТКОВОГО ВИРіШЕННЯ ПРОБЛЕМИ ТЕОРЕМИ БРЮєРА В СХОВИЩАХ ДАНИХ В ОПЕРАТИВНіЙ ПАМ’ЯТі»



ТЕХН1ЧН1 НАУКИ

V

УДК 004.652.4

DOI: 10.15587/2313-8416.2017.108420

АНАЛ1З ЧАСТКОВОГО ВИР1ШЕННЯ ПРОБЛЕМИ ТЕОРЕМИ БРЮ6РА В СХОВИЩАХ ДАНИХ В ОПЕРАТИВН1Й ПАМ'ЯТ1

© О. Ю. Добровольський

Key-value сховища даних в оперативнт пам'ят1 об 'еднують в соб1 тдходи BASE-систем i алгоритми оновлення iHdeKcie, що розраховувались з метою роботи в глобальнш мережi. Теорема Брюера, nid яку niдnадають так сховища, стверджуе що не можливо забезпечити одразу три головнi властивостi таких систем. Для niдвищення консистентностi без шкоди для горизонтального масштабування системи пропонуеться використання синхронних iндексiв

Ключовi слова: теорема Брюера, 1MDG, консистенттсть, тдекс, доступнкть, розподшетсть, key-value, оперативна пам'ять

1. Вступ

Реляцшш бази даних зобов'язаш задовольняти вимоги ACID [1] (atomicity, consistency, isolation, durability), тобто ключовим поняттям в таких системах е транзакция, як група об'еднаних послщовних операцш з базою даних. Транзакщя не може бути ви-конана частково, не порушуе узгоджешсть системи, не впливае на одночасну роботу шших транзакцш [2]. Крiм того, виконаш усшшною транзакщею змши не повиннi бути втраченi внаслвдок будь-яких збо!в системи (наприклад, знеструмлення або збою в обла-днанш). Цi вимоги добре вiдповiдають традицшним бiзнес-моделям, проте повною мiрою реалiзувати !х в розподiлених системах, з урахуванням необхiдноi швидкодii, вкрай складно.

2. Лггературний огляд

Теорема Брюера, стверджуе, що розподшена система здатна забезпечити не бшьше двох з трьох властивостей: консистентнiсть, доступнiсть, стшшсть до розподiлу (Consistency, availability, partition tolerance) [3]. Кожна з цих властивостей е важливою для сучасних систем [4], тому вщбуваються пошуки можливих рiшень теореми i забезпечення вiх трьох властивостей в повному обсязi [5].

Сучаснi сховища типу ключ-значення спроек-тованi з урахуванням теореми Брюера [6]. За сучас-ною квалiфiкацiею такi сховища вщносяться до BASE-систем [7]. Вони забезпечують «базову досту-пшсть» i «узгоджешсть в шнцевому рахунку» даних, що зберпаються [8]. Це дозволяе забезпечити високу потенцшну масштабованiсть i здатшсть системи до ефективного функцiонування при великих ввдстанях мiж вузлами. Однак значна частина реальних випад-шв використання таких сховищ демонструе розгор-

тання системи в рамках одше! високошвидкiсноi локально! мережi передачi даних. В таких умовах шта-тнi механiзми iндексування розподiлених сховищ, розраховаш на роботу в глобальнш мережi з великими затримками, стають неефективними i призводять до надшрних затримок в оновленi iндексiв, а, отже, до втрати консистентносп мiж iндексами i iндексо-ваними даними.

3. Мета та задачi дослiдження

Мета дослщження - розробка методу тдви-щення консистентностi i доступностi даних, що шс-тяться в розподшених сховищах даних в оперативнiй пам'яп типу «ключ-значення» без втрати стшкосп таких сховищ до подiлу.

Для досягнення мети були поставленi наступи

задачi:

1. Описати метод синхронного шдексування.

2. Реалiзувати модель для тестування методу.

4. Вир1шеммя проблеми консистентносп за рахунок синхронних шдекмв

4.1. Опис методики синхронного iндексування

У дослiдженнi для пiдвищення консистентнос-тi i доступностi даних в розподшених сховищах типу «ключ-значення» пропонуеться ввести синхронш ш-декси за вторинними полями. Вибiр структури такого шдексу повинен, з одного боку, максимально вщпо-вiдати iдеологii' зберйання даних, а з iншого - забезпечити швидкий i сумюний результат призначеного для користувача запиту. При цьому iндекс повинен задовольняти наступш вимоги:

- здатнiсть забезпечити швидкий спещальний пошук по значениям необхшних параметрiв;

- високою швидкодiею оновлення iндексу;

- безперервно! узгодженiстю iндексу i збере-жених даних;

- мати якомога меншi накладнi витрати.

Базовою структурою даних в документ-

орieнтованих сховищах е розподiлена хеш-таблиця [9]. Така концепция пiдходить i для зберiгання iндексу, тому що вiн ставить у ввдповвдшсть одному ключу без-лiч значень. Однак, в разi, коли одне i те ж значения, що шдексуеться поля мае безлiч документа, запис в iндексi буде занадто великий. В цьому випадку для полегшення операцiй пошуку i ввдновлення окремих дiлянок iидексу рекомендуеться сегментувати iндекс, тобто розбити кожен запис на сегменти таким чином, щоб розмiр кожного сегмента був невеликим.

У загальному виглядi структура сегмента шде-ксу представлена на рис. 1. Такий сегмент збертаеть-ся як звичайний документ, що тдвищуе ушверсаль-нiсть шдходу i легкiсть його впровадження.

Сегментувати iндекси можна за рiзними принципам. У раз^ коли одному значенню iндексованого поля вiдповiдае дуже багато документiв, запис роз-биваеться на кшька частин. В разi ж, коли одному значенню вщповщае мало документiв, записи можна об'еднувати, розробивши правило, що дозволяе по необхщному значенню поля отримати щентифжатор iндексного запису. На рис. 2 представлений приклад такого шдексу з об'еднаними записами, що представ-ляе програму телепередач.

Рис. 1. Загальний вид сегмента синхронного шдексу

Рис. 2. Приклад синхронного шдексу з об'еднанням запиав в сегмента

У цьому iндексi передбачаються користувацькi запити виду «отримати ва телепередачi, активнi в заданий промiжок часу на даному каналi ». Для оброб-ки таких запитiв використаний складений ключ, що включае iдентифiкатор каналу i час. Оскiльки в один момент часу на заданому каиалi може бути активна пльки одна програма, для економii пропонуеться ви-користовувати один сегмент для певного штервалу часу (в приклащ - години), протягом якого iснують активнi телепередача

Тодi, крiм iдентифiкатора програми, необхвдно також зберiгати дiйсний час и початку i тривалiсть, щоб точно знати, активна вона в заданий перюд часу всерединi заданого промiжку.

При такому пiдходi одна i та ж програма може зус^чатися в декiлькох iндексних записах, якщо вона активна вiдразу в декшькох промiжках часу. З iншого сторони, запропонована структура зручна при пошуку даних для дiапазону iндексних значень: знаючи граиицi часового промiжку, можемо ввдразу обчислити вденти-

фшатори сегмента, використовуючи потгм найшвид-ший метод пошуку по ключу. У pa3i, коли iндексованi значення не володшть вираженою перiодичнiстю, але потрiбно забезпечити пошук по даиазону значень, ре-комендуеться використовувати деревовидт структури, в вузлах що мютять iдентифiкатори сегментiв (рис. 3). При цьому не рекомендуеться використовувати В + дерева, як це робиться в реляцшних базах даних. Як показано в [10], В + не забезпечуе ефективну роботу сис-теми управлiння базою даних в оперативнш пам'ятi, тому в данш роботi використанi червоно-чорш дерева.

Рис. 3. Деревоподiбна структура для пошуку дiапазонна ш-дексних значень

4.2. Алгоритм поновлення шдексу Для оновлення iндексiв при додаванш нових або оновлення iснуючих документа пропонуеться виконувати наступний алгоритм: спочатку робиться спроба пошуку по ключу старо! верси даного документа, вже записаною в даному сховищг Потiм обчи-слюються iндекснi записи для старо! i ново! версш об'екта. Пiд iндексним записом тут розумiеться еле-ментарна структура, яка мютить iм'я iндексу, щенти-фшатор сегмента, до якого вiдноситься даний запис i данi, якi повинш бути записанi в iндекс (рис. 4).

Рис. 4. Структура шдексного запису

Виконуеться обчислення рiзницi множини ста-рих i нових iндексних записiв (якщо об'екта з даними щентифжатором ранiше не було в сховищi - множи-на старих iндексних записiв приймаеться порож-ньою). Попм для iндексних записiв, вже не присутшх в новому документ^ виконуеться видалення, а для запиав, новопосталих - додавання в сегмент.

5. Результати дослвдження Для вщпрацювання методики синхронного ш-дексування було вибрано розподiлене документ-орiентоване сховище Couchbase. Дане сховище де-монструе високi швидкостi читання / запису документа по ключу, але мае досить недосконалим меха-шзм виконання бiльш складних призначених для ко-ристувача запитiв (рис. 5).

Рис. 5. Алгоритм оновлення шдексу при додаванш документа

Для пошуку довшьно! шформацп Couchbase пропонуе концепцш видiв (views), тобто функцiй на JavaScript, за допомогою яких користувач сховища визначае змют iндексних запиав. Процес оновлення видiв запускаеться тшьки пiсля додавання 5000 но-

вих докуменлв або по заинченню п'яти секунд шс-ля додавання документа, i займае, для великого схо-вища, до десяти хвилин. Шд час оновлення видiв запити до них вщпрацьовують, повертаючи неакту-альнi (застарiлi) данi. При цьому пошук документа по ключу завжди вибирае актуальну версiю документа. Таким чином, враховуючи частоту операцш додавання докуменлв, Couchbase може служити яск-равим прикладом узгодженосп в кiнцевому рахун-ку, демонструючи вiдсутнiсть про вiдсутнiсть кон-систентносп мiж видами i зображеними ними документами.

Наведемо приклад тако! ситуацп. Припустимо, вид вiдображае документи по вмюту !х поля «кол!р». Якийсь документ з iдентифiкатором ID42 мютив в цьому полi значения «зелений», що знайшло свое вь дображення вiдповiдним видом, в якому значенню «зелений» був зiставлений iдентифiкатор ГО42. Потiм документ з ID42 був оновлений, i в новiй версп поле «колiр» змiнило значення на «синш», а, через деякий перюд, почалося оновлення виду.

Якщо користувач в перюд з моменту оновлення документа до закшчення процесу оновлення виду спробуе, скориставшись вбудованими мехашзмом, знайти документ з кольором «зелений», вiн отримае

iдентифiкатор ID42. При цьому, пошук документом та по ID42 поверне оновлений документ з кольором «Синш». Таким чином, часп операцп оновлення при-зводять сховище в не консистентний стан, унемож-ливлюючи пошук по чому-небудь, крiм вдентифша-торiв документiв.

В експерименп використовувалися три шдек-си рiзних типiв: iндекс точно! вщповщносп значення поля (iндекс А), шдекс вiдповiдностi значенню часо-вих дiапазонiв (iндекс Б), i iндекс значень з можливь стю пошуку по дiапазону (iндекс В).

Робота з синхронними iндексами була реалiзо-вана за допомогою ктентсько! бiблiотеки Couchbase Java SDK 2.1 на ментськш сторонi. Couchbase сервер складався з двох вузлiв, розмiщених в однш ло-кальнiй мережi з ктентом.

Методика експерименту передбачала додавання в кожен iндекс швмшьйона записiв, потiм 10 тисяч операцш вибiрок, потiм додавання ще швм№йона записiв (перекриття iдентифiкаторiв 25 %) з безпере-рвним виконанням десяти тисяч запипв.

Поведiнка кожного iндексу порiвнювався з по-ведiнкою вщповщного виду (view), що виконував п ж завдання. Результати експерименту наведеш в табл. 1.

Таблиця 1

Результати вимiрiв часу виконання i неконсистентностi результапв виконання запитiв_

1ндекси / види Додавання 0,5 106 запиав, с Виконання 104 запипв, с Оновлення iндекса i виконання запипв, с Кшьшсть неконси-стентних результапв, с

1ндекс А 90 100 150 0

1ндекс В 95 107 174 0

1ндекс В 184 115 336 0

1ндекс А,Б,В 187 110 283 0

Вид А 61 94 324 110

Вид Б 61 115 321 143

Вид В 62 110 335 214

Вид А,Б,В 63 107 542 178

6. Обговорення результат дослiдження

Як видно, час запису докуменлв у порожне сховище при використанш механiзму синхронного iндексування в 1,5-2 рази вище, шж час аналогiчною операцi! з використанням видiв. Це пояснюеться тим, що асинхронна перебудова вдекав запускаеться трохи шзшше додавання, забезпечуючи менше нава-нтаження на апаратне забезпечення. Найпов^шше йде додавання в дiапазоннi iндекси, що вимагають три операцi! запису i двi операцп читання для запису одного об'екта.

Виконання запипв на в№ному вщ iнших задач сховищi виконуеться приблизно однаково, як за допомогою view, так i за допомогою синхронних ш-дексiв з невеликим випередженням перших.

Нарешл, пiд час одночасного завантаження i читання даних асинхроннi шдекси показують

уповiльнення продуктивностi блокувань при оно-вленнi.

7. Висновки

1. Метод синхронного iндексування розподь лених документ-орiентованих сховищ даних показав свою придатшсть за умови, що ктент i сервер знахо-дяться в однш локальнш мереж!.

2. Запропонований метод дозволив домогтися шдвищення швидкосп обробки запитiв, i, одночасно, консистентносп !х результатiв при одночаснiй загру-зш даних в сховищ!. Синхронний шдекс, що дозволяе запити по дiапазонами, показав зменшення швидкос-п обробки запиту у пор!внянш з асинхронними шде-ксами, тому такий вид iндексу рекомендуеться вико-ристовувати тшьки в тому випадку, коли узгодже-шсть iндексiв мае першорядне значення.

.HiTepaTypa

1. Cattell, R. Scalable SQL and NoSQL data stores [Text] / R. Cattell // ACM SIGMOD Record. - 2011. - Vol. 39, Issue 4. -P. 12-27. doi: 10.1145/1978915.1978919

2. Gray, J. The Transaction Concept: Virtues and Limitations [Text] / J. Gray // Proceedings of the 7th International Conference on Very Large Databases. - 1981. - P. 144-154.

3. Brewer, E. CAP twelve years later: How the "rules" have changed [Text] / Computer. - 2012. - Vol. 45, Issue 2. - P. 2329. doi: 10.1109/mc.2012.37

4. Gilbert, S. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services [Text] / S. Gilbert, N. Lynch // ACM SIGACT News. - 2002. - Vol. 33, Issue 2. - P. 51-59. doi: 10.1145/564585.564601

5. Birman, K. Overcoming CAP with Consistent Soft-State Replication [Text] / K. Birman, D. Freedman, Q. Huang, P. Dowell // Computer. - 2012. - Vol. 45, Issue 2. - P. 50-58. doi: 10.1109/mc.2011.387

6. Gilbert, S. Perspectives on the CAP Theorem [Text] / S. Gilbert, N. Lynch // Computer. - 2012. - Vol. 45, Issue 2. -P. 30-36. doi: 10.1109/mc.2011.389

7. Pritchett, D. BASE: an ACID alternative [Text] / D. Pritchett // Queue. - 2008. - Vol. 6, Issue 3. - P. 48-55. doi: 10.1145/1394127.1394128

8. Bailis, P. Eventual consistency today [Text] / P. Bailis, A. Ghodsi // Communications of the ACM. - 2013. - Vol. 56, Issue 5. - P. 55-63. doi: 10.1145/2447976.2447992

9. Gupta, M. K. In-Memory Database Systems - A Paradigm Shift [Text] / M. K. Gupta, V. Verma, M. S. Verma // International Journal of Engineering Trends and Technology. - 2013. - P. 333-336.

10. Шапоренков, Д. А. Эффективные методы индексирования данных и выполнения запросов в системах управления базами данных в основной памяти [Текст]: дис. канд. физ.-мат. наук / Д. А. Шапоренков. - СПб., 2006. - 126 с.

Рекомендовано до публгкацИ д-р техн. наук Бузовський О. В.

Дата надходженнярукопису 20.06.2017

Добровольський Олександр Юршович, кафедра обчислювально! техшки, Нацюнальний техшчний

ушверситет Укра!ни «Ки!вський полггехшчний шститут iм. 1горя Сжорського», пр. Перемоги, 37,

м. Ки!в, Укра!на, 03056

E-mail: dobrunya777@gmail.com

УДК 536.62

Б01: 10.15587/2313-8416.2017.108935

АНАЛ1З АПРОКСИМАЦП РЕЗУЛЬТАТ1В ВИМ1РЮВАННЬ ТЕПЛОВОГО ПОТОКУ БОМБОВОГО КАЛОРИМЕТРА В НЕСТАЦ1ОНАРНОМУ РЕЖИМ1

© В. П. Бабак, А. О. Запорожець, О. О. Назаренко, О. О. Редько

До^джено принцип функцюнування бомбового калориметра та методи визначення теплоти згорання палива. Проведет експериментальт до^дження по визначенню теплоти згорання дерев 'яних пелетiв. На основi проведених до^джень показанi потенцiальнi зони скорочення часу встановлення показiв ре-зультатiв вимiрювання бомбового калориметра. Запропоновано метод скорочення часу вимiрювання теплоти згорання палива та проаналiзованi його iмовiрнiснi характеристики

Ключовi слова: бомбовий калориметр, теплота згорання палива, ттерполяцшш функцИ, коефщент детермiнацii

1. Вступ

Забезпечення енергоефективносп та енергоз-береження е одним iз прюритетних напрямiв розвит-ку сучасного шовацшно-технолопчного суспшьства. На тдприемствах рiзних сфер промисловосп для контролю енергетично! ефективносп багатьох техшч-них засобiв та оцшки теплотворно! здатносп палив в обов'язковому порядку використовуються калориме-тричш установки. Тому виршення проблем метроло-пчного забезпечення вимiрювань, що характеризуются теплотворну здатнють енергетичних ресурав, е одним iз стратепчних завдань розвитку промисловосп, зокрема паливно-енергетичного сектору. Пере-хвд на новий технiко-економiчний рiвень облшу тра-нспортування та постачання енергоресурав за енер-гетичними показниками вимагае виршення комплексу важливих науково-техшчних проблем, орiентова-них на вдосконалення взаемопов'язаних еталошв, оснащення шдприемств новггшми приладами та методами обл^ енергетичних параметрiв та досягнен-

ня сучасного рiвня метрологiчного забезпечення таких прилащв.

2. Лiтературний огляд

До тепершнього часу на бiльшостi тдпри-емств для визначення теплотворно! здатносл рiзних видiв енергетичних палив в основному використову-еться бомбовий адiабатичний калориметр спалюван-ня В2-08 [1, 2]. Випускаються також iншi марки ка-лориметрiв, наприклад, АБК-1, що е аналогами В2-08. Вони базуються на вимiрюваннi змiни температу-ри калориметрично! рiдини при спалюваннi речовини в сосудi («бомбi»), що розмщуеться в цiй рiдинi [3]. Процес вимiрювання е достатньо довгим (складае близько 30-40 хвилин) i в його основi лежать емт-ричш формули алгоритму перетворення змiни тем-ператури в кiлькiсть теплоти. Процес вимiрювання на цих калориметрах проходить в нашвавтоматич-ному режимi i вимагае для роботи квалiфiкованого оператора.

i Надоели баннеры? Вы всегда можете отключить рекламу.