首页 > 数据库 > 国内数据库 > GBase 8a数据库建表时选择数据分布策略解析

南大通用GBase 8a数据库(gbase database)是分布式数据库,建表时必须考虑数据如何分散到各节点。可选择三种方式:
-- 1. HASH 分布表(推荐大表使用,以 user_id 为分布键)
CREATE TABLE orders (
order_id BIGINT,
user_id BIGINT,
amount DECIMAL(10,2),
order_date DATE
) DISTRIBUTED BY('user_id');
-- 2. 随机分布表(默认,不写 DISTRIBUTED BY 即可)
CREATE TABLE log_tmp (
log_id INT,
msg VARCHAR(500)
);
-- 3. 复制表(每个节点保留全量数据,适合小维度表)
CREATE TABLE dim_city (
city_id INT,
city_name VARCHAR(50)
) REPLICATED;
分布键不能 UPDATE!选择分布键时优先选经常用于 JOIN 或 GROUP BY 的列,且唯一值要多(别用"性别"这种只有几个值的列,否则数据全挤到少数节点上,造成数据倾斜)。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3175628/ ,如需转载,请注明出处,否则将追究法律责任。