Doris 如何设置开启行列混存?

提问者:帅平 问题分类:数据库
Doris 如何设置开启行列混存?
4 个回答
心已打烊
心已打烊
首先开启 FE 配置项 enable_experimental_rowstore:
ADMIN SET FRONTEND CONFIG ("enable_experimental_rowstore" = "true");
然后建表时在 PROPERTIES 中配置 "STORE_TYPE" = "column_with_row":
CREATE TABLE users (
 id bigint not null,
 country string,
 city string,
 revenue bigint
)
PRIMARY KEY (id)
DISTRIBUTED BY HASH(id)
PROPERTIES ("storage_type"="column_with_row");
发布于:3周前 (04-07) IP属地:
三岁就可萌了
三岁就可萌了
doris开启行列混存的示例如下:
CREATE TABLE `tbl_point_query` (
   `key` int(11) NULL,
   `v1` decimal(27, 9) NULL,
   `v2` varchar(30) NULL,
   `v3` varchar(30) NULL,
   `v4` date NULL,
   `v5` datetime NULL,
   `v6` float NULL,
   `v7` datev2 NULL
) ENGINE=OLAP
UNIQUE KEY(`key`)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(`key`) BUCKETS 1
PROPERTIES (
   "enable_unique_key_merge_on_write" = "true",
   "light_schema_change" = "true",
   "row_store_columns" = "key,v1,v3,v5,v7",
   "row_store_page_size" = "4096"
);
查询示例如下:
SELECT key, v1, v3, v5, v7 FROM tbl_point_query WHERE key = 100;
发布于:1个月前 (03-21) IP属地:
那句晚安你听了吗
那句晚安你听了吗
注意事项:
1、存储空间增加:开启行存后占用的存储空间会增加,存储空间的增加幅度与数据特点有关,一般是原来表的 2 到 10 倍,具体空间占用需使用实际数据测试。
2、page_size 对空间的影响:行存的page_size对存储空间也有影响,可根据前面介绍的表属性参数row_store_page_size说明进行调整,以平衡查询性能和存储空间需求。
发布于:1个月前 (03-21) IP属地:
深海少女心
深海少女心
针对上面的示例说明下:
1、使用语法:建表时在表的PROPERTIES中指定是否开启行存、哪些列开启行存以及行存的存储压缩单元大小page_size。
2、是否开启行存:默认为false不开启,若要开启,设置为"store_row_column" = "true"。
3、哪些列开启行存:若"store_row_column" = "true",默认所有列开启行存。若需指定部分列开启行存,设置row_store_columns参数,格式为逗号分割的列名,如"row_store_columns" = "column1,column2,column3"。
4、行存 page_size:默认为 16KB,设置方式为"row_store_page_size" = "16384"。page是存储读写的最小单元,page_size越大,压缩效果越好,存储空间占用越低,但点查时 I/O 开销越大,性能越低(因为一次 I/O 至少读一个 page);反之,page_size越小,存储空间占用越高,点查性能越好。默认值 16KB 在大多数情况下是比较均衡的选择,若更偏向查询性能,可配置较小的值,如 4KB 甚至更低;若更偏向存储空间,可配置较大的值,如 64KB 甚至更高。
发布于:1个月前 (03-21) IP属地:
我来回答