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

Материал из Викиновостей, свободного источника новостей

27 мая 2021 года

Представлен (Архивная копия от 27 мая 2021 на Wayback Machine) значительный выпуск СУБД immudb 1.0, гарантирующей неизменность и сохранение всех когда-либо добавленных данных, а также предоставляющей защиту от внесения изменений задним числом и дающей возможность криптографического доказательства владения данными. Изначально проект развивался как специализированное NoSQL-хранилище, манипулирующее данными в формате ключ/значение, но начиная с выпуска 1.0 immudb позиционируется как полноценная СУБД с поддержкой SQL. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0.

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

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

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

Из функциональных возможностей СУБД упоминается поддержка 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 для интерактивной навигации по данным и администрирования СУБД. Через web-интерфейс можно отправлять запросы, создавать пользователей и управлять данными. Дополнительно доступна обучающая среда Playground.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Опубликована СУБД immudb 1.0, обеспечивающая защиту от искажения данных», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.