作者:苏琳

多点DMALL 供应链补货团队负责人

基于 Databend 实现的海量日志实时查询服务 | 多点DMALL

多点DMALL 成立于 2015 年。从创立伊始,就致力于以大数据、云核算、AI 等数字技能改变零售业,是一站式全途径数字零售解决计划服务商,数字化解构重构零售工业,供给端到端的商业 SaaS 解决计划。

多点DMALL 经过 DMALL OS 供给零售云一站式解决计划,帮助零售商和品牌商数字化转型,完成线上线下一体化;同时经过多点 App 等工具赋能全途径经营才能,并供给各类增值服务。

需求概述

商家要求支撑 4 个月的日志查询,现在线上只支撑 1 个月。每天日志是 400 万行项,1 个月的日志量是 1.2 亿,考虑到后续事务的增加,估计每月日志数据量会增加到 2.5亿;4 个月的日志量是 10 亿行项左右。

现选用的 MongoDB 集群因资源受限无法支撑 10 亿行项存储及查询,急需寻觅别的的解决计划。

Databend的介绍及优势

Databend 是一个开源的、彻底面向云架构的新式数仓,它供给快速的弹性扩展才能,并结合云的弹性、简单性和低本钱,使 Data Cloud 构建变得愈加简单。Databend 把数据存储在 AWS S3 ,Azure Blob 等这些云上的存储系统,能够使不同的核算节点挂载同一份数据,然后做到较高的弹性,完成对资源的精细化控制。Databend 在设计上专注以下才能:

  • 高功能且布置运用本钱低: 在供给更高的功能的同时,布置本钱不到传统数据库(MySQL、MongoDB)的 1/10;

  • 支撑规范 sql 语法: 能兼容 Mybatits 等常用 ORM 结构,关于研制来说没有任何学习本钱。

  • 支撑主动索引: 系统会主动对所有字段树立索引;无需研制进行优化。

技能选型

由于 Databend 能够处理海量数据的查询,并且供给了实时查询和处理才能。刚好满意了多点现在所求。基于以上,我们挑选 Databend 完成海量日志实时查询的原因包含有以下四点:

1️⃣ 基于目标存储,本钱低

SSD 块设备的 1/10;按实践用量付费

2️⃣ 在线查询

无须从冷备中恢复;可接受的查询功能

3️⃣ 支撑大单表

TB 级别;分批继续归档

4️⃣ 兼容 TiDB

MySQL 协议;数据类型兼容

运用 Databend计划

现在运用 Databend 主要是用在核算日志查询场景。

核算任务会将核算日志保存到 MongoDB;然后会经过守时任务,将日志从 MongoDB 同步到 Databend 供页面查询。

基于 Databend 实现的海量日志实时查询服务 | 多点DMALL

基于 Databend的功能测验

测验环境

Databend 是核算、存储分离架构

核算节点: 1 * 4C16G100G (费用 70美元/月)

**存储:**运用目标存储,按需付费

测验表结构和数据样例

1️⃣ 表结构

CREATETABLE`logs`(
`tenant`VARCHARCOMMENT,
`batch_seq`INTCOMMENT,
`order_situations`VARIANTCOMMENT,
`day`VARCHARCOMMENT,
`shop_code`VARCHARCOMMENT,
`goods_code`VARCHARCOMMENT,
`supplier_code`VARCHARCOMMENT,
`out_supplier_code`VARCHARCOMMENT,
`out_supplier_type`VARCHARCOMMENT,
`today_order`INTCOMMENT,
`category`VARCHARCOMMENT,
`sec_category`VARCHARCOMMENT,
`thi_category`VARCHARCOMMENT,
`log_detail`JSONCOMMENT
)ENGINE=FUSE

2️⃣ 查询功能

基于 Databend 实现的海量日志实时查询服务 | 多点DMALL

测验总结

在10亿数据量级下,常用查询均可做到秒级呼应。

海量日志实时查询服务通用化解决计划

基于 Databend 实现的海量日志实时查询服务 | 多点DMALL

Databend 适用计划

  • 大规模数据查询: Databend 能够处理海量数据的查询。如果你需要对大规模数据进行杂乱的查询和剖析,Databend 能够作为一个高效的数据湖仓运用。

  • 数据仓库和数据湖: Databend 能够作为数据仓库或数据湖的核心组件,用于存储和管理结构化和半结构化数据。它支撑规范的 SQL 查询言语,使得数据剖析师和工程师能够方便地进行数据探索和剖析。

  • 实时数据处理: Databend 供给了实时查询和处理才能,适用于对实时数据流进行查询和剖析的场景。你能够将实时数据流导入到 Databend 中,并经过 SQL 查询言语实时剖析数据。