Дисертаційна робота присвячена розробці методів для розподілених документо-орієнтованих баз даних, які дозволяють пришвидшити узгодження даних та покращити колізійну стійкість в процесі пошуку неузгоджених даних в різноманітних мережевих інформаційних системах, таких як, IoT, гетерогенні мультикомп’ютерні системи, аналітичні системи органів адміністративного управління, фінансові системи, дослідження екологічної безпеки та природокористування та інші. Також, було реалізовано спеціальне програмне забезпечення для проведення дослідів. В результаті виконання дисертаційної роботи було отримано такі результати.
Розроблено метод забезпечення узгодженості даних у розподілених нереляційних документо-орієнтованих базах даних з використанням транзакційного годинника. Він отримує транзакції від клієнтських додатків та зберігає їх у відповідних чергах. Черги опрацьовуюються в залежності від пріоритету транзакції. При найвищому пріоритеті черга опрацьовується раніше, в порівнянні з тими, які мають нижчий пріоритет. Це дозволяє виділяти критично важливі дані (такі, як фінансові транзакції), які мають бути опрацьовані першочергово. При опрацюванні черги, транзакційний годинник об’єднує транзакції в результуючу транзакцію. Для цього він використовує час створення транзакції, що дозволяє глобально впорядковувати та об’єднувати їх в тому порядку, в якому вони були створені, а не отримані годинником. Після отримання результуючої транзакції, вона передається іншим реплікам, на яких відбувається запис. Слід зазначити, що при використанні транзакційного годинника, операції читання відбуваються напряму з реплік, що дозволяє зменшити навантаження на хостову машину.
Удосконалено метод активної антиентропії з використанням спектрального фільтру Блума та алгоритму хешування замість дерева Меркла. Його створення обумовлено тим, що класичний механізм активної антиентропії використовує багато затратних операцій хешування. Також, при хешуванні великої кількості даних збільшується вірогідність колізій, яка може вплинути на вчасну ідентифікацію неузгодженості. Якщо таке буде відбуватися, то система може знаходитись у неузгодженому стані через те, що запуск процедури узгодження розпочнеться пізніше. Тому, для розподілених нереляційних документо-орієнтованих баз даних було вирішено використати протокол пліток, який полягає у децентралізованому способі взаємодії вузлів. Це забезпечує надійність, в порівнянні з централізованим підходом, оскільки виведення з ладу одного вузла не вплине на доступність системи. Проблема використання централізованого підходу полягає в тому, що виведення головного вузла з ладу вимагає певної затримки через використання консенсусного протоколу, який використовується для обрання нового головного вузла з існуючих реплік. Децентралізований підхід дозволяє інформаційній системі бути доступною для операцій запису, хоча це ускладнює підтримку узгодженості. Для пошуку неузгодженостей використовується певний знімок, який складається зі спектрального фільтру Блума та хеш-значення.
Спеціально для розробленого методу активної антиентропії було модифіковано алгоритм формування спектрального фільтру Блума, який дозволяє пришвидшити ідентифікування неузгодженісті даних в методі активної антиентропії. Швидкість формування спектрального фільтру Блума було збільшено через використання алгоритму на основі простих чисел замість використання хеш-функцій. Результати дослідів показують, що розроблений алгоритм має вищу колізійну стійкість, ніж при використанні однієї хеш-функції та вищу швидкодію у порівнянні з використанням декількох функцій хешування.
Також, спеціально для розробленого методу активної антиентропії було розроблено спосіб хешування, який стійкий до колізій. Його мета полягає у зменшенні кількості колізій при хешуванні даних, які відрізняються за розміром. Це є дуже важлим для активної антиентропії, оскільки дозволяє вчасно знайти неузгодженість.
Реалізовано спеціальний сервіс транзакційного годинника із власним програмним інтерфейсом для можливості застосування в інформаційних системах розробленого методу забезпечення узгодженості з використанням транзакційного годинника з розподіленою базою даних MongoDB.
Реалізовано спеціальний сервіс активної антиентропії із власним програмним інтерфейсом для використання в інформаційних системах розробленого методу активної антиентропії з розподіленою базою даних MongoDB.
Реалізовано прототип фінансової інформаційної системи, в якій розподілена база даних складається з восьми вузлів. З її використанням були отримані результати дослідження розроблених методів забезпечення узгодженості даних. Програмний інтерфейс було реалізовано з використанням мови програмування Python3. Для створення тестового середовища використовувався Docker та docker-compose для оркестрації необхідними компонентами.