Doris的数据导入机制以及原子性保证Doris 的数据导入事务及原子性保证 杨政国 百度资深研发工程师 Doris Committer 01 Doris简介 导入的问题 02 03 Doris中的导入 使用案例 04 Doris简介 01 • 基于MPP(大规模并行处理)架构的分析型数据库 01 Doris简介 • 性能卓越,PB级别数据毫秒/秒级响应 • 适用于高并发、低延时下的多维分析、实时报表等场景 • 数据完整性问题 原始数据 导入结果 已生效 Vn 已生效 V1-Vn-1 未生效 数据 已生效 V1-Vn-1 02 导入的问题 Vn • 读取到未生效数据 • 生效的数据未被读取到 读写冲突问题 原始数据 查询导入结果 源 操作1 操作2 处理 失败 失败 源 操作1 操作2 重试成功 额外重试 处理两次 02 导入的问题 At-Most-Once & At-Least-Once Checkpoint Doris中的导入 03 举个例子 • label: 用来标示一次导入的一份数据 • status: 表示数据状态,是否已经生效 • txnId: Doris 内部事务id,用来唯一标示一次导入事务 03 Doris 中的导入 03 Doris 中的导入 LABEL 导入任务 的标识 查看对应 导入任务 的执行情 况 用户可以 自定义 防止用户 重复导入 同一批次0 码力 | 33 页 | 21.95 MB | 1 年前3
百度智能云 Apache Doris 文档导入作业的标识。每个导入作业,都有一 个在单 database 内部唯一的 Label。 表示导入数据是否可见。如果可见,显示 ,如果不可见,显示 。 为这个 insert 对应的导入事务的 id。 字段会显示一些其他非预期错误。 当需要查看被过滤的行时,用户可以通过如下语句 返回结果中的 URL 可以用于查询错误的数据,具体见后面 查看错误行 查看错误行 小结。 数据不可 2. 超时时间 INSERT 操作的超时时间由 会话变量 控制。默认为5分钟。超时则作业会被取消。 3. Label 和原子性 INSERT 操作同样能够保证导入的原子性,可以参阅 导入事务和原子性 文档。 当需要使用 作为 insert 操作中的查询部分时,必须指定 和 部分。 4. 过滤阈值 与其他导入方式不同,INSERT 操作不能指定过滤阈值( )。默认的过滤阈值为 过 SHOW LOAD 命令查看。 2. 取消导入任务 已提交切尚未结束的导入任务可以通过 CANCEL LOAD 命令取消。取消后,已写入的数据也会回滚,不会生效。 3. Label、导入事务、多表原子性 Doris 中所有导入任务都是原子生效的。并且在同一个导入任务中对多张表的导入也能够保证原子性。同时,Doris 还可以 LOAD LOAD LABEL example_db LABEL0 码力 | 203 页 | 1.75 MB | 1 年前3
共 2 条
- 1













