分区Oozie表更快速清除

时间:2013-10-01 08:56:15

标签: mysql hadoop database-administration oozie

我们运行oozie并且过于频繁地安排作业会导致数据库快速增长,从而导致数据库速度变慢。

所以我们开始频繁清除记录并且随着时间的推移(即从表中删除*)引入了锁,这些锁再次开始导致应用程序变慢。

我们开始研究基于表中的start_time或end_time字段来对表进行分区的选项,但是当我们意识到我们无法在不是原始密钥的密钥上对mysql表进行分区时,我们遇到了死胡同。

示例表desc

CREATE TABLE `WF_JOBS` (

  `id` varchar(255) NOT NULL,
  `app_name` varchar(255) DEFAULT NULL,
  `app_path` varchar(255) DEFAULT NULL,
  `conf` mediumtext,
  `group_name` varchar(255) DEFAULT NULL,
  `parent_id` varchar(255) DEFAULT NULL,
  `run` int(11) DEFAULT NULL,
  `user_name` varchar(255) DEFAULT NULL,
  `bean_type` varchar(31) DEFAULT NULL,
  `auth_token` text,
  `created_time` datetime DEFAULT NULL,
  `end_time` datetime DEFAULT NULL,
  `external_id` varchar(255) DEFAULT NULL,
  `last_modified_time` datetime DEFAULT NULL,
  `log_token` varchar(255) DEFAULT NULL,
  `proto_action_conf` text,
  `sla_xml` text,
  `start_time` datetime DEFAULT NULL,
  `status` varchar(255) DEFAULT NULL,
  `wf_instance` mediumblob,
  PRIMARY KEY (`id`),
  KEY `I_WF_JOBS_DTYPE` (`bean_type`),
  KEY `I_WF_JOBS_END_TIME` (`end_time`),
  KEY `I_WF_JOBS_EXTERNAL_ID` (`external_id`),
  KEY `I_WF_JOBS_LAST_MODIFIED_TIME` (`last_modified_time`),
  KEY `I_WF_JOBS_STATUS` (`status`)

) 

关于如何在不引起锁定的情况下清除或删除表的任何线索,或者是否有办法在mysql中对表进行分区而不创建任何其他键以便我们可以直接删除分区

-jabir

0 个答案:

没有答案