Doris表的分区数量保持在多少范围内性能是最好的

news2025/3/16 16:39:08

在 Apache Doris 中,分区数量的最佳范围需结合数据规模、查询模式及集群资源动态调整,以下是根据最新版本(2025年)的实践总结和官方建议:


1. 分区数量与数据量的平衡原则

单分区数据量建议:每个分区的数据量应控制在 50GB 以内,理想范围为 10-50GB。若分区数据量过小(如 <1GB),元数据管理压力会显著增加;若过大(如 >100GB),副本迁移、数据均衡等操作的效率会下降。
总分区数估算
若总数据量为 1TB,推荐划分为 20-50 个分区(每个分区约 20-50GB)。例如,按天分区时,30 天数据对应 30 个分区,单个分区分桶数为 16-32。


2. 分区与分桶的联动优化

Tablet 总数计算:总 Tablet 数量 = 分区数量 × 分桶数量。
建议 Tablet 总数略多于集群磁盘数(如 10 台 BE 节点,每节点 3 块磁盘 → 总磁盘数 30 → Tablet 总数建议 32-64)。
分桶数量建议:单分区的分桶数推荐 16-32。例如,若集群有 16 个 BE 节点,分桶数可设为 16;若数据量膨胀,可通过动态增加分区分桶数(如 ADD PARTITION ... BUCKETS 64)扩展。


3. 分区策略选择与性能影响

时间分区(Range):按天/月分区时,需评估数据增长速率。例如,每日数据 10GB,按天分区一年生成 365 个分区,需确保 BE 节点元数据内存足够。若数据量较小,可合并为按月分区。
枚举分区(List):适用于离散值(如地域、类型)。建议分区值基数不超过 1000,避免高频写入导致分区碎片化。
自动分区(Auto Partition):从 2.1 版本起支持,根据数据分布动态创建分区。实测在 2000 个分区、1 亿行数据场景下,性能损耗仅 5%,适合动态数据场景。


4. 性能风险与规避措施

元数据压力:单 BE 节点建议承载分片(Tablet)数不超过 2 万。例如,若 1000 个分区 × 20 分桶 = 2 万 Tablet,需确保集群规模足够。
冷热数据管理:对历史分区(如 30 天前)启用自动归档(TTL)或合并为低频存储分区,减少活跃分区数量。
查询优化:避免高频查询跨过多分区(如全表扫描)。通过 EXPLAIN 检查查询是否触发分区裁剪。


5. 最佳实践示例

-- 按天分区 + 动态分桶(适合日志场景)
CREATE TABLE log_table (
    event_time DATETIME,
    user_id INT,
    ...
)
PARTITION BY RANGE(event_time) (
    START ("2025-03-01") END ("2025-04-01") EVERY (INTERVAL 1 DAY)
)
DISTRIBUTED BY HASH(user_id) BUCKETS 32
PROPERTIES (
    "replication_num" = "3",
    "storage_medium" = "SSD",
    "dynamic_partition.enable" = "true"  -- 启用自动分区
);

总结

常规场景:分区数建议 30-200 个,单个分区 10-50GB,分桶数 16-32,总 Tablet 数略高于集群磁盘数。
高吞吐写入:启用自动分区,避免手动管理复杂度。
监控工具:通过 SHOW PARTITIONSSHOW TABLET 监控分布均匀性,使用 ADMIN SHOW METADATA INFO 检查元数据负载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316151.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正

Unity 开发资源汇总 | 插件 | 模型 | 源码(不断更新中,建议收藏)

&#x1f493; 欢迎访问 Unity 打怪升级大本营 Unity是一个强大的游戏开发平台&#xff0c;它提供了丰富的工具和资源&#xff0c;让开发者能够创造出令人惊叹的游戏和交互式体验。无论你是初学者还是经验丰富的开发者&#xff0c;Unity的生态系统中总有一些资源可以帮助你提升…

JVM崩溃时产生的文件 hs_err.pid.log

hs_err.pid.log hs_err.pid.log&#xff1a;当jvm崩溃时&#xff0c;会生成一个hs_err_pid.log文件&#xff0c;并且把它存放到程序目录下&#xff0c;可以通过该文件来定位导致jvm崩溃的原因。 jvm崩溃&#xff0c;是由jvm自身的bug或者本地方法执行错误引起的&#xff0c;本…

聊聊 Redis 的一些有趣的特性(上)

聊聊 Redis 的一些有趣的特性&#xff08;上&#xff09; 一、持久化 Redis 是内存数据库&#xff0c;数据全部保存在内存中。如果服务器发生宕机&#xff0c;内存中的数据将会全部丢失。为防止系统崩溃后数据丢失&#xff0c;Redis 提供了持久化功能&#xff0c;可将内存中的…

使用OpenCV和MediaPipe库——抽烟检测(姿态监控)

目录 抽烟检测的运用 1. 安全监控 (1) 公共场所禁烟监管 (2) 工业安全 2. 智能城市与执法 (1) 城市违章吸烟检测 (2) 无人值守管理 3. 健康管理与医疗 (1) 吸烟习惯分析 (2) 远程监护 4. AI 监控与商业分析 (1) 保险行业 (2) 商场营销 5. 技术实现 (1) 计算机视…

怎么有效降低知网AIGC率

在学术创作日益规范且数字化检测技术不断发展的当下&#xff0c;知网 AIGC 检测成为了众多创作者关注的焦点。许多人苦恼于如何有效降低知网 AIGC 率&#xff0c;让自己的作品在通过检测的同时&#xff0c;彰显出真实的创作水平与独特性。接下来&#xff0c;我们就深入探讨降低…

C语言每日一练——day_8

