基于开源云原生数据仓库 ByConity 多场景测试

136 阅读3分钟

基于开源云原生数据仓库 ByConity 多场景测试

什么是 ByConity

ByConity 是一款开源云原生数据仓库,可以满足用户的多种数据分析场景。ByConity 增加了 bsp 模式:可以进行 task 级别的容错;更细粒度的调度;基于资源感知的调度。希望通过 bsp 能力,把数据加工(T)的过程转移到 ByConity 内部,能够一站式完成数据接入、加工和分析。

测试环境

登录 ECS 服务器

开始测试数据

使用测试数据库

执行测试 SQL

这个 sql 语句,主要用来分析客户在不同城市的购买行为。

查询的主要目的:

  1. 找出在特定条件下购买商品的顾客

  2. 分析这些顾客的购买行为,特别是购买城市与当前居住城市不同的情况

  • 识别潜在的营销机会或客户行为模式

数据筛选条件:

  • 家庭特征:

  • 家庭中有 4 个家属,或

  • 家庭拥有 3 辆车

  • 购买时间:

  • 在 1999 年、2000 年、2001 年

  • 仅限周末(周六、周日)

  • 购买地点:

  • 限定在'Fairview'、'Midway'等几个特定城市

  • 地理条件:

  • 购买城市 (bought_city) 与当前居住城市 (current_addr.ca_city) 不同

响应结果集

设置内存使用限制参数

配置内存限制参数要围绕下面三个指标去配置:

  • 根据服务器实际内存配置调整

  • 不能设置过低,影响查询性能

  • 不能设置过高,避免系统资源过度消耗

这样可以合理的高效的执行查询。

内存设置为 28GB

执行 sql

上面这条 sql,我们是在 内存为 28GB 场景进行测试查询,主要目的是分析特定条件下的销售数据和客户信息以及性能。

查询的条件

人口统计学条件:

  • 家庭特征:
  • 家庭成员数量为 6 人,或
  • 家庭拥有超过 2 辆车

时间条件:

  • 限定为周一
  • 年份:1999、2000、2001

门店条件:

  • 员工数量在 200-295 人之间

主要围绕以下 3 个目标:

  • 找出满足特定条件的销售记录

  • 获取相关客户的基本信息

  • 分析特定人口统计学特征下的销售数据

主要场景:

  • 精准营销分析

  • 特定人口统计学群体的消费行为研究

  • 销售策略优化

  • 客户细分和 targeting

响应结果集

执行的性能报告

100 rows in set. Elapsed: 4.469 sec. Processed 12.08 million rows, 143.34 MB (2.70 million rows/s., 32.08 MB/s.)

性能指标解读:

  1. 结果行数:100 行(返回的数据量)
  2. 总耗时:4.469 秒
  3. 处理的总行数:12.08 百万行
  4. 数据量:143.34 MB
  5. 处理速度:
  6. 行处理速度:2.70 百万行/秒
  7. 数据处理速度:32.08 MB/秒

最后

总的来说,ByConity 的技术优势在于其云原生架构、实时数据分析能力、高效的查询引擎和分布式计算能力,以及强大的兼容性和运维自动化功能,尤其在面向大规模实时数据分析的场景下展现出较强的竞争力。