DBMS immudb 1.0 已发布,提供数据损坏保护

推出了 immudb 1.0 DBMS 的重要版本,保证了所有添加的数据的不变性和保存性,并提供了针对追溯更改的保护,并提供了数据所有权的加密证明的能力。最初,该项目开发为专门的 NoSQL 存储,以键/值格式操作数据,但从 1.0 版开始,immudb 被定位为支持 SQL 的成熟 DBMS。该项目代码是用 Go 编写的,并在 Apache 2.0 许可证下分发。

immudb 中的信息使用类似区块链的结构存储,该结构保证现有记录的整个链的完整性,并且不允许更改已存储的数据或替换/插入交易历史记录中的条目。存储仅支持添加新数据,而无法删除或更改已添加的信息。尝试更改 DBMS 中的记录只会导致保存记录的新版本;旧数据不会丢失,并且在更改历史记录中仍然可用。

此外,与典型的基于区块链的解决方案不同,immudb 允许您实现每秒数百万笔交易的性能,并且可用于启动轻量级服务或以库的形式将其功能嵌入到应用程序中。

DBMS immudb 1.0 已发布,提供数据损坏保护

高性能是通过使用带有值日志的 LSM(日志结构合并树)树来实现的,它可以快速访问具有高强度数据添加的记录。为了保持存储的完整性,还使用了一种称为默克尔树的树结构,其中每个分支通过联合(树)哈希来验证所有底层分支和节点。有了最终的哈希值,用户可以验证整个操作历史记录的正确性,以及数据库过去状态的正确性(数据库新状态的根验证哈希值是根据过去的状态计算的) )。

向客户和审计员提供数据所有权和完整性的加密证明。使用公钥加密技术不需要客户端信任服务器,并且将每个新客户端连接到 DBMS 提高了整个存储的整体信任级别。公钥和密钥撤销列表存储在数据库中,执行加密操作时可以使用 Intel SGX enclave。

DBMS 的功能包括 SQL 支持、键/值存储模式、索引、数据库分段(分片)、创建数据状态快照、支持快照隔离 (SSI) 的 ACID 事务、高读写性能、优化提到了 SSD 上的高效操作、驱动器、对服务器和嵌入式库形式工作的支持、对 REST API 的支持以及用于管理的 Web 界面的存在。需要像 immudb 这样的 DBMS 的典型应用包括信用卡交易、存储公钥、数字证书、校验和和日志,以及为传统 DBMS 中的重要字段创建备份存储。用于使用 immudb 的客户端库是为 Go、Java、.NET、Python 和 Node.js 准备的。

immudb 1.0 版本的主要改进:

  • SQL 支持能够保护行免受隐藏修改。
  • TimeTravel 模式,可以将数据库的状态切换到过去的某个时间点。特别是,可以在各个子查询级别设置数据切割时间,这简化了变化分析和数据比较。
  • 支持 PostgreSQL 客户端协议,允许您使用旨在与 PostgreSQL 和 immudb 配合使用的现有应用程序和库。除了本机客户端库之外,您还可以使用标准客户端库 Ruby、C、JDBC、PHP 和 Perl。
  • 用于交互式数据导航和 DBMS 管理的 Web 控制台。通过 Web 界面,您可以发送请求、创建用户和管理数据。此外,还提供 Playground 学习环境。
    DBMS immudb 1.0 已发布,提供数据损坏保护
    DBMS immudb 1.0 已发布,提供数据损坏保护


    来源: opennet.ru

添加评论