首页 > 数据库 >openGauss 账本数据库机制

openGauss 账本数据库机制

时间:2024-04-09 09:57:12浏览次数:24  
标签:数据库 校验 用户 time 篡改 openGauss 账本

账本数据库机制

可获得性

本特性自openGauss 2.1.0版本开始引入。

特性简介

账本数据库特性,对用户指定的防篡改表增加校验信息,并记录用户对其数据的操作历史,通过数据和操作历史的一致性校验来保证用户数据无法被恶意篡改。在用户对防篡改表执行DML操作时,系统对防篡改表增加少量额外的行级校验信息,同时记录操作的SQL语句和数据的变化历史。通过特性提供的校验接口,用户可以方便的校验防篡改表中的数据与系统记录的操作信息是否一致。

客户价值

账本数据库通过提供对用户数据的操作记录、数据历史变化记录以及易用的一致性的校验接口,方便用户随时校验数据库中的敏感信息是否发生恶意篡改,有效提高数据库防篡改能力。

特性描述

账本数据库采用账本Schema对普通表和防篡改用户表进行隔离。用户在账本Schema中创建的行存表具有防篡改属性,即为防篡改用户表。用户向防篡改用户表中插入数据时,系统会自动生成少量行级校验信息。在用户执行DML时,系统会在全局区块表(GS_GLOBAL_CHAIN)中记录用户的操作、在用户表相应的历史表中记录数据的更改等信息,操作记录、数据变化记录和用户表中的数据三者严格保持一致。账本数据库提供高性能校验接口,能够供用户方便的校验数据的一致性,如果一致性校验失败,则说明数据可能发生篡改,需要及时联系审计管理员回溯操作记录历史。

防篡改表在创建时,支持以下数据类型:
char, abstime, bigint, boolean, bytea, character varying, character, date, double precision, int2vector, integer, interval, money, name, numeric, nvarchar2, oid, oidvector, raw, real, record, reltime, smalldatetime, smallint, text, time with time zone, time without time zone, timestamp with time zone, timestamp without time zone, tinyint, uuid。

特性增强

无。

特性约束

  • 防篡改模式下的行存表具有防篡改属性,而临时表、UNLOGGED表、列存表、时序表、Ustore表等均不具有防篡改属性。
  • 不允许修改防篡改用户表的结构,不允许truncate防篡改相关表,不允许将防篡改用户表切换到普通的Schema中,不允许将非防篡改表切换到防篡改Schema中。
  • 不支持指定二级分区表为防篡改表。防篡改表如果为分区表,则不支持exchange partition、drop partition、truncate partition等操作。
  • 不支持使用函数、TRIGGER修改防篡改用户表数据。
  • 防篡改用户表创建时不能有名为“hash”的列。
  • 普通用户调用篡改校验接口只能校验自己有权查询的表。
  • 只允许审计管理员和初始用户查询全局区块表和BLOCKCHAIN模式中的表,普通用户无权访问,所有用户均无权修改。
  • 根据用户历史表命名规则,若待创建表的Schema或表名以'_'结尾或开头,可能会出现对应历史表名与已有表名冲突的情况,需要重新命名。
  • 账本数据库目前针对用户行级数据的hash摘要仅用来保证数据的一致性,当前能力暂时无法阻止攻击用户直接对数据文件的篡改。
  • 防篡改模式下不支持二级分区表。
  • 防篡改模式下的表的索引不支持引用“hash”列。

依赖关系

无。

标签:数据库,校验,用户,time,篡改,openGauss,账本
From: https://www.cnblogs.com/renxyz/p/18123191

相关文章

  • openGauss 支持global-syscache
    支持GlobalSysCache可获得性本特性自openGauss3.0.0版本开始引入。特性简介全局系统缓存(GlobalSysCache)是系统表数据的全局缓存和本地缓存。原理如图1所示。图1GlobalSysCache原理图客户价值全局系统缓存特性可以降低数据库进程的缓存内存占用,提升数据库的并发扩展......
  • openGauss 运行环境
    运行环境支持的硬件平台openGauss支持运行在ARM服务器和通用的x86服务器上:支持ARM服务器和基于x86_64的通用PC服务器。支持本地存储(SATA、SAS、SSD)。支持千兆、万兆Ethernet网络。支持的操作系统ARM:openEuler20.03LTS(推荐采用此操作系统)openEuler22.03LTS统信V......
  • openGauss 在线添加索引
    在线添加索引可获得性本特性自openGauss1.1.0版本开始引入。特性简介通过createindexconcurrently语法,以不阻塞DML的方式在线创建索引。客户价值创建索引时指定concurrently关键字,可以实现创建过程中不阻塞DML,不阻塞用户在线业务。特性描述创建索引时,一般会阻塞其他语......
  • openGauss 用户口令强度校验机制
    用户口令强度校验机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介对用户访问数据库所设置的口令强度进行校验。客户价值用户无法设置过低强度的口令,加固客户数据安全。特性描述初始化数据库、创建用户、修改用户时需要指定密码。密码必须满足强度校验,否则会提......
  • openGauss 智能基数估计
    智能基数估计可获得性本特性自openGauss3.1.0版本开始引入。特性简介智能基数估计利用库内轻量级算法进行多列数据分布建模,并且提供多列等值基数估计的能力。在数据分布倾斜并且列之间相关性强的数据场景下能够提供更准确的估计结果,从而给优化器提供准确的代价参考,提高计划生......
  • 校园台球厅人员与设备管理系统的设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读300套最新项目持续更新中.....最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm......
  • HBase 数据库
    目录一、HBase数据模型1)NameSpace2)Table3)Row4)Column5)TimeStamp6)Cell二、HBase的逻辑结构三、HBase的物理结构四、HBase基本架构1)Master2)RegionServer3)Zookeeper4)HDFS 五、安装HBase数据库1)上传、解压2)配置环境变量3)修改HBase配置文件4)分发HBase到另外两......
  • NCI SEER breast cancer美国国立癌症研究所数据库乳腺癌生存分析和乳腺癌预测模型(202
    ​作者Toby,来源公众号:python生物信息学,美国国立癌症研究所数据库乳腺癌生存分析和乳腺癌预测模型NCI美国国立癌症研究所(NationalCancerInstitute,NCI)美国国立癌症研究所(NCI)是美国国家卫生研究院(NIH)的一个组成部分,致力于癌症研究和预防。以下是NCI的一些重要信息和职责:......
  • 安卓开发向数据库添加中文变成了?怎么解决
    在安卓开发中,如果向数据库添加数据时中文变成了问号'?',通常是因为数据库的编码方式不支持中文字符。为了解决这个问题,可以尝试以下方法:1.确保数据库的编码方式支持中文字符。一般来说,可以选择使用UTF-8编码来存储中文字符。2.在创建数据库连接时,设置正确的字符集,例如在JDB......
  • C# 操作 达梦数据库 DM8
    准备先到达梦官网下载数据库安装包根据官方提供的安装手册安装好DM8后,就可以了。测试环境Windows10x86_64DM8FreeSQL.NET8读写数据库这里使用FreeSQLORM进行读写DM8数据库。首先新建一个测试项目Console项目就行了。dotnetnewslndotnetnewconsoledotnets......