基于 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 查询语言实时分析数据。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
mysqldump 搭建复制报错,竟然是因为这个!
作者详细分析了一个 mysqldump 搭建复制失败的问题分析过程和改进建议。 作者:李富强 爱可生 DBA 团队成员,熟悉 MySQL,TiDB,OceanBase 等数据库。相信持续把对的事情做好一点,会有不一样的收获。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 故障现象 某客户反馈,使用 mysqldump 搭建从库,启动复制后,复制报错:Could not execute Write_rows event on table xxx; Duplicate entry 'xxx' for key 'PRIMARY'。 客户使用的命令(看起来没啥问题)。 -- 主库备份 shell> mysqldump -uroot -pxxx --master-data=2 --single-transaction -A --routines --events --triggers >/tmp/xxx.sql -- 从服务器还原备份并启动复制 mysql>reset master; mysql>reset slave ...
- 下一篇
在 “Baby 容器” WasmEdge 里运行 Baby 羊驼 llama 2
昨天,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 开源了 llama2.c 。 只用 500 行纯 C 语言就能训练和推理 llama 2 模型的框架,没有任何繁杂的 python 依赖。这个项目一推出就受到大家的追捧,24 小时内 GitHub 收获 4000 颗星! 图片来源:https://github.com/karpathy/llama2.c 可是,C 编译的原生机器码不能跨平台,不安全,也不可被调度。这些问题使得它的应用场景非常有限。这时,一个大胆的想法油然而生!把 llama2.c 编译成 Wasm 在 WasmEdge 里运行! 这么做的好处是: 轻量级:一个 Wasm 文件只有几十 KB 大小,相比于 Python 镜像动辄几百上千 MB,差了一万倍。 安全:沙箱机制,提供隔离性,适合多租户的云部署。 可移植:Wasm 文件无需任何改变,可以在 x86, ARM, Apple, RISC-V 机器上运行 性能:没有冷启动,且运行速度接近本机速度 能够被 Docker 和 kuberbetes 等容器工具进行管理 下面,我们来具体看看...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块