引言 针对初学者&#xff0c;每日练习几个题&#xff0c;快速上手C语言。第八天。&#xff08;连续更新中&#xff09; 采用在线OJ的形式 什么是在线OJ&#xff1f; 在线判题系统&#xff08;英语&#xff1a;Online Judge&#xff0c;缩写OJ&#xff09;是一种在编程竞赛中用…

Mac中nvm切换node版本失败,关闭终端再次打开还是之前的node

Mac中使用 nvm 管理 node 版本&#xff0c;在使用指令&#xff1a;nvm use XXX 切换版本之后。 关闭终端&#xff0c;再次打开&#xff0c;输入 node -v 还是得到之前的 node 版本。 原因&#xff1a; 在这里这个 default 中有个 node 的版本号&#xff0c;使用 nvm use 时&a…

更改 Windsuf 插件 Market

前言 之前一直用 VScode&#xff0c;现在全部迁移到 Windsuf 了&#xff0c;但是&#xff0c;Windsuf 默认的插件市场里没有我喜欢的主题……我又有点强迫症&#xff0c;所以&#xff0c;把Windsuf 默认的插件市场换成 VScode 的&#x1f611; 不废话 原本的&#xff1a; 改…

Vue 过滤器深度解析与应用实践

文章目录 1. 过滤器概述1.1 核心概念1.2 过滤器生命周期 2. 过滤器基础2.1 过滤器定义2.2 过滤器使用 3. 过滤器高级用法3.1 链式调用3.2 参数传递3.3 动态过滤器 4. 过滤器应用场景4.1 文本格式化4.2 数字处理4.3 数据过滤 5. 性能优化与调试5.1 性能优化策略5.2 调试技巧 6. …

​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙

​凌晨三点的义乌商贸城&#xff0c;95后创业者小王&#xff0c;静静地盯着屏幕上的AI工具&#xff0c;竟露出了笑容。这个月他的跨境玩具店销量提升了不少&#xff0c;从之前的状态翻了3倍&#xff1b;而且团队人数有所变化&#xff0c;从5人缩减到了2人&#xff08;其中包括他…

Androidstudio实现一个app引导页(超详细)

文章目录 1. 功能需求2. 代码实现过程1. 创建布局文件2. 创建引导页的Adapter3. 实现引导页Activity4. 创建圆点指示器的Drawable5. 创建“立即体验”按钮的圆角背景 2.效果图 1. 功能需求 1、需要和原型图设计稿对应的元素保持一致的样式。 2、引导页需要隐藏导航栏&#xff…

[思考记录]关于AI辅助独立思考

本来是写两个反思类的记录&#xff0c;已经有了一些思路&#xff0c;并且都写了个开头。但手欠&#xff0c;去试着问了下AI&#xff0c;发现它的分析总结比我透彻。额......既然你这么厉害&#xff0c;那就你来&#xff0c;我向你学&#xff01; 那么&#xff0c;后续我再做类似…

CVPR-2025 | 长程视觉语言导航平台与数据集:迈向复杂环境中的智能机器人

作者&#xff1a;Xinshuai Song, Weixing Chen, Yang Liu, Weikai Chen, Guanbin Li, Liang Lin 单位&#xff1a;中山大学&#xff0c;Independent Researcher&#xff0c;鹏城实验室 项目主页&#xff1a;https://hcplab-sysu.github.io/LH-VLN 论文地址&#xff1a;https…

Apifox Helper 自动生成API接口文档

在我们开发过程中我们在编写请求地址和编写请求参数的时候特别花费时间耗费了我们很多时间&#xff0c;作为一个程序员&#xff0c;更应该把精力时间集中在开发上&#xff0c; Apifox Helper 是 Apifox 团队针对 IntelliJ IDEA 环境所推出的插件&#xff0c;可以在 IDEA 环境中…

历年云南大学计算机复试上机真题

历年云南大学计算机复试机试真题 在线评测&#xff1a;传送门&#xff1a;pgcode.cn 喝饮料 题目描述 商店里有 n 中饮料&#xff0c;第 i 种饮料有 mi 毫升&#xff0c;价格为 wi。 小明现在手里有 x 元&#xff0c;他想吃尽量多的饮料&#xff0c;于是向你寻求帮助&#x…

Postman中Authorization和Headers的区别

案例 笔者在进行token验证的时候碰到的问题 一般如果是进行token验证&#xff0c;大部分是在Headers下面添加token名称及token的值 这样&#xff1a;后端提取请求头的token即可 还有一种是&#xff0c;左侧选择Bearer Token&#xff0c;右侧添加token的值,后端传递的 大概…

python使用openai的api的时候声明不要走系统代理,默认是走的

配置了以上的方式&#xff0c;还是不行。因为项目默认使用的是国内的大模型服务商&#xff0c;但是接口是和openapi通用的&#xff0c;所以可以直接使用&#xff0c;但是项目中有的链接还是要走系统代理的&#xff0c;所以就需要将两者区分开&#xff0c;配置openapi不走系统代…

【免费】1949-2020年各省人均GDP数据

1949-2020年各省人均GDP数据 1、时间&#xff1a;1952-2020年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;各省人均GDP 4、范围&#xff1a;31省 5、指标解释&#xff1a;人均GDP&#xff08;Gross Domestic Product per capita&#xff09;是指一个国家…

《Python实战进阶》No24: PyAutoGUI 实现桌面自动化

No24: PyAutoGUI 实现桌面自动化 摘要 PyAutoGUI 是一个跨平台的桌面自动化工具&#xff0c;能够模拟鼠标点击、键盘输入、屏幕截图与图像识别&#xff0c;适用于重复性桌面任务&#xff08;如表单填写、游戏操作、批量文件处理&#xff09;。本集通过代码截图输出日志的实战形…