GBase 8a 使用避坑笔记
一、建表
分布键选错,后面白折腾
选group by或join常用的列
唯一值要多,别用性别这种
选错了改起来很麻烦
sql
-- 错
DISTRIBUTED BY ('gender');
-- 对
DISTRIBUTED BY ('user_id');
复制表vs哈希表
小表(百万内)、维度表用复制表
大表用哈希表
别干的事
分布键列不能update
表名别用_n[N]结尾
二、写SQL
能不用就别用
select * → 只取需要的列
游标 → 用一条SQL搞定
union → 确认无重复就用union all
笛卡尔积 → 加关联条件
排序:内层排序没用,只在最终结果排。加limit更稳。
三、参数
内存
gbase_heap_data最大,large和temp各至少256M
三个加起来别超过总内存的80%
注意:算子buffer是session级的,高并发时别调太大,会爆
并行度
gbase_parallel_degree:高并发反而要调低
gbase_parallel_execution:CPU不忙再开
四、运维
节点挂了
先看硬件和网络
恢复不了就:剔除→加备用节点→rebalance(低峰做)
数据倾斜
show distribution看分布
rebalance database重分布
加载失败
检查分隔符、编码、权限
FTP被动模式要开20001-21000端口
备份:每周全量一次
五、安装坑
SSH Banner:有登录提示会导致安装卡住,先注释掉
缺依赖:ldd gclusterd看缺什么,做软连接
Python版本:多个版本时保证gbase用户的python环境一致
crontab权限:在/etc/cron.allow加gbase
六、记住这几条
分布键选对 > 后面所有优化
高并发时内存和并行度都往小了调
少用select *和union
每周备份
8a是分析型,别当交易库用
评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526