提交笔记1
This commit is contained in:
commit
edfe0078c3
105
Hologres/Hologres.md
Normal file
105
Hologres/Hologres.md
Normal file
@ -0,0 +1,105 @@
|
||||
# Hologres 索引与表结构设计指南
|
||||
|
||||
## 索引剪枝策略
|
||||
### 1. 分区剪枝(Partition Pruning)[1](@ref)
|
||||
- **作用**:通过查询条件定位目标分区,避免全表扫描
|
||||
- **适用场景**:日粒度分区表(如`event_time_column`字段)
|
||||
- **注意事项**:非分区表自动跳过此过程
|
||||
|
||||
### 2. 分片剪枝(Shard Pruning)
|
||||
- **核心参数**:`distribution_key`(分布键)
|
||||
- **最佳实践**:
|
||||
- 选择高基数字段(用户ID、订单ID等)
|
||||
- JOIN表使用相同分布键实现Local Join
|
||||
- **资源影响**:未命中分片时需全分片扫描,增加资源消耗
|
||||
|
||||
### 3. 文件剪枝(Segment Key Pruning)
|
||||
- **依赖字段**:`event_time_column`/`segment_key`
|
||||
- **作用**:定位节点内数据文件,减少文件扫描量
|
||||
|
||||
### 4. 聚簇剪枝(Clustering Key Pruning)
|
||||
- **核心参数**:`clustering_key`
|
||||
- **优势**:加速范围查询和排序操作
|
||||
|
||||
---
|
||||
|
||||
## 表结构定义示例
|
||||
### 列存表示例[3,7](@ref)
|
||||
```sql
|
||||
-- 复合索引配置表
|
||||
CREATE TABLE tbl_1 (
|
||||
id bigint NOT NULL,
|
||||
name text NOT NULL,
|
||||
age bigint NOT NULL,
|
||||
class text,
|
||||
reg_timestamp timestamptz NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) WITH (
|
||||
orientation = 'column',
|
||||
distribution_key = 'id',
|
||||
clustering_key = 'age',
|
||||
event_time_column = 'reg_timestamp',
|
||||
bitmap_columns = 'name,class',
|
||||
dictionary_encoding_columns = 'class:auto'
|
||||
);
|
||||
|
||||
-- 简化配置表
|
||||
CREATE TABLE public.tbl_col (
|
||||
id text NOT NULL,
|
||||
name text NOT NULL,
|
||||
class text NOT NULL,
|
||||
in_time timestamptz NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
) WITH (
|
||||
orientation = 'column',
|
||||
clustering_key = 'class',
|
||||
bitmap_columns = 'name',
|
||||
event_time_column = 'in_time'
|
||||
);
|
||||
|
||||
列存会默认创建更多的索引,包括对字符串类型创建bitmap索引,这些索引可以显著加速查询过滤和统计
|
||||
|
||||
|
||||
primary key 主键
|
||||
distribution_key 分布
|
||||
event_time_column 单调递增或单调递减的有序字段
|
||||
clustering_key Cluster Filter算子,表明命中了Clustering Key
|
||||
dictionary_encoding_columns字典编码
|
||||
bitmap_columns 位图索引
|
||||
|
||||
|
||||
|
||||
relname:关系(表、索引等)的名字。
|
||||
relnamespace:该关系所属的命名空间(通常是模式schema的OID)。
|
||||
reltype:该关系的数据类型的OID(如果有的话;例如,对于一个复合类型)。
|
||||
reloftype:该关系的对象类型的OID(如果有的话;例如,对于一个数组类型)。
|
||||
relowner:该关系的所有者的角色ID。
|
||||
relam:如果这是一个访问方法(如索引),则为该访问方法的OID。
|
||||
relfilenode:该关系对应的文件节点号。
|
||||
reltablespace:该关系所在的空间的OID(如果没有指定,则使用默认值)。
|
||||
relpages:该关系占用的页面数(估算值)。
|
||||
reltuples:该关系中的行数(估算值)。
|
||||
relallvisible:所有可见行的数量(用于VACUUM操作)。
|
||||
reltoastrelid:如果存在,指向该关系的TOAST表的OID。
|
||||
relhasindex:布尔值,指示是否有索引。
|
||||
relisshared:布尔值,指示该关系是否跨数据库共享。
|
||||
relpersistence:持久性级别,可以是永久('p')、临时('u')、或不可持久('t')。
|
||||
relkind:关系的类型,可以是普通表('r')、索引('i')、序列('S')、视图('v')、物化视图('m')、组合类型('c')、外部表('f')、分区表('p')等。
|
||||
relnatts:该关系定义的列数。
|
||||
relchecks:该关系上的检查约束数。
|
||||
relhasoids:布尔值,指示该关系是否有OID列。
|
||||
relhasrules:布尔值,指示是否有规则。
|
||||
relhastriggers:布尔值,指示是否有触发器。
|
||||
relhassubclass:布尔值,指示是否有子类(即继承表)。
|
||||
relrowsecurity:布尔值,指示是否启用了行级安全。
|
||||
relforcerowsecurity:布尔值,指示是否强制行级安全。
|
||||
relispopulated:布尔值,指示物化视图是否已填充数据。
|
||||
relreplident:复制标识符类型,可以是 'd'(默认)、'n'(无)、'f'(完整)、或'i'(索引)。
|
||||
relispartition:布尔值,指示该关系是否是一个分区。
|
||||
relrewrite:如果存在,指向重写系统的OID。
|
||||
relfrozenxid:该关系的事务ID,当所有旧的XID都被冻结时更新。
|
||||
relminmxid:最小的多事务ID,当所有旧的MXID都过期时更新。
|
||||
relacl:该关系的访问权限列表。
|
||||
reloptions:该关系的选项列表。
|
||||
relpartbound:如果是分区表,此字段包含定义其边界条件的信息
|
||||
```
|
33
传奇项目/账号信息.md
Normal file
33
传奇项目/账号信息.md
Normal file
@ -0,0 +1,33 @@
|
||||
### yinzhou@1391084327849900.onaliyun.com
|
||||
**服务器**: `hgprecn-cn-n8m2xw5ez001`
|
||||
**日期**: 2022年7月26日
|
||||
**项目**:
|
||||
- **ProjectId=91919**(引擎专用)
|
||||
- 模块:`engine_hg -> dhsf_engine`
|
||||
- 功能:`传奇996` `传奇联运` `传奇引擎` `用户画像`
|
||||
- 子模块:`sdk_advert_hg -> sdk_advert` `广告`
|
||||
|
||||
---
|
||||
|
||||
### yinzhou@1253758386586182.onaliyun.com
|
||||
**服务器**: `hgprecn-cn-n8m2xw5ez001`
|
||||
**日期**: 2022年11月2日
|
||||
**项目**:
|
||||
- **ProjectId=59589**(数据中心)
|
||||
- 模块:`sdk_statis`
|
||||
- 功能:`反外挂` `付费` `广告` `滚服` `角色` `离线统计` `留存` `区服` `渠道` `实时统计` `事件分析`
|
||||
|
||||
---
|
||||
|
||||
### 同步到 yinzhou@1173100116258632.onaliyun.com
|
||||
**服务器**: `hgprecn-cn-em93ns6j0004`
|
||||
**日期**: 2024年3月19日
|
||||
**项目**:
|
||||
1. **ProjectId=125221**(仙侠引擎)
|
||||
- 模块:`dhsf_engine`
|
||||
- 功能:`传奇996` `传奇联运` `传奇引擎` `用户画像`
|
||||
- 子模块:`sdk_advert` `广告`
|
||||
|
||||
2. **ProjectId=151181**(仙侠统计分析)
|
||||
- 模块:`sdk_statis`
|
||||
- 功能:`反外挂` `付费` `广告` `滚服` `角色` `离线统计` `留存` `区服` `渠道` `实时统计` `事件分析`
|
Loading…
x
Reference in New Issue
Block a user