数据增量处理引擎,适合通过时间全量或者增量处理数据的场景。
CREATE TABLE `it_general_data_engine_t` (
`engine_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '引擎ID',
`app_id` varchar(64) NOT NULL COMMENT '应用ID',
`engine_name` varchar(255) NOT NULL COMMENT '引擎名称',
`engine_class` varchar(255) NOT NULL COMMENT '引擎类名',
`max_execution_time` int(11) DEFAULT NULL COMMENT '引擎最长执行时间,超过这个时间会在下次任务开始时被终止',
`query_condition_increment` int(11) DEFAULT NULL COMMENT '查询条件的递增量',
`query_condition_offset` int(11) DEFAULT NULL COMMENT '查询条件偏移量(比如前移5秒)',
`query_page_size` int(11) DEFAULT NULL COMMENT '单次查询条数',
`cache_commit_size` int(11) DEFAULT NULL COMMENT '事务提交的条数阈值',
`engine_status` int(11) NOT NULL DEFAULT '1' COMMENT '引擎状态,失效,正常。',
`engine_running_status` int(11) DEFAULT '0' COMMENT '引擎执行状态',
`engine_type` int(11) DEFAULT '1' COMMENT '引擎类型(1宽表,2其它)',
`group_id` int(11) DEFAULT NULL COMMENT '引擎分组ID',
`engine_order` int(11) DEFAULT NULL COMMENT '分组内的执行顺序',
`engine_desc` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '引擎描述',
`creation_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`last_update_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`engine_id`) USING BTREE,
UNIQUE KEY `idx_en_de_uniq` (`engine_name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通用数据处理引擎';
CREATE TABLE `it_general_data_engine_group_t` (
`group_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '任务分组ID',
`app_id` varchar(64) NOT NULL COMMENT '应用ID',
`group_name` varchar(255) NOT NULL COMMENT '任务分组名称',
`group_desc` varchar(255) DEFAULT NULL COMMENT '分组描述',
`group_status` int(11) NOT NULL DEFAULT '1' COMMENT '分组状态,失效,正常。',
`creation_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`last_update_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`group_id`) USING BTREE,
UNIQUE KEY `idx_uniq` (`group_name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通用数据处理引擎分组';
CREATE TABLE `it_general_data_engine_process_t` (
`process_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`app_id` varchar(64) NOT NULL COMMENT '应用ID',
`engine_id` int(11) DEFAULT NULL COMMENT '引擎ID',
`query_condition_from` datetime NOT NULL COMMENT '本次处理的数据范围开始',
`query_condition_current` datetime DEFAULT NULL COMMENT '当前处理到的时间,即下次任务数据范围的开始',
`query_condition_to` datetime NOT NULL COMMENT '本次本应处理的数据范围最大值',
`total_count_to_process` int(11) DEFAULT NULL COMMENT '本次预计处理的数据条数',
`total_count_query_cost` decimal(11,2) DEFAULT NULL COMMENT '查询源数据总数耗时(秒),小数点后两位',
`process_begin_date` datetime DEFAULT NULL COMMENT '数据处理开始时间',
`process_end_date` datetime DEFAULT NULL COMMENT '数据处理结束时间',
`process_time_cost` decimal(11,2) DEFAULT NULL COMMENT '整个任务处理时间,小数点后两位',
`process_status` int(11) NOT NULL COMMENT '传输状态,0为未开始,100传输中,任务完成200,查询数据错误400,写入出错410,其它错误500,系统关机501,引擎收到中断指令502,引擎人为终止503,引擎被强制终止504',
`processed_current_count` int(11) DEFAULT '0' COMMENT '已处理条数(含失败的条数)',
`error_msg` text COMMENT '错误信息',
`creation_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间,即数据同步开始时间',
`last_update_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间',
PRIMARY KEY (`process_id`) USING BTREE,
KEY `idx_task_id_status_unique` (`engine_id`,`process_status`) COMMENT '任务执行状态索引',
KEY `idx_task_creation_date` (`creation_date`) USING BTREE,
KEY `idx_task_id_status` (`process_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通用数据处理引擎的执行记录';
CREATE TABLE `it_general_data_engine_statistics_t` (
`stat_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '统计ID,自增',
`app_id` varchar(64) NOT NULL COMMENT '应用ID',
`engine_id` int(11) NOT NULL COMMENT '引擎ID',
`engine_name` varchar(255) NOT NULL COMMENT '引擎名称',
`group_id` int(11) DEFAULT NULL COMMENT '分组ID',
`group_name` varchar(255) DEFAULT NULL COMMENT '分组名称',
`execution_date` varchar(32) NOT NULL COMMENT '执行时间(日,月)',
`execution_times` int(11) DEFAULT '0' COMMENT '执行次数',
`succeed_times` int(11) DEFAULT '0' COMMENT '执行成功次数',
`failed_times` int(11) DEFAULT '0' COMMENT '执行失败次数',
`processed_total_count` int(11) DEFAULT '0' COMMENT '处理数据总数',
`succeed_total_count` int(11) DEFAULT '0' COMMENT '处理成功的数据总数',
`failed_total_count` int(11) DEFAULT '0' COMMENT '处理失败的数据总数',
`execution_elapsed_time` decimal(11,2) DEFAULT NULL COMMENT '执行总耗时',
`execution_efficiency` varchar(255) DEFAULT NULL COMMENT '执行效率',
`stat_type` int(11) NOT NULL COMMENT '统计类型(1日,2月)',
`creation_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
PRIMARY KEY (`stat_id`),
UNIQUE KEY `idx_engine_stat_uniq` (`engine_id`,`execution_date`,`stat_type`),
KEY `idx_engine_stat_engine_id` (`engine_id`),
KEY `idx_engine_stat_engine_date_type` (`stat_type`,`execution_date`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='引擎执行情况统计表';