SelectDB 是基于 Apache Doris 构建的现代化数据仓库,支持大规模实时数据上的极速查询分析。
实时数据写入与极速查询响应
秒级的实时数据写入,以及从数据库和数据流中流式数据同步。实时更新、实时追加和实时预聚合的数据存储引擎。在实时数据服务和交互式即席查询上都拥有极速响应。
单一系统可支持各种分析负载
既支持结构化数据分析,也支持半结构化数据分析。既支持实时数据分析,也支持批量数据处理。既可以查询内部表数据,也可以作为联邦查询引擎查询外部数据湖和数据库。
弹性架构实现高效的资源管理
分布式原生设计,支持线性可扩展,无论是存算一体还是存算分离,无论是私有化部署还是云原生服务,都能根据负载需求灵活高效调整存储和计算资源使用,满足各种规模上的数据处理需求。
开放设计简化与外围系统集成
基于开源并兼容 Apache Doris,实现与 Doris 上下游生态的对接。实现 MySQL 的连接协议、功能和 SQL 方言,兼容 MySQL 生态。开放数据访问接口,方便被各种外部查询引擎来查询。
Apache Doris 在 2.1 版本中引入了 Job Scheduler 功能,实现了自主任务调度能力,调度的精准度可达到秒级。该功能的推出不仅保障了数据导入的完整性和一致性,更让用户能够灵活、便捷调整调度策略。同时,因减少了对外部系统的依赖,也降低了系统故障的风险和运维成本,为社区用户带来更加统一、可靠的使用体验。
引入 Job Scheduler
Doris Job Scheduler 是一种基于预设计划运行的任务管理系统,能够在特定时间点或按照指定时间间隔触发预定义操作,实现任务的自动化执行。Job Scheduler 具备以下特点:
高效调度:Job Scheduler 可以在指定的时间间隔内安排任务和事件,确保数据处理的高效性。采用时间轮算法保证事件能够精准做到秒级触发。
灵活调度:Job Scheduler 提供了多种调度选项,如按 分、小时、天或周的间隔进行调度,同时支持一次性调度以及循环(周期)事件调度,并且周期调度也可以指定开始时间、结束时间。
事件池和高性能处理队列:Job Scheduler 采用 Disruptor 实现高性能的生产消费者模型,最大可能的避免任务执行过载。
调度记录可追溯:Job Scheduler 会存储最新的 Task 执行记录(可配置),通过简单的命令即可查看任务执行记录,确保过程可追溯。
高可用:依托于 Doris 自身的高可用机制,Job Schedule 可以很轻松的做到自恢复、高可用。
语法及示例
01 语法说明
一条有效的 Job 语句需包含以下内容:
关键字 CREATE JOB 需加作业名称,它在数据库中标识唯一事件。
ON SCHEDULE 子句用于指定 Job 作业的类型、触发时间和频率。
AT timestamp 用于一次性事件。它指定 JOB 仅在给定的日期和时间执行一次,AT CURRENT_TIMESTAMP 指定当前日期和时间。因 JOB 一旦创建则会立即运行,也可用于异步任务创建。
EVERY:用于周期性作业,可指定作业的执行频率,关键字后需指定时间间隔(周、天、小时、分钟)。
Interval:用于指定作业执行频率。1 DAY 表示每天执行一次, 1 HOUR表示每小时执行一次, 1 MINUTE 表示每分钟执行一次, 1 WEEK 表示每周执行一次。
子句EVERY包含可选 STARTS子句。STARTS后面为 timestamp 值,该值用于定义开始重复的时间,CURRENT_TIMESTAMP 用于指定当前日期和时间。JOB 一旦创建则会立即运行。
子句EVERY包含可选 ENDS子句。ENDS 关键字后面为***timestamp*** 值,该值定义 JOB 事件停止运行的时间。
DO 子句用于指定 Job 作业触发时所需执行的操作,目前仅支持 Insert 语句




