美文网首页
clickhouse-MaterializeMySQL

clickhouse-MaterializeMySQL

作者: 越狱的灵感 | 来源:发表于2022-06-10 09:13 被阅读0次

    参考文档

    https://clickhouse.tech/docs/en/engines/database-engines/materialize-mysql/

    前言

    MaterializeMySQL 于mysql引擎的主要区别在于,mysql引擎是不存储数据的,而MaterializeMySQL会把直接伪装成mysql的一个从库。给库中的每个表建立ReplacingMergeTreeengine表, 并实时同步mysql数据(当前版本还无法到完全同步),所以mysql需要开启binlog

    试一试

    1,mysql开启binglog

    sudo vi  /etc/mysql/mysql.cnf
    添加
    [mysqld]
    server_id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    重启
    sudo service mysql restart
    查看binlog
    sudo mysqlbinlog /var/log/mysql/mysql-bin.000001 |more
    

    2,mysql开启GTID(主从同步用)

    SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'WARN';
    SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'ON';
    SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';
    SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';
    SET GLOBAL GTID_MODE = 'ON';
     
    #检测是否开启成功
    show variables like 'gtid_mode';
    show variables like 'ENFORCE_GTID_CONSISTENCY';
    

    3,clickhouse 开启mysql物化

    SET allow_experimental_database_materialize_mysql=1;
    

    4,建库

    CREATE DATABASE mysql_testDB ENGINE = MaterializeMySQL('xxxxx:3306', 'test', 'xxxx', 'xxxx')
    

    5,查看


    1.png

    6,查看同步数据

    --执行SQL
    SELECT database,table, formatReadableSize ( sum( bytes ) ) AS size FROM system.parts WHERE active and database='mysql_testDB' GROUP BY database,table ORDER BY sum( bytes ) DESC
    
    2.png

    可以看到数据已经存储到了ck服务中。

    总结

    整体上来说,MaterializeMySQL是打通了mysql到ck高速公路,使用ck来接管mysql的数据分析,但是mysql和ck的数据同步还没有到mysql集群那样完善的程度

    1,不支持库和表级别的操作,表库修改后,只能重建。

    2,有些mysql字段不一定ck支持。

    3,第一次数据全量同步,然后后面做实时同步增量更新

    4,不支持级联操作。

    5,mysql表数据的的update 和delete变化反馈为_sign和_version标识位的变化。

    6,当前MaterializeMySQL只支持库级别的同步,不支持表级别同步

    7,mysql ddl语句也相应受限

    考虑到以上情况,如果是小表,且数据结构变化比较多,建议使用mysql引擎,如果是中大型表,且数据仅用于分析,数据结构变化少,强烈建议使用MaterializeMySQL。如果是超大型表比如上亿级别的数据量,还是建议通过第三方工具同步到ck直接建表分析。不过MaterializeMySQL在社区活跃迭代中,后期可待,不久的未来肯定可以说下mysql级别的成熟同步,哈哈

    Tips

    1,新版本clickhouse已经重命名为MaterializedMySQL

    相关文章

      网友评论

          本文标题:clickhouse-MaterializeMySQL

          本文链接:https://www.haomeiwen.com/subject/ppvjmrtx.html