Опубліковано СУБД immudb 1.0, що забезпечує захист від спотворення даних

Представлено значний випуск СУБД immudb 1.0, що гарантує незмінність і збереження всіх доданих даних, а також забезпечує захист від внесення змін заднім числом і дає можливість криптографічного доказу володіння даними. Спочатку проект розвивався як спеціалізоване NoSQL-сховище, що маніпулює даними у форматі ключ/значення, але з випуску 1.0 immudb позиціонується як повноцінна СУБД з підтримкою SQL. Код проекту написаний мовою Go та поширюється під ліцензією Apache 2.0.

Інформація в immudb зберігається з використанням блокчейн-подібної структури, що гарантує цілісність всього ланцюжка наявних записів і не дозволяє змінити вже збережені дані або підмінити/вставити запис в історію транзакцій. Сховище підтримує лише додавання нових даних, без можливості видалення чи зміни вже доданої інформації. Спроба зміни записів у СУБД лише призводить до збереження нової версії запису, старі дані не губляться і залишаються в історії змін.

При цьому на відміну від типових рішень на базі блокчейну, immudb дозволяє досягти продуктивності на рівні мільйонів транзакцій в секунду і може застосовуватися для запуску легковажних сервісів або вбудовування своєї функціональності додатків у формі бібліотеки.

Опубліковано СУБД immudb 1.0, що забезпечує захист від спотворення даних

Висока продуктивність досягається завдяки застосуванню дерева LSM (Log-structured merge-tree) з логом значень, що забезпечує швидкий доступ до записів за високої інтенсивності додавання даних. Для підтримки цілісності сховища додатково задіяна деревоподібна структура «дерево Меркла» (Merkle Tree), в якій кожна гілка верифікує всі гілки і вузли, що знаходяться нижче, завдяки спільному (деревоподібному) хешування. Маючи кінцевий хеш, користувач може переконатися в коректності всієї історії операцій, а також у коректності минулих станів БД (кореневий перевірочний хеш нового стану бази обчислюється з урахуванням минулого стану).

Клієнтам та аудиторам надається криптографічний доказ володіння та цілісності даних. Застосування криптографії за відкритими ключами не вимагає від клієнта довіри до сервера, а підключення кожного нового клієнта до СУБД збільшує загальний рівень довіри до сховища. Відкриті ключі та списки відкликання ключів зберігаються в БД, а під час операцій з шифруванням можуть використовуватися анклави Intel SGX.

З функціональних можливостей СУБД згадується підтримка SQL, режим зберігання ключ/значення, індекси, сегментування БД (sharding), створення снапшотів стану даних, транзакції ACID з підтримкою ізоляцією снапшотів (SSI), висока продуктивність читання та запису, оптимізації для ефективної роботи на SSD накопичувачах, підтримка роботи у формі сервера та бібліотеки, що вбудовується, підтримка REST API і наявність web-інтерфейсу для управління. З типових областей застосування, в яких затребувані СУБД, подібні до immudb, відзначаються ведення транзакцій з кредитними картками, зберігання відкритих ключів, цифрових сертифікатів, контрольних сум і логів, створення дублюючого сховища для важливих полів у традиційних СУБД. Клієнтські бібліотеки для роботи з immudb підготовлені для Go, Java, .NET, Python та Node.js.

Ключові покращення у випуску immudb 1.0:

  • Підтримка SQL із можливістю захисту рядків від прихованої модифікації.
  • Режим TimeTravel, що дозволяє переключити стан БД на певний момент у минулому. У тому числі час зрізу даних можна встановлювати на рівні окремих підзапитів, що полегшує аналіз змін та проведення порівняння даних.
  • Підтримка клієнтського протоколу PostgreSQL, що дозволяє використовувати з immudb існуючі програми та бібліотеки, розраховані працювати з PostgreSQL. У тому числі, крім рідних клієнтських бібліотек, можна застосовувати типові клієнтські бібліотеки Ruby, C, JDBC, PHP і Perl.
  • Web Console для інтерактивної навігації за даними та адміністрування СУБД. Через веб-інтерфейс можна надсилати запити, створювати користувачів та керувати даними. Додатково доступне навчальне середовище Playground.
    Опубліковано СУБД immudb 1.0, що забезпечує захист від спотворення даних
    Опубліковано СУБД immudb 1.0, що забезпечує захист від спотворення даних


    Джерело: opennet.ru

Додати коментар або відгук