StarRocks适配GaussDB(for Mysql)开发任务心得

举报
yd_229853316 发表于 2024/11/29 14:33:02 2024/11/29
【摘要】 StarRocks 是一个高性能分布式关系型列式数据库,通过MPP执行框架,单节点每秒可处理多达100亿行数据,同时支持星型模型和雪花模型,属于 Linux 基金会旗下项目。

背景介绍

开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/)  通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。

适配过程

  1. 购买 华为云鲲鹏EulerOS环境的ECS 搭建StarRocks运行环境并启用
  2. 根据任务计划书DEMO设计,准备源端数据库环境以及源数据;
  3. 根据任务计划书DEMO设计,准备目标端数据库环境以及元数据(表结构);
  4. 根据任务计划书DEMO设计,使用flink搭建任务流,实现数据的实时同步。

适配准备

  1. 华为云鲲鹏EulerOS环境的ECS(华为云购买);
  2. GaussDBforMysql数据库(华为云购买);
  3. StarRocks数据库集群(华为云购买ECS后自建)。

2.1 ECS/GaussDB配置

GaussDBforMysql

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:鲲鹏计算
  • CPU规格:large.2
  • CPU规格:2vCPUs&&4GiB
  • 镜像类型:公共镜像
  • 镜像:openEuler 20.03 64bit with ARM100GiB

鲲鹏ECS X3:

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:x86计算
  • CPU规格:xlarge.4
  • CPU规格:8vCPUs&&24GiB
  • 镜像类型:公共镜像
  • 镜像:Huawei Cloud EulerOS 2.0 标准版 64 ARM

2.2 其它

ECS安全组配置 配置规则 → 出/入方向规则 → 一键放通常用端口

也可直接放通所有端口

3 Demo开发

  1. 准备源端数据库环境以及源数据--源端有数据。
  2. 准备目标端StarRocks数据库环境以及元数据(表结构)--目标端没有数据
  3. Flinkcdc 启动工作流 第一次抽取全量历史数据,后续实时同步源端变化数据 。
  4. 数据验证


4 适配过程中的问题记录

  • StarRocks、Flink 集群需要开启免密登录并同步时钟、时区

         参考:https://cloud.tencent.com/developer/article/2419935

  • 关于StarRocks 集群

         StarRocks集群 至少需要 3个节点 否则会报错 没有可用的节点,测试环境推荐 1个FE  3个BE  (FE和BE 可共用一个节点)

    • Flink 实现 数据同步方法 优缺点比较      

            1.flink 驱动jar包的方式,可内部实现复杂处理数据逻辑,自定义场景。   

            2.flinkcdc 配置yaml 文件 即 pipeline 方式(推荐) 可同时同步多表,配置较为简单 环境依赖较多  不能实现复杂逻辑 只做数据同步 不能自定义场景。

    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。