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

作者:苏琳

多点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 的性能测试

👨🏻‍💻 测试环境

Databend 是计算、存储分离架构

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

**存储:**使用对象存储,按需付费

👨🏻‍💻 测试表结构和数据样例

1️⃣ 表结构

CREATE TABLE `logs` (
  `tenant` VARCHAR COMMENT,
  `batch_seq` INT COMMENT,
  `order_situations` VARIANT COMMENT,
  `day` VARCHAR COMMENT,
  `shop_code` VARCHAR COMMENT,
  `goods_code` VARCHAR COMMENT,
  `supplier_code` VARCHAR COMMENT,
  `out_supplier_code` VARCHAR COMMENT,
  `out_supplier_type` VARCHAR COMMENT,
  `today_order` INT COMMENT,
  `category` VARCHAR COMMENT,
  `sec_category` VARCHAR COMMENT,
  `thi_category` VARCHAR COMMENT,
  `log_detail` JSON COMMENT
) ENGINE=FUSE

2️⃣ 查询性能

👨🏻‍💻 测试总结

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

海量日志实时查询服务通用化解决方案

Databend 适用方案

  • 大规模数据查询: Databend 可以处理海量数据的查询。如果你需要对大规模数据进行复杂的查询和分析,Databend 可以作为一个高效的数据湖仓使用。

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

  • 实时数据处理: Databend 提供了实时查询和处理能力,适用于对实时数据流进行查询和分析的场景。你可以将实时数据流导入到 Databend 中,并通过 SQL 查询语言实时分析数据。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5489811/blog/10090767

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。