ByConity 真的可以替换 ClickHouse 吗?

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 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

相关文章
|
缓存 关系型数据库 MySQL
MySQL Binlog--事务日志和BINLOG落盘参数对磁盘IO的影响
MySQL Binlog--事务日志和BINLOG落盘参数对磁盘IO的影响
324 0
|
12月前
|
存储 Java API
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
439 2
|
存储 SQL 缓存
数据库测试|Elasticsearch和ClickHouse的对决
由于目前市场上主流的数据库有许多,这次我们选择其中一个比较典型的Elasticsearch来和ClickHouse做一次实战测试,让大家更直观地看到真实的比对数据,从而对这两个数据库有更深入的了解,也就能理解为什么我们会选择ClickHouse。
数据库测试|Elasticsearch和ClickHouse的对决
|
3月前
|
数据采集 存储 BI
数据中台是什么?一文讲清为什么要建设数据中台
数据中台是企业实现数据整合与高效应用的关键平台,能够打通数据孤岛、提升决策效率并降低成本。它通过统一管理、清洗和分发数据,支撑业务创新与实时分析,是企业在数字化转型中的核心基础设施。
|
9月前
|
监控 数据挖掘 API
京东商品历史价格 API 接口系列(京东 API)
本文介绍了如何使用京东开放平台API获取商品价格信息。首先,需注册账号并创建应用以获取App Key和App Secret,进而获取Access Token。准备好开发工具后,通过调用`jd.item_search`和`jd.item_get`接口,可以分别按关键字搜索商品和获取指定商品的详细信息及价格。示例代码展示了如何使用Python的requests库进行API请求。应用场景包括价格监控、商家定价策略、电商平台数据分析及商业智能决策支持。
622 10
|
12月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
472 4
|
存储 监控 Go
面向OpenTelemetry的Golang应用无侵入插桩技术
文章主要讲述了阿里云 ARMS 团队与程序语言与编译器团队合作研发的面向OpenTelemetry的Golang应用无侵入插桩技术解决方案,旨在解决Golang应用监控的挑战。
|
数据库 开发者 Python
"揭秘FastAPI异步编程魔法:解锁高性能Web应用的终极奥义,让你的并发处理能力飙升,秒杀同行就靠这一招!"
【8月更文挑战第31天】FastAPI是一款基于Python的现代化Web框架,内置异步编程支持,可充分利用多核CPU的并行处理能力,大幅提升Web应用的性能。本文探讨FastAPI的异步编程特性,通过示例代码展示其在处理并发请求时的优势。异步编程不仅提高了并发处理能力,还降低了资源消耗,使代码更简洁易读。无论对于初创企业还是大型企业级应用,FastAPI都是构建高性能Web服务的理想选择。
391 0
|
Prometheus Cloud Native Java
OpenTelemetry: 经得起考验的工具
OpenTelemetry: 经得起考验的工具
814 2
|
监控 Java 数据处理
Spring Cloud Data Flow的实时数据处理详解
Spring Cloud Data Flow的实时数据处理详解

热门文章

最新文章