ByConity 真的可以替换 ClickHouse 吗?

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 随着 ByConity 应用得越来越广泛,ClkLog 考虑到有用户或许已经使用了 ByConity 作为数据仓库,那么为了验证用户是否可以直接使用 ByConity 来替换掉 ClickHouse 搭建 ClkLog,我们专门针对 ByConity 的兼容性做了一组测试。

写在之前

近期 ByConity 在北京举办了“ ByConity⼀周年:云原⽣数仓创新之路 ”活动,ClkLog 作为生态合作伙伴收到了 ByConity 的活动邀请,在此表示感谢。

ByConity 是字节跳动开源的云原生数据仓库,它采用计算-存储分离的架构,支持多个关键功能特性,如计算存储分离、弹性扩缩容、租户资源隔离和数据读写的强一致性等。通过利用主流的 OLAP 引擎优化,如列存储、向量化执行、MPP 执行、查询优化等,ByConity 可以提供优异的读写性能。

随着 ByConity 应用得越来越广泛,ClkLog 考虑到有用户或许已经使用了 ByConity 作为数据仓库,那么为了验证用户是否可以直接使用 ByConity 来替换掉 ClickHouse 搭建 ClkLog,我们专门针对 ByConity 的兼容性做了一组测试。

兼容性测试案例

以下内容将主要介绍 ByConity 在 ClkLog 中的兼容性测试过程与结论。

数据库搭建步骤说明

第一步:获取并安装 ByConity

1.下载 ByConity0.3.2 docker-compose 部署包,以简单模式启动。(详细说明请见:ByConity 官网-文档-ByConity 部署-部署要求)

2.访问 8123 端口,可见数据库已启动。
image.png

第二步:部署 ClkLog 并更改数据库实例配置

1.访问 clklog 官网(https://clklog.com/#/quickstart/docker-installation),下载 docker-compose 部署包。

2.修改 docker-compose-clklog-simple.yml 部署文件。修改 SPRING_DATASOURCE_CLICKHOUSE_JDBC_URL 环境变量,把 clickhouse 的实例 url 改为之前启动的 ByConity 实例 url,并修改.env 文件中的相关数据库用户名密码键值。

3.运行 clklog_init.sh 脚本修改挂载目录权限。

4.启动 docker-compose-clklog-simple.yml。

5.在 ByConity 实例内看到 clklog 库初始化完成。
image.png

第三步:确认数据库连通

1.访问 clklog-ui,各页面访问无异常。
image.png

第四步:前端埋点集成测试

1.在测试站点引用神策 web js sdk,更改埋点接收地址 server_url(参考官网 SDK 埋点集成说明)。
image.png

2.访问测试站点,进入 clklog-ui 的数据概览,确认数据采集成功
image.png

兼容性测试结论


ClkLog 支持使用 ByConity 作为数据仓库,且保证系统可以正常运行,满足预期兼容性目标。

在整体搭建过程中我们发现,ByConity 与 ClickHouse 在数据库初始化上的差异不大。安装上来说,使用 docker-compose 启动服务,两者难易程度相当,若使用软件包分步安装,ByConity 相对会复杂一些。

以上是 ClkLog 对 ByConity 兼容测试的说明。

如果大家对使用 ByConity 搭建数据仓库感兴趣想一起研究或者是有心得体会想要分享,都欢迎加入到我们的沟通群中。

ClkLog产品简介

ClkLog 是一款记录并分析用户行为和画像的开源软件,技术人员可快速完成私有化部署。

ClkLog 基于神策分析 SDK,采用 ClickHouse 数据库对采集数据进行存储,使用前后端分离的方式来实现。在这里,你可以轻松看到用户访问网页、APP、小程序或业务系统的行为轨迹,同时也可以从时间、地域、渠道、用户访客类型等多维度了解用户的全方位信息。

ClkLog 在 4 月上线了事件分析功能,目前也正在进行自定义分析的开发工作,后续还将继续完善漏斗分析、留存分析等功能。之前等待这些新功能的伙伴们,可以快快关注起来,欲知详情欢迎咨询小编。


结束语.png

相关文章
|
4月前
|
SQL 关系型数据库 MySQL
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
341 0
|
4月前
|
关系型数据库 Linux PostgreSQL
这个错误是因为Flink CDC在尝试访问PostgreSQL的"decoderbufs"文件时,发现该文件不存在
【1月更文挑战第23天】【1月更文挑战第111篇】这个错误是因为Flink CDC在尝试访问PostgreSQL的"decoderbufs"文件时,发现该文件不存在
107 11
|
SQL 存储 算法
Clickhouse中支持的Join类型
此为Join探索系列的第一篇
|
2月前
|
SQL 关系型数据库 数据处理
实时计算 Flink版产品使用问题之如何去除源数据库的ID
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
27天前
|
SQL 关系型数据库 MySQL
实时数仓 Hologres操作报错合集之Flink CTAS Source(Mysql) 表字段从可空改为非空的原因是什么
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
2月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版产品使用问题之如何排除某个列进行同步MySQL数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute操作报错合集之配置mysql数据源querysql模式,同步到MC时遇到报错,该怎么处理
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
3月前
|
JSON 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在使用CDAS语法同步MySQL数据到Hologres时,如果开启了字段类型宽容模式,MySQL中的JSON类型会被转换为什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之启用hive兼容的时候,某个字段是null,是否会把这个字段当成空白连起来
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3月前
|
SQL 分布式计算 安全
ClickHouse(22)ClickHouse集成HDFS表引擎详细解析
ClickHouse的HDFS引擎允许直接在Hadoop生态系统内管理数据。使用`ENGINE=HDFS(URI, format)`,其中URI指定HDFS路径,format定义文件格式(如TSV、CSV或ORC)。表可读写,但不支持`ALTER`、`SELECT...SAMPLE`、索引和复制操作。通配符可用于文件路径,如`*`、`?`和范围`{N..M}`。Kerberos认证可配置。虚拟列包括文件路径 `_path` 和文件名 `_file`。有关更多信息,参见相关文章系列。
70 0