当前位置: 首页 > news >正文

(一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。

本文简单介绍一下ClickHouse 中的 MaterializedMySQL 数据库引擎的使用方法、设置、特性和限制。以下是具体的内容和步骤:

  1. 介绍和使用说明:

    • MaterializedMySQL 是一个实验性的数据库引擎。
    • 它允许创建一个 ClickHouse 数据库,其中包含了 MySQL 中的所有表和数据。
    • ClickHouse 作为 MySQL 的副本,读取 binlog 并执行 DDL 和 DML 查询。
  2. 创建数据库:

    • 使用 CREATE DATABASE 语句来创建一个 MaterializedMySQL 数据库。
    • 语法示例:CREATE DATABASE [IF NOT EXISTS] db_name ENGINE = MaterializedMySQL('host:port', ['database' | database], 'user', 'password') [SETTINGS ...] [TABLE OVERRIDE table1 (...), TABLE OVERRIDE table2 (...)]
  3. 引擎参数和设置:

    • 包括 MySQL 服务器端点、数据库名称、用户和密码。
    • 引擎设置包括缓存行数、缓存字节数、数据缓存时间等。
  4. MySQL 服务器端的设置:

    • default_authentication_plugin 必须设置为 mysql_native_password
    • gtid_mode 必须开启,并设置 enforce_gtid_consistency = on
  5. 虚拟列:

    • MaterializedMySQL 中使用 ReplacingMergeTree 表,包含虚拟的 _sign_version 列。
  6. 数据类型支持:

    • 列出了 MySQL 数据类型和相对应的 ClickHouse 数据类型。
  7. 兼容性限制和特定建议:

    • 比如 MySQL 表必须包含主键,枚举字段值的范围限制等。
  8. DDL 查询:

    • MySQL 的 DDL 查询会转换为相应的 ClickHouse DDL 查询。
  9. 数据复制:

    • 描述了如何处理 INSERT、DELETE 和 UPDATE 查询。
  10. 从 MaterializedMySQL 表中选择数据:

    • SELECT 查询的特定要求,比如自动应用 FINAL 修饰符和 _sign=1 的默认条件。
  11. 索引转换:

    • MySQL 的 PRIMARY KEYINDEX 转换为 ClickHouse 表的 ORDER BY 语句。
  12. 表覆盖:

    • 介绍了如何使用表覆盖来自定义 ClickHouse DDL 查询,优化架构。
  13. 使用示例:

    • 提供了在 MySQL 和 ClickHouse 中创建和操作数据库的示例。
  14. 注意事项:

    • 包括如何避免破坏复制、手动操作数据库和表的禁止等。

这个文档为 ClickHouse 用户提供了一个全面的指南,用于理解和使用 MaterializedMySQL 引擎,包括如何设置和操作相关的数据库和表。

相关文章:

  • RFID技术在汽车制造:提高生产效率、优化物流管理和增强安全性
  • 力扣416. 分割等和子集(java 动态规划)
  • Oraclelinux部署Oracle服务
  • 主流级显卡的新选择,Sparkle(撼与科技)Intel Arc A750兽人体验分享
  • 第九部分 图论
  • Spark编程实验三:Spark SQL编程
  • GrayLog日志平台的基本使用-ssh接入Dashboards展示
  • 使用python netmiko模块批量配置Cisco、华为、H3C路由器交换机(支持 telnet 和 ssh 方式)
  • QT 输入框输入限制 正则表达式限制 整理
  • Midjourney v6 正式发布,AI创新工坊同步更新
  • 与擎创科技共建一体化“数智”运维体系,实现数字化转型
  • 在k8s中将gitlab-runner的运行pod调度到指定节点
  • 【学习笔记】Java函数式编程03 Stream流-终结操作
  • 在ajax中使用callback
  • CNVD原创漏洞审核和处理流程
  • [deviceone开发]-do_Webview的基本示例
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • ES6系列(二)变量的解构赋值
  • HTTP中GET与POST的区别 99%的错误认识
  • Java精华积累:初学者都应该搞懂的问题
  • JWT究竟是什么呢?
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MySQL数据库运维之数据恢复
  • MySQL用户中的%到底包不包括localhost?
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python爬虫--- 1.3 BS4库的解析器
  • uni-app项目数字滚动
  • 工作手记之html2canvas使用概述
  • 官方解决所有 npm 全局安装权限问题
  • 聚类分析——Kmeans
  • 聊聊flink的TableFactory
  • 前端学习笔记之观察者模式
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 实现菜单下拉伸展折叠效果demo
  • 使用Swoole加速Laravel(正式环境中)
  • 微信小程序填坑清单
  • 我有几个粽子,和一个故事
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (2)STM32单片机上位机
  • (day 12)JavaScript学习笔记(数组3)
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (八十八)VFL语言初步 - 实现布局
  • (第61天)多租户架构(CDB/PDB)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .apk文件,IIS不支持下载解决
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net core控制台应用程序初识