 Doris的数据导入机制以及原子性保证100+,一线互 联网广泛使用 2018 07 01 Doris简介 产品特性 简单易用 扩展性强 性能卓越 高可用 • 高度兼容MySQL • 支持在线表结构变更 • 支持集群动态伸缩 • 高度集成,不依赖于外部存储系统 • 架构优雅,单集群可水平扩展至200台以上 • 查询性能业界领先 • 高并发查询,100台集群可达10w QPS • 流式导入单节点100MB/s,小批量导入毫 Request-to-prepare Commit/Abort Done Coordinator Participant Prepare Phase Commit Phase Prepare Txn • 创建事务 • 规划导入执行计划 • 分发子任务 03 Doris 中的导入 FE Leader Analyzer FE Follower 数据版本 N 事务状态 PREPARE 事务管理 1.Begin Exactly-Once。 程序自身保证 At-Least-Once 多表原子性导入 • 每个表拆分多个任务,并下发BE • BE执行后汇报FE • FE 判断导入多数完成 publish 生效版本 • 后续查询规划时使用新的数据版本 04 使用案例 Exactly Once 数据消费 • 常驻的导入任务 • 定期从Kafka 读取数据 • Doris 记录已经读取offset( checkpoint)0 码力 | 33 页 | 21.95 MB | 1 年前3 Doris的数据导入机制以及原子性保证100+,一线互 联网广泛使用 2018 07 01 Doris简介 产品特性 简单易用 扩展性强 性能卓越 高可用 • 高度兼容MySQL • 支持在线表结构变更 • 支持集群动态伸缩 • 高度集成,不依赖于外部存储系统 • 架构优雅,单集群可水平扩展至200台以上 • 查询性能业界领先 • 高并发查询,100台集群可达10w QPS • 流式导入单节点100MB/s,小批量导入毫 Request-to-prepare Commit/Abort Done Coordinator Participant Prepare Phase Commit Phase Prepare Txn • 创建事务 • 规划导入执行计划 • 分发子任务 03 Doris 中的导入 FE Leader Analyzer FE Follower 数据版本 N 事务状态 PREPARE 事务管理 1.Begin Exactly-Once。 程序自身保证 At-Least-Once 多表原子性导入 • 每个表拆分多个任务,并下发BE • BE执行后汇报FE • FE 判断导入多数完成 publish 生效版本 • 后续查询规划时使用新的数据版本 04 使用案例 Exactly Once 数据消费 • 常驻的导入任务 • 定期从Kafka 读取数据 • Doris 记录已经读取offset( checkpoint)0 码力 | 33 页 | 21.95 MB | 1 年前3
 SelectDB案例 从 ClickHouse 到 Apache Doris基于圈选结果,需要进行指标数据的聚合分析。  基于圈选结果,需要支持标签和指标的明细查询。 经过调研,我们最终采用了 Doris on ES 的解决方案来实现以上要求,将 Doris 的分布式 查询规划能力和 ES 的全文检索能力相结合。Doris on ES 主要查询模式如下所示: SELECT tag, agg(metric) FROM Doris 10 WHERE h 、Iceberg 等组件的 联邦查询分析,降低多数据源查询复杂度。 通过以上的方式,使得存储成本降低 42%,开发与时间成本降低了 40% ,成功实现降本提 效,后续我们将继续探索! 未来规划 未来我们还将继续进行迭代和优化,我们计划在以下几个方向进行探索:  实现自动识别冷热数据,用 Apache Doris 存储热数据,Iceberg 存储冷数据,利用 Doris 湖仓一体化能力简化查询。0 码力 | 12 页 | 1.55 MB | 1 年前3 SelectDB案例 从 ClickHouse 到 Apache Doris基于圈选结果,需要进行指标数据的聚合分析。  基于圈选结果,需要支持标签和指标的明细查询。 经过调研,我们最终采用了 Doris on ES 的解决方案来实现以上要求,将 Doris 的分布式 查询规划能力和 ES 的全文检索能力相结合。Doris on ES 主要查询模式如下所示: SELECT tag, agg(metric) FROM Doris 10 WHERE h 、Iceberg 等组件的 联邦查询分析,降低多数据源查询复杂度。 通过以上的方式,使得存储成本降低 42%,开发与时间成本降低了 40% ,成功实现降本提 效,后续我们将继续探索! 未来规划 未来我们还将继续进行迭代和优化,我们计划在以下几个方向进行探索:  实现自动识别冷热数据,用 Apache Doris 存储热数据,Iceberg 存储冷数据,利用 Doris 湖仓一体化能力简化查询。0 码力 | 12 页 | 1.55 MB | 1 年前3
 百度智能云 Apache Doris 文档SQL手册 54 替换较小值,否则无法替换) 这里我们仅需指定顺序列的类型,支持时间类型或整型。Doris 会创建一个隐藏的顺序列。 动态分区相关 动态分区相关参数如下: : 用于指定表级别的动态分区功能是否开启。默认为 true。 用于指定动态添加分区的时间单位,可选择为 DAY(天),WEEK(周),MONTH(月) : 用于指定向前删除多少个分区。值必须小于0。默认为 Integer BUCKETS BUCKETS 32 32 Baidu 百度智能云文档 SQL手册 56 7. 创建一个带有 bitmap 索引以及 bloom filter 索引的内存表 8. 创建一个动态分区表。 该表每天提前创建3天的分区,并删除3天前的分区。例如今天为 ,则会创建分区名为 , , , 的分区. 分区范围分别为: CREATE CREATE TABLE TABLE t1 进行增加分区等操作。 同时,分区列和分桶列在表创建之后不可更改,既不能更改分区和分桶列的类型,也不能对这些列进行任何增删操作。 所以建议在建表前,先确认使用方式来进行合理的建表。 动态分区 动态分区 动态分区功能主要用于帮助用户自动的管理分区。通过设定一定的规则,Doris 系统定期增加新的分区或删除历史分区。 物化视图 物化视图 CREATE CREATE TABLE TABLE example_db0 码力 | 203 页 | 1.75 MB | 1 年前3 百度智能云 Apache Doris 文档SQL手册 54 替换较小值,否则无法替换) 这里我们仅需指定顺序列的类型,支持时间类型或整型。Doris 会创建一个隐藏的顺序列。 动态分区相关 动态分区相关参数如下: : 用于指定表级别的动态分区功能是否开启。默认为 true。 用于指定动态添加分区的时间单位,可选择为 DAY(天),WEEK(周),MONTH(月) : 用于指定向前删除多少个分区。值必须小于0。默认为 Integer BUCKETS BUCKETS 32 32 Baidu 百度智能云文档 SQL手册 56 7. 创建一个带有 bitmap 索引以及 bloom filter 索引的内存表 8. 创建一个动态分区表。 该表每天提前创建3天的分区,并删除3天前的分区。例如今天为 ,则会创建分区名为 , , , 的分区. 分区范围分别为: CREATE CREATE TABLE TABLE t1 进行增加分区等操作。 同时,分区列和分桶列在表创建之后不可更改,既不能更改分区和分桶列的类型,也不能对这些列进行任何增删操作。 所以建议在建表前,先确认使用方式来进行合理的建表。 动态分区 动态分区 动态分区功能主要用于帮助用户自动的管理分区。通过设定一定的规则,Doris 系统定期增加新的分区或删除历史分区。 物化视图 物化视图 CREATE CREATE TABLE TABLE example_db0 码力 | 203 页 | 1.75 MB | 1 年前3
共 3 条
- 1













