Публикувана СУБД 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, режим на съхранение на ключ/стойност, индекси, сегментиране на база данни (шардинг), създаване на моментни снимки на състоянието на данните, ACID транзакции с поддръжка за изолиране на моментни снимки (SSI), висока производителност при четене и запис, оптимизации за споменават се ефективна работа на SSD устройства, поддръжка за работа под формата на сървър и вградена библиотека, поддръжка на REST API и наличие на уеб интерфейс за управление. Типичните приложения, в които СУБД като immudb са търсени, включват транзакции с кредитни карти, съхраняване на публични ключове, цифрови сертификати, контролни суми и регистрационни файлове и създаване на резервно хранилище за важни полета в традиционните СУБД. Подготвени са клиентски библиотеки за работа с immudb за Go, Java, .NET, Python и Node.js.

Ключови подобрения във версия immudb 1.0:

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


    Източник: opennet.ru

Добавяне на нов коментар