TDSQL PG版节省30%磁盘空间的同时如何保障数据安全?|DB·洞见

对于数据库系统而言,存储容量和数据安全是影响用户系统的成本及信息安全的重要因素。TDSQL PG版通过支持压缩来减少磁盘空间使用以此来节省成本,同时支持对表内容加密来保证用户数据的安全性。

探索前沿研究,聚焦技术创新。本期DB·洞见由腾讯云数据库高级工程师丁艳飞从工程创新的角度,为大家介绍TDSQL PG版透明压缩和透明加密的相关实现,主要包括整体架构介绍、压缩方法简介、透明压缩实现、加密脱敏介绍四个部分。

观看视频,获取完整版讲师分享内容

一、TDSQL PG 版整体架构

TDSQL PG版是一款分布式数据库,在内核层面由GTM、CN、DN节点组成。其中GTM是事务管理器,负责协调整个集群的事务,并管理全局的对象。CN节点是协调节点,是业务访问入口,每个节点之间相互对等,都能对外提供一致性视图。DN节点是数据节点,业务运行过程中产生的数据都会在DN节点上进行存储。

数据库内核配合OSS系统可以对外提供指标监控、运维管理、实时告警、安全审计、数据治理等运维管控能力。随着业务的不断进行,所产生的数据会越来越多,对DN节点的磁盘存储也造成越来越大的压力。数据节点的存储容量也越来越成为制约整个IT系统部署密度、影响系统成本的主要因素。所以目前大多数客户都会要求数据库系统具备数据压缩存储的能力

file

二、压缩方法简介

2.1 存储介质压缩

针对压缩需求,在数据库领域出现了一些特定的压缩方法,其中一种就是在存储介质中进行压缩。这种方式会在原有的SSD内部引入一个计算引擎。数据按照常规方式来写入SSD,盘内的计算引擎可以对写入的数据进行压缩处理,再把压缩后的数据写入到存储物理介质中。整个压缩过程对业务透明,上层业务基本无感知,应用方面也可以不进行修改。此外,这种方式相当于零拷贝技术,不需要做额外的数据传输,当数据量增长较多时,也可以很方便地增加多块盘来实现压缩能力的线性扩展。

传统的关系型数据库(使用B-Tree数据模型,如Oracle/MySQL/SQL Server/PostgreSQL)可以直接部署在这种智能存储介质上使用,且不存在占用业务cpu的问题,使用方便,对性能影响小。但目前而言,很少有客户使用,主要原因是这些存储介质的价格昂贵,整体部署成本大,基本上很难实现大批量使用

file

2.2 数据编码

另一种常用的压缩方法是使用数据编码。数据库关系表中存放的一般是结构化数据,同一列中字段具有相同的数据类型且有明确的数据边界。对于不同的列,如果它们之间有相互关系,在这些列之间可能也会存在较多相似的数据。所以我们可以利用数据明确的字段边界和丰富的类型信息,采用一定的编码技术来实现数据库的压缩。

下表中罗列了部分常见的编码方式,包括字典编码、RLE编码、常量编码、差值编码、前缀编码等。不同的编码有不同的适配场景,字典编码是较为通用的编码方式,RLE编码则主要用于连续相等的数据,常量编码主要针对近似性常量化的数据,差值编码适用于在小值域范围内分布均匀的整数型数据,前缀编码则适用于前缀相同的字符型数据。

file

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值