文章目录
高斯数据库用的相对较少,一般如下场景:
1、国企国产化
2、面试国企岗位要求熟悉gaussDb
高斯主要有几个产品?
很关键,问你是哪个版本你都不知道,很明显是编的。
| 标准名称 | 口头叫法 | 本质 | 说明 |
|---|---|---|---|
| 云数据库 RDS for PostgreSQL | GaussDB for PostgreSQL | 原生开源PostgreSQL(社区版,华为云托管) | 100%兼容PG生态,支持PostGIS等插件 |
| GaussDB(for openGauss) | GaussDB | 华为自研,内核源于PG9.2深度改造 | 有行列混存、HTAP、分布式,PG 协议兼容但不是原生PG |
| GaussDB(for mysql) | TaurusDB | MySQL 兼容 | 不涉及PG |
一般我们用的应该是华为自研的这种比较多。
特性
有行列混存、HTAP、分布式,PG 协议兼容但不是原生PG
ustore
ustore机制大家听的比较多,是什么意思呢?
update store(更新存储)
创建ustore的两种方式
1、显式指定
sql
CREATE TABLE order_high_freq (
id INT PRIMARY KEY,
status VARCHAR(10)
) WITH (STORAGE_TYPE=USTORE);
2、打开全局开关enable_default_ustore_table=on,这样创建的表用额就是ustore
推荐用第一种,显式指定。
astore(默认)
append store(追加存储)
机制:
当执行UPDATE或DELETE操作时,Astore不会修改数据所在的旧位置。它会在表文件的新位置上写入一个完整的新数据行(Heap Tuple),然后将旧数据行标记为"已删除"(Dead Tuple)。这是一种"追加写"模式。
形象比喻:
就像在图书馆的借阅记录本上,发现某个记录错了,你不会去涂改原处,而是直接在本子的下一行写上正确的记录,并注明之前的哪一行作废了。
优点:
写入性能很高,因为大多是顺序追加。
缺点:
表会频繁产生"垃圾"数据,容易导致表空间膨胀,需要后台进程(如autovacuum)不断清理。
兼容性有几种
B
M
如何维护相关的经历呢?
项目名称:某粮集团财税一体化项目
gaussDb版本:gaussDb(for openGauss)
项目背景:现有项目国产化,并优化性能
对于已存在的项目进行国产化改造。
方案:
1、索引改造(用serial),方法名改造 # 全局范围
2、重点表加ustore,发票红冲业务 # 重点业务
3、引入行列混存(HTAP)架构,热数据行存储,冷数据(修改时间3个月以上)列存储金额相关进行列存 # 金额、税额、价税合计
4、数据迁移 # 脚本适配
成果:
1、成功实现国产改造
2、重点业务性能提升300-400ms
3、行列混存使算税性能大幅提高,2-3倍