我是mysql的初学者,正在寻找Maven建议。。。
我需要创建4个日志存储过程:
打开日志(代码、注解)
关闭日志(结果)
开始行动(行动、评论)
结束动作(结果)
要在存储过程中使用它们,请执行以下操作: START TRANSACTION; CALL open_log('ETL_ABC', 'Running ETL process ABC'); CALL begin_action('Refreshing Dimensions', 'CUSTOMERS, PRODUCTS, STORES'); MERGE INTO customers ...; MERGE INTO products ...; MERGE INTO stores' ...; CALL end_action('Done'); CALL begin_action('Loading new SALES data', 'For 01-APR-2018'); INSERT INTO sales ...; CALL end_action('... rows added'); CALL close_log('Successfully completed'); COMMIT;
open\u log过程应该在process\u logs表中插入一行。close\u log过程应使用result和end\u date\u time值更新该行。begin\ action过程应该在log\数据表中插入一行。结束操作过程应该在同一个日志数据表中插入另一行。所有这些插入和更新都应该独立于主事务。
系统中可能有许多etl进程同时运行并使用此日志机制。同时,支持人员可以手动查询这些日志表,以查看正在运行什么以及进程处于什么阶段。
在oracle中,我可以通过使用pragma-u事务声明日志记录过程来实现这一点。
在mysql/mariadb中,我认为我唯一的选择是使用myisam存储引擎来创建日志表。我关心的是并发性。我估计我可能需要每秒最多允许100次日志写入,每分钟最多允许10次查询。查询应该很快,因为两个日志表都将被正确索引。
请给我你的意见/备选方案。
暂无答案!
目前还没有任何答案,快来回答吧!