从MySQL数据库拿数据做实时报表?

公司业务越来越多,刚开始时使用的是MySQL数据库,现在数据库有很多了,估计有20多个系统,目前不允许直接从MySQL查询,以及关联操作,只能从其备库里面拉取binlog文件。同时又想做实时处理。
现在使用的是MySQL+canal+kafka+flink+数据库(Tidb\clickhouse\mysql\ES)。其中大的问题是前面的MySQL容易出现DDL语句(比如:添加字段删除字段等),会导致canal出问题,或者写数据库对应不上等。。。