当前位置: 首页 > news >正文

Doris 使用记录(随机更新(ง •_•)ง)

文章目录

  • 知识点
      • 常见数据分布方式
  • 使用
      • 动态分区+Hash分桶

知识点

常见数据分布方式

分布式数据库中常见的数据分布方式。

轮询:Round-Robin,假设分桶数为3,数据按顺序依次写入桶1、桶2、桶3,然后继续循环。

区间:Range,假设分桶数为2,对数据划分范围,在范围1的写入到桶1;在范围2的写入到桶2。

列表:List,直接基于离散的各个取值做数据分布,性别、省份等数据就满足这种离散的特性。每个离散值会映射到一个节点上,多个不同的取值可能也会映射到相同节点上。

哈希:Hash,通过hash函数将数据映射到不同节点上。

在这里插入图片描述

业务中可以根据需要选择性使用一种或多种。

使用

动态分区+Hash分桶

DROP TABLE IF EXISTS demo.test_1;
CREATE TABLE IF NOT EXISTS demo.test_1 (
  id INT NOT NULL,
  insert_time DATE NoT NULL,
  class VARCHAR(255) NOT NULL,
  student VARCHAR(255) NOT NULL,
  score VARCHAR(255) NOT NULL
)
UNIQUE KEY(`id`,`insert_time`) 
PARTITION BY RANGE(`insert_time`) ()
DISTRIBUTED BY HASH(`id`) BUCKETS 1 
PROPERTIES (
	"replication_num" = "3",
	"dynamic_partition.time_unit" = "DAY",
	"dynamic_partition.replication_num" ="3",
	"dynamic_partition.buckets" = "3",
	"dynamic_partition.prefix" = "test",
	"dynamic_partition.end" = "3"
);

建表之后可以看到动态分区已经创建,因为dynamic_partition.end设置的是3,所以会自动创建后三天的分区(执行语句时间为:2023年1月16日)
在这里插入图片描述

PS:

  1. 如果表设置的有分区,则插入数据前需要确认分区是否存在,如果不存在则数据会插入失败
  2. 动态分区无法手动删除,但设置dynamic_partition.start = -3 后会自动删除前N天(周/月/年)分区

相关文章:

  • 软考初级哪个好考
  • 套接字编程(二)UDP服务端与客户端的通信模拟实现
  • 【电子学会】2022年12月图形化四级 -- 金牌百分比
  • Pandas 数据结构 - Series
  • ESP32 FreeRTOS-消息缓冲区(13)
  • Leetcode刷题Day26休息Day27------------------回溯算法
  • Numpy的轴及numpy数组转置换轴
  • 中国芯,SNS521系列水燃行业云芯产品获奖
  • 来了解一下ASN.1?
  • ue4c++日记2(继承|设置位置|对象移动)
  • 1、Linux_Ubuntu操作命令
  • MySQL管理
  • 论文分享-《基于数据驱动多输出 ARMAX 建模的高炉十字测温中心温度》
  • 2023年1月中国数据库排行榜:OceanBase 持续两月登顶,前四甲青云直上开新局
  • 某京东滑块协议登录 2023/01/17
  • Week3
  • 【初阶数据结构】——二叉树OJ练习
  • 《Linux Shell脚本攻略》学习笔记-第十一章
  • 银行案例分析:识别个人贷款客户画像,实现精准营销与风险防范
  • 【实际开发08】- Controller 层处理入参 , 可避免进去 impl 层