作者: 黄志武

某医药集团信息中心数据库组组长,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】,对业务常用的历史数据查询无缝切换,极大地缩短了项目周期,提升了效率,减少了业务方的焦虑。

利用 Databend + COS助力 CDH 分析 | 某医药集团的更多相关文章

  1. 利用backtrace和objdump进行分析挂掉的程序

    转自:http://blog.csdn.net/hanchaoman/article/details/5583457 汇编不懂,先把方法记下来. glibc为我们提供了此类能够dump栈内容的函数簇, ...

  2. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  3. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  4. PB 级数据处理挑战,Kubernetes如何助力基因分析?

    摘要: 一家大型基因测序功能公司每日会产生 10TB 到 100TB 的下机数据,大数据生信分析平台需要达到 PB 级别的数据处理能力.这背后是生物科技和计算机科技的双向支撑:测序应用从科研逐步走向临 ...

  5. 利用元数据提高 SQLFlow 血缘分析结果准确率

    利用元数据提高 SQLFlow 血缘分析结果准确率 一.SQLFlow--数据治理专家的一把利器 数据血缘属于数据治理中的一个概念,是在数据溯源的过程中找到相关数据之间的联系,它是一个逻辑概念.数据治 ...

  6. 案例分享|某医药集团的BI建设案例

    相比于传统型BI,越来越多的企业开始接受并青睐新型的自助式BI,因其项目上线快,失败风险小,简单易用,颇受赞誉.以下是某医药集团上线帆软BI系统FineBI的案例,从用途架构.指标分析.和信息交互几方 ...

  7. SQL中利用DMV进行数据库性能分析

    相信朋友对SQL Server性能调优相关的知识或多或少都有一些了解.虽然说现在NOSQL相关的技术非常的火热,但是RMDB(关系型数据库)与NOSQL是并存的,并且适用在各种的项目中.在一般的企业级 ...

  8. 利用powershell进行windows日志分析

    0x00 前言 Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦:另一个是Get-EventLog,使得 ...

  9. 利用grep命令查找字符串分析log文件的一次实践

    需求场景: 我需要分析一个服务器访问日志,分析百度蜘蛛这个月对求索网页面的抓取情况. 分析问题: 我的一个access.log文件大小有35M,不可能直接通过打开查看.我需要过滤掉一些没有的信息,只保 ...

  10. 利用tca时间聚簇分析方法分析fmri数据

    一.利用ica进行fmri数据分解时,在得到相互独立的成分后,这些成分的后续处理,其实是有很多文章可以做的.比如,对这些成分进行排序和选择.如果能够提出某种方法,能够自动地制造特征,并将这些特征与分解 ...

随机推荐

  1. Dockerfile相关(推送镜像?私有仓库?)(九)

    上面我们讲到了 Dockerfile 的基本写法以及构建镜像的时候一些注意事项,那么镜像构建完成后,如何把我们的镜像给到别人使用呢?第一种方法就是利用 Docker 官方提供的公共的 Docker H ...

  2. Dockerfile定制镜像(FROM?RUN ?WORKDIR ?ADD & COPY指令)(七)

    一.Dockerfile 镜像的定制实际上就是定制镜像的每一层所添加的配置.文件等信息,实际上当我们在一个容器中添加或者修改了一些文件后,我们可以通过docker commit命令来生成一个新的镜像, ...

  3. Maya 2019.2 Mtoa 无法正常加载并报错

    事件起因: 在开始安装 Maya2019.2 时自动安装的 Mtoa 的版本为 5.3.1,但是在插件管理器里无法启用插件,于是乎去网上下了一个低的版本 5.1.1,虽然可以使用但是渲染出来的东西不能 ...

  4. linux内核调试痛点之函数参数抓捕记

    1.linux内核调试工具crash并不能直接显示函数参数,而这个对调试又非常重要 下面是工作中一个实际的问题,我们的进程hang在如下一个内核栈中了,通过栈回溯可知是打开了一个nfs3的网盘文件或者 ...

  5. ts 的 declare 用途

    declare namespace API { /** 新增数据集合 */ type CreateDataSet = { createdAt: string; dname: string; headI ...

  6. 无需等待Vue Release发布,就能在项目中体验最新版

    前言 两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,我们就可以在项目中体验最新版本的Vue啦. 关注公众号:[前端 ...

  7. 2024 CSP 游记

    \(\text{CSP-J}\) 游记 \(\text{Day -INF}\) 初赛免了,没有游记. \(\text{Day 0}\) 有点慌,于是打开了游戏跟 \(\text{zjx,sym}\) ...

  8. “应用程序无法正常启动(0xc000007)”处理办法

    前几天使用非静态方式编译了一个程序,在部分系统上运行提示缺少msvcp140.dll,就从VS2019安装目录找了一个同名文件放在了程序同级目录,程序也可以正常运行了.今天重新打开虚拟机,突然就报了这 ...

  9. Volatility 内存取证基础

    实操 (需要下面这个内存取证的私我)

  10. Windows安装Mysql后一段时间后Mysql服务无法启动的问题

    本人在windows重装电脑后遇到一个比较麻烦的问题一直没有解决,今日有幸看到某大佬的博客得以解决.真实万分感激,特来分享一下. 第一次安装Mysql8.0之后,此次安装是将整个mysql包进行安装, ...