利用 Databend + COS助力 CDH 分析 | 某医药集团

news2024/11/15 8:30:03

作者: 黄志武

某医药集团信息中心数据库组组长,13 年数据库行业从业经历,Oracle OCM,关注 Oracle、MySQL、Redis、MongoDB、Oceanbase、Tidb、Polardb-X、TDSQL、CDH、Clickhouse、Doris、Databend 等多方面的关键领域技术,服务过传统通信、电力,互联网、移动互联网等行业。

某医药集团是中国具有影响力的药品零售连锁集团化企业。在数字化转型升级的趋势背景下,支撑持续稳定的零售业务生态,离不开高效的信息化、数据化、智能化的技术支持。

需求概述

某医药集团零售供应链数据庞大,涉及大表较多,最大单表数据量达到 93 亿,历史数据存储在大数据服务 CDH 。现在大数据平台数据增长迅速, 数据量超过 30T,机器集群硬件配置不足以承担目前的业务压力,成本投入也越来越大。

由于技术架构升级改造原因,该 CDH 需要下线,但是业务部门提出需要保留数据用于审计追溯。若考虑通过关系型分布式数据库进行迁移,如 OceanBase、TiDB,对于历史数据的关联并行查询也是一种挑战;由于时间紧迫,急需一种投入成本低、见效快的替代方案。

Databend 是一款开源、易用的云数仓,面向对象存储设计,支持使用 COS 对象存储作为存储后端,并且能够提供对复杂查询的支持,完美匹配大参林的业务需求。

认识 COS 对象存储

COS 对象存储(Cloud Object Storage)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。具备稳定持久、安全可靠、简单易用、接入便捷的特点。

产品优势

  • 稳定持久

提供数据跨多架构、多设备冗余存储,为用户数据提供异地容灾和资源隔离功能,实现12个9的数据可靠性和和99.995% 的可用性。

  • 安全可靠

提供防盗链、数据加密、监控告警等功能综合保护数据安全。

  • 成本最优

按需按量使用提供生命周期管理,支持数据定期沉降、删除等功能,进一步降低成本。

  • 简单易用

提供图形化程序、命令行工具、协议工具等对存储对象进行批量操作,让使用更为简单。

  • 接入便捷

提供丰富的 SDK 接入工具,简单且可靠,同时提供了线上、线下多种迁移服务,让用户的业务快速上云。

  • 服务集成

提供全球加速、CDN加速、三级加速能力及提供「存储 + 处理」一体化解决方案,满足各种业务需求。

认识 Datebend 云数仓

Databend是一款使用 Rust 研发、开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓,具有即时扩缩容能力,能在数分钟内增加数百倍的算力,为企业提供了一个用于存储、管理和分析大量数据的集中式平台,从而助力企业更准确地洞察业务、制定战略。

Datebend 产品特点

  • 基于共享存储的设计

Databend 支持腾讯云对象存储COS 。这种设计模式允许存储按使用量付费,具有高度的弹性。当计算节点需要扩展时,数据无需进行任何移动。

  • 存储和计算分离的架构

在此架构下,计算节点可以根据需求进行动态启动。当业务处于空闲状态时,计算节点会自动进入休眠,从而有效节省资源。

  • 面向对象存储的调度器设计

由于对象存储存在多种限制并且易于抖动,其并非专为数据仓库设计。因此,Databend 的调度器和优化器针对对象存储进行了大量优化。例如,调度器上的存储和计算在运行时具有双向感压特性。

  • 高度的弹性伸缩性

Databend 采用 Serverless 设计,能够快速进行弹性伸缩,以适应各种业务需求和负载变化。

技术选型

Databend 是一个数据仓库平台,同样具备类似通用的大数据平台 CDH 的的支持能力。在选择数据归档方案时,分 3 个方面做了对比:

  • 存储成本

主要对比了引入对象存储和使用 HDD、SSD 的成本,其中对象存储的容量成本是 HDD 的 1/10, 是 SSD 的 1/30 。而且,使用 COS 作为存储后端,无需进行硬件采购、部署和运维,可以节省运维工作和托管成本。

  • 数据迁移成本

数据备份文件导出后直接迁到对象存储中,可以无脑在 Databend 进行挂载,通过读取备份文件的表对象信息完成创建表和加载数据。

  • 关联查询能力

查询方式简单,兼容 MySQL 协议,可不用改变 Mysql 的使用习惯,直接无需过多改动即可通过原来的业务 SQL 进行关联查询。

Datebend 方案

Databend 目前主要服务于大参林的数据归档场景,具体的方案如下图所示:

图片

大数据平台 CDH 的历史数据导出为 Parquet 格式文件。
通过腾讯云的文件迁移同步工具cos_migrate_tool将备份文件传输至腾讯云COS。
Databend 采用单节点部署方案,直接加载对应 COS ,自动识别 COS 下文件。

数据加载流程

要使用 Databend 进行历史数据关联查询,数据加载链路是关键。

使用 Stage 挂载备份的历史数据

Databend 支持创建外部 Stage 来关联和管理位于不同存储服务中的数据。COS 提供兼容 S3 的 API 接口,可以方便通过 S3 协议访问数据。

Databend 也支持 COS 的原生 API ,可以提供高性能和稳定的数据访问支持。

  • 创建 Stage

create stage if not exists mystage url ='s3://cos-bucket/backup/' connection=(endpoint_url='https://cos.ap-guangzhou.myqcloud.com' access_key_id='ACCESS_KEY_ID' secret_access_key='SECRET_ACCESS_KEY');
  • 查看 Stage 中的文件

list @mystage;

加载 Stage 中数据到 Databend

Databend 支持模式推断,可以根据数据文件获取相应的表结构,从而简化建表过程。同时,Databend 也支持直接查询 Stage 中的数据文件,方便进行临时分析和数据诊断。

  • 从文件中获取表结构来创建表

create table t1 as select * from @mystage/bi/t1/  (pattern=>'.*parq') limit 0;
  • 加载文件往表中写入数据

copy /*+ set_var(max_threads=5) */ into t1 from @mystage/bi/t1/ pattern='.*[.]parq' file_format=(type=parquet);

查询

Databend 支持复杂的查询语法,可以满足平时业务需求。

  • 简单查询 10 条数据

select * from t1 limit 10;

现状与总结

目前使用 Databend 和腾讯云 COS 技术组合后,大表数据的查询加载速度提升了2倍,满足日常的数据审计查询需求。采用 COS 作为 Databend 的存储后端相比于 CDH 本地盘和副本模式,成本降低了约15倍。

采用 Databend + COS 有非常不错的体验,简单易用、查询迅速,登录腾讯云即可使用【https://console.cloud.tencent.com/cos/dataEcology】,对业务常用的历史数据查询无缝切换,极大地缩短了项目周期,提升了效率,减少了业务方的焦虑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1134136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript对象与原型

目录 对象的创建 原型与原型链 原型继承 总结 在JavaScript中,对象是非常重要的概念之一。它们允许我们以一种结构化的方式存储和组织数据,并提供了一种方便的方式来操作和访问这些数据。而对象的行为和属性则通过原型来定义。 对象的创建 在JavaS…

如何集成验证码短信API到你的应用程序

引言 当你需要为你的应用程序增加安全性和用户验证功能时,集成验证码短信API是一个明智的选择。验证码短信API可以帮助你轻松实现用户验证、密码重置和账户恢复等功能,提高用户体验并增强应用程序的安全性。本文将介绍如何将验证码短信API集成到你的应用…

备受欢迎的数字音频工作站 Studio One 新增了对 Linux 的支持

导读音乐制作人们,这是你们翘首以待的消息。备受欢迎的数字音频工作站 Studio One 新增了对 Linux 的支持。 数字音频工作站(DAW) 已经成为音乐制作专业人士重要工具之一。 遗憾的是,对于 Linux 用户而言,选择十分有…

聚焦生成式AI前沿技术:亚马逊云科技生成式AI构建者大会圆满结束

目前生成式AI应用落地已经从热火朝天的“百模大战”,步入到了少数优秀模型脱颖而出,工具链百花齐放,以及企业主管认真寻找生成式AI落地场景的新阶段。基于这一背景,亚马逊云科技特地举办了亚马逊云科技生成式AI构建者大会&#xf…

Python 深浅拷贝使用与区别

什么是拷贝: python 中拷贝是指创建一个新的对象,其中包含了原始对象的值,以便于在不改变原始对象的情况下进行操作。拷贝在处理数据时非常有用,特别是当我们需要对数据进行修改而又不想影响原始数据时。 2.浅拷贝 浅拷贝的规则…

跨境安全 | 在美国做电商,千万要小心这5类信用卡欺诈手段

信用卡业务在美国早早出现并迅速完善,其支付方式的普及程度也非常高。根美国信用报告中心(American Credit Bureau)数据显示,截至2021年底,美国共有超过2.5亿信用卡用户,其中超过80%的成年人持有至少一张信…

19 行为型模式-模板方法模式

1 模板方法模式介绍 模板方法模式(template method pattern)原始定义是:在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 2 模板方法模式原理 模板方法模式的定位很清楚,…

从洋河“一带一路”之行,思考白酒国际化的破题道路

在古老的丝绸之路上,岁月不仅留下了无数行商足迹和边塞诗词,也写下了中国白酒出海最初的篇章。 作为一种文化交流的媒介,白酒曾随着陆上和海上丝绸之路来到世界各地,一度成为“世界潮品”。 千年后的今天,为了寻找新…

测试左移与右移

测试左移 对于需求,代码,质量,效率,《代码大全》很早就从软件工程实践角度说明了一个bug产生的不同阶段,修复一个bug的成本从需求阶段,设计阶段,测试阶段有着天壤差别。不仅从成本上&#xff0…

【C语言】详解数据在内存中的存储

目录 1. 整形在内存中的存储1.1 原码、反码、补码1.2 大小端介绍1.3 设计一个程序来判断当前编译器的字节序: 2. 有符号char和无符号char在内存中存储的区别2.1 有符号char(signed char/char)2.2 无符号char(unsigned char) 3. 浮点型在内存中的存储3.1 浮点数存储规…

RK356X/RK3588构建Ubuntu20.04根文件系统

文章目录 前言一、官网下载ubuntu-base二、挂载并构建文件系统2.1、配置构建文件系统环境2.2、编写挂载脚本mount.sh并安装相关工具2.3、轻量级的桌面环境 lubuntu-desktop2.4、卸载一些不必要的软件2.5、添加用户2.6 、允许root用户登录桌面2.7、串口自动登录2.8、添加分区释放…

Android期末考考前盘点(八):各类控件事件--使用内部类的更合适懵逼的考试学生方式

这个系列----Android的期末应急方案 在上学期的期末收获了一致好评,但是在上学期期末考试中发现部分考生不会,或者说考试题目中会出到一些事件,例如:Button按钮的点击事件、长按事件;EditView文本框的监听事件、ListV…

HFSS笔记——求解器和求解分析

文章目录 1、求解器2、求解类型3、自适应网格剖分4、求解频率选择4.1 求解设置项的含义4.2 扫频类型 1、求解器 自从ANSYS将HFSS收购后,其所有的求解器都集成在一起了,点击Project,会显示所有的求解器类型。 其中, HFSS design&…

Bootstrap之JavaScript的模态框(modal)使用-不离开父窗体的情况下的互动-点击按钮弹出对话框

Bootstrap的JavaScript的模态框(modal)是覆盖在父窗体上的子窗体。通常&#xff0c;目的是显示一个单独的内容&#xff0c;可以在不离开父窗体的情况下有一些互动。 子窗体可以自定义内容&#xff0c;可提供信息展示、交互等功能。 01-一个简单的、基本的模态框示例代码 <…

牛客网刷题-(4)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

优秀采购管理7大必备流程(含模块)展示图(干货!)

企业是一个多人分工完成特定事项&#xff0c;达成特定经济目标的组织&#xff0c;必然存在分工协作&#xff0c;因此必然存在流程。企业管理如果缺乏流程规范&#xff0c;员工思想、行动都难以统一&#xff0c;事务出错率高&#xff0c;人员培养成本高&#xff0c;产品次品率高…

Qt QWebEngine 更换语言

背景 使用Qt QWebEngine开发的应用&#xff0c;在一些场景下&#xff0c;会显示英文文本&#xff0c;比如右键、JS弹出的对话框&#xff0c;所以需要进行汉化&#xff0c;更改语言。 准备翻译文件 Qt有提供翻译好的ts文件&#xff0c;我们可以直接下载ts文件qtwebengine_zh_…

创建资产报错:号码范围 71 没有在号码分配范围内

财务同事在新创建的公司下创建资产出现报错。 原因是没有给这个公司资产分配编码段。 双击报错&#xff0c;查看详细报错。 然后点击继续执行&#xff0c;会直接跳出维护资产编码的页面。从母公司中把字段编码copy一下就好了。 或者 通过事务代码&#xff0c;或者通过下面IMG…

HackTheBox - Starting Point -- Tier 0 ---Fawn

文章目录 一 题目二 实验过程 一 题目 Tags FTP、Network、Protocols、Reconnaissance、Anonymous/Guest Access译文&#xff1a;文件传输协议、网络、协议、侦察、匿名/访客访问Connect To attack the target machine, you must be on the same network.Connect to the Sta…

【知识专栏丨python数分实战】电商数据分析案例

01 电商数据来源 1.商品API&#xff1a;提供了搜索、详情、评价等与商品相关的接口&#xff0c;可以通过关键词搜索商品&#xff0c;获取商品详情、销量等信息。 2. 店铺API&#xff1a;提供了店铺信息、店铺内商品等接口&#xff0c;可以查询店铺的基本信息、主营类目、评分…