Databend 借助对象存储帮你实现降本增效

news2025/1/12 19:05:35

本篇文章围绕着:

  • 什么是对象存储
  • 当 Databend 遇到对象存储
  • 2022 年 Databend 利用对象存储降本的案例
  • 国内优秀的对象存储产品
  • 基于对象存储创业的产品

什么是对象存储

对象存储是一种可以非结构化存储和管理数据的技术。 可以简单理解为 NoSQL 接口方式存储和访问数据,对象存储最有名的产品是: AWS S3。 这样使对象存储原生具备了: 持久性,可扩展性,数据可用性,对于对象存储比较核心的也是元数据管理。现在对象存储主要使用场景:

  • 数据归档
  • 备份和恢复
  • 数据湖
  • ML
  • 富媒体

但对象存储也有一些限制,这个限制各个厂家没有统一,使用上需要注意各厂家的指标。

  1. QPS 限制: 有的厂家限制到 Bucket,有的是限制到用户, 甚至有单文件下载热点控制。
  2. 带宽,现在一般都能达到 10Gbit/s 以上
  3. bucket 限制: 每个帐号支持创建 Bucket 的数量有限,每个 Bucket中对象不限制,bucket 和 地区有绑定关系,创建后不可更改,bucket名称全局唯一。单个 bukcet 的存储空间容量不限制。
  4. 对象限制: 简单上传文件大小不能超过 5GB, 分片上传文件最大不能超过 ~48.8T
  5. 支持多副本,支持加密

友情提示: 国内的云上对象存储分为国内和非国内的区域,一般是非国内区域性能比较弱,但如果需要较强的能力一般可以联系技术支持进行动态调配资源。

当 Databend 遇到对象存储

Databend 从研发 DayOne 就定义为基于对象存储研发一个Severless 架构的云原生数仓。

但在这个过程中,我们也怀疑过:

  1. 对象存储是不是可以真正跑大数据计算,我们为了打消顾虑,把研发环境搬到 AWS 用最好的对象存储来验证,AWS 确时强大,对于同一个热点资源访问并发高时会出现一个短暂的 404 后,马上触发他的自动扩容, 数据分区的精细控制,原生多区可用,数据加密,一切的写入更新都是Append, 也让 Databend 也直接具备了: Data time travel Databend 针对对象存储的特性就尽高的对访问进行并发来提升性能。

  2. Parquet 格式是不是最好的存储方案。 Databend 研发之初,也考虑到生态的合作,最终选择大数据生态支持比较多的 Parquet 格式做为持久化对象。Databend 是基于 Rust 研发,但 Rust 的 Parquet LZ4 压缩和社区中 python 中实现不兼容,也被受到质疑,我们后来协助 Arrow2 作者进一步兼容社区,最终和社区保持一致。现在 Arrow2 Top 10 活跃贡献者中 Databend 团队成员占了 3 位。

  3. Parquet 是不是不如 Clickhouse 的 MergeTree, 这个问题我们质疑了更久,因为 Databend 在研发中很久一段时间我们的性能都不如 Clickhouse,直到 2022 年末我们在 Parquet 的格式下差不多和 Clickhouse 的性能追平了。

hits 数据集测试

# Databend
MySQL [(none)]> select count(1), max(URL) from hits;
+----------+-----------------------------------------+
| count(1) | max(url)                                |
+----------+-----------------------------------------+
| 99997497 | https://yugra-advert2792270][to]=&input |
+----------+-----------------------------------------+
1 row in set (0.505 sec)
# ck
select count(1), max(URL) from hits;

SELECT
    count(1),
    max(URL)
FROM hits2

Query id: b161ca55-8a9a-4605-8e0b-ff1ecc40bd22

┌──count()─┬─max(URL)────────────────────────────────┐
│ 99997497 │ https://yugra-advert2792270][to]=&input │
└──────────┴─────────────────────────────────────────┘

1 row in set. Elapsed: 0.796 sec. Processed 100.00 million rows, 9.94 GB (125.55 million rows/s., 12.48 GB/s.)

Databend 这一切的优化也是借助于开源社的力量,整合百家之长于一身, 终于可以在对象存储上提供一个又快又好用的云原生数仓。这也为我们 2022 接的用户奠定了基础并给未来带来了信心。

2022 年 Databend 利用对象存储上降本的案例

Dmall 使用 Databend 归档 TiDB 和 MySQL

2022 年 Databend 属于刚具备商用打磨,初期我们和 Dmall 交流可以利用 腾讯的COS 来替换他现在的将近 30 台的大容量 MySQL 机器提供归档查询能力。
视频回放: 基于Databend的TiDB数据归档实践

Dmall 的项目需求比较简单,原来主要是解决 MySQL, TiDB 中数据不断增多,但有一些数据已经不会更改,同时部分数据已经从高频访问到低频访问及汇总分析使用。

Dmall 帮着 Databend 在实际生产中打磨非常多的问题,Databend 团队基本本着问题不过夜的态度在支撑着 Dmall 团队,也让 Dmall 团队对 Databend 有较强的信心,一路携手起来。

原始数据在 MySQL 中 150T+ ,最后迁移到 Databend 后数据量在 30T 左右,现在 Dmall 在 腾讯 COS & 海外微软 Azure 中都有使用。

DigiFinex 使用 Databend 替换部分 Clickhouse 环境

经历了 Dmall 打磨后, Databend 又多了一些成熟度。 Databend 联系了 DigiFinex 进行技术交流后,他们用一台 ECS 跑 Databend + 阿里 OSS 替换原来 Clickhouse 主从架构。担任了起了某个业务大数据的 ODS 层,也许是经历了多点的打磨,DigiFinex 使用非常的顺利。全年重大事件:为了使用 Databend Bloom index 做了一次升级, 遇到两次内存缓慢溢出,Databend 团队和 DigiFinex 朋友一起通过 core 文件分析定位到问题快速修复。
DigiFinex 使用 Databend 带来的好处:

  1. 架构更加简单,无主从,无 zk, Databend query 是 Serverless 无状态,随时关停

  2. 数据存储使用 OSS 存储,一份数据随意访问并具备高可用

  3. 不用担心数据备份问题,具备 Time Travel 能力

  4. 在 Databend 中可以利用 join 做数据治理

DigiFinex 在 Databend 使用中数据存储已经突破 100T+

快手 & Databend 共建 Hive 生态

2022 的快手希望找到一个分布式计算引擎来替换现在 Hive 的计算效能低下的问题。在 Databend 上支持 Hive 的 Catalog 可以利用 Databend 把 Hive Catalog 挂上,直接对 Hive 上的数据进行计算分析,目前这个项目 2022 年 12 月已经上线,估计真正稳定和达到生产级可用预计需要到 2023 年 2 月底。

视频回放: 《快手大数据体系架构& Databend 潜在应用场景 》

在这个项目中数据写入还是利用 Hive 写入, Databend 直接访问。 以前做 OLTP 数据是亿级别行,现在看到是亿级别的分区…

每天 百T+ 以上的数据进入 Databend

2022 年碰到多个项目都是每天 100T+ 的数据要进入数仓,这种数据更多是写入频率大于读取,但要求低成本实现,数据保存至少要 180 天。
我们在第一个用户合作中计划不分库不分表,一个表搞定最终失败。 这块也是 Databend 2023 年重要规划,支持单表 PB 级别。

第二个用户我们双方讨论使用分表的方式,拆分成 100 张表,使用线上对象存储写入不要钱的特性,完美的实现用户的全球多 IDC 日志收集及入库,统一日志湖仓的分析环境。
目前该用户的实际环境,每秒钟大概 1GB+/s,近 10 万行日志通过 3 个 Databend-query 节点入库,日志大概实现了 100T可以压缩到 20T。

2022 年其他用户

  • DTCC 上看到微盟余成真分享在一个数据安全主题中分享,利用 Databend + 腾讯 COS 实现数据审计

Databend 在获知余成真的这边的使用后,也是全力支持余老板这边的需求。

  • 大量的需求来自给 MySQL 和 PosgreSQL 加速数据分析我们 2022 年 12 月和 Addax 合作实现可以实现比较方便从其它数据库非常方便的从其它数据库中抽取数据。

  • 某金融交易公司在云上基于 Databend 存储相关交易使用的数据,用于分析交易决策,该公司也是我们后续比较看好的,希望 Databend 帮他们打造一个 Data Market 生态。

  • 在用户的建议下,我们整合了 ClickViual 和 Grafana 进行日志展示, 整合日志组件 vector,简化日志场景。

Databend 本身是一个开源的云原生数仓,用户比较方便自建,也可以使用我们的 Databend Cloud 来一起提升云上资源的利用,从来降低成本。

2023 年如果你有数据方面的降本增效的 KPI 可以 Wx 联系: Databend 我们可以提供 Databend 支持及云上对象存储使用的最佳实践

国内优秀的对象存储

国内对象存储除了大家熟悉的: 阿里 OSS, 腾讯 COS, 华为 OBS 这些大牌子外,今年也看到不少其它同类的产品。

其中有多位用户使用 百度对象存储 BOS, 这个是我 2022 年才知道的,为什么使用这个,给的答案,这个太便宜了。 跑着还不错。

私有化项目看到更多是: Ceph, XSKY, 也有更利害的利用纯自研的对象存储。

基于对象存储创业产品

也许很多人都是知道 S3 才知道 AWS, S3 也是 AWS 当之无愧的王牌产品。现在 ALL IN 对象存储创业除了 Databend 之外还有:

  • JuiceFS JuiceFS 是基于云的高性能分布式文件系统,百亿级文件存储规模,适用于大数据、人工智能、自动驾驶、基因测序等海量数据存储需求。
  • Alluxio(/əˈlʌksio/)是大数据和机器学习生态系统中的数据访问层。
  • Databend Cloud 基于 Databend 定制完全面向云架构的新式数仓,它提供对象存储+分析能力的服务,可以快速弹性扩展,简单易用,低成本。

对象存储天生没有 VPC 概念,全球写入免费,海量数据产生也会给对象存储增长新的机会,这个赛道上,估计会有更多的机会如果你也是在对象存储这个赛道上,我们可以一起合作帮助用户降本增效。

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

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

相关文章

linux系统中使用QT实现多媒体的功能方法

大家好,今天主要和大家聊一聊,如何使用QT中的多媒体的功能。 目录 第一:多媒体基本简介 第二:应用实例实现 第三:程序运行效果 第一:多媒体基本简介 QT的多媒体模块提供了音频,视频&#xff…

分布式系统-CAP 理论

在前一篇分布式系统–拜占庭将军问题(The Byzantine Generals Problem) 我们理解了共识问题的背景,这一节主要讨论如何解决或者理解自己系统中的共识问题,通过什么来分辨自己的系统需要哪一种共识。 这个理论就是 CAP 理论,先想下面几个问题…

linux 线程详解

前言 程序运行在内存空间中叫进程,进程中包含有若干线程,线程是系统调度和执行的基本单位。线程才是程序运行的实体,通常程序里的main()函数就相当于主线程,把进程理解成一个容器,里面可以包含有若干线程和若干资源&am…

6)Mybatis启动流程

1. 首先Mybatis会加载配置文件mybatis-config.xml, 主要实现在Mybatis的builder模块,包路径org.apache.ibatis.builder,解析入口XMLConfigBuilder private void settingsElement(Properties props) {configuration.setAutoMappingBehavior(Au…

指针进阶篇(2)

进阶指针 🤔前言🤔 一、😊函数指针😊 二、😜函数指针数组😜 三 、😝指向函数指针数组的指针😝 四、🌝回调函数🌝 🍀小结🍀 &…

摩丝-题解

看到题目,怀疑是莫尔斯电码,打开发现果然是莫尔斯电码的点和划.. .-.. --- ...- . -.-- --- ..-简单说一下电报的原理最简单的电报模型就是一个电源,一个开关和一个电磁铁当需要长距离使用时候,需要用到继电器按下开关&#xff0c…

【BP靶场portswigger-服务端10】XML外部实体注入(XXE注入)-9个实验(全)

前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员&…

C#【必备技能篇】使用NPOI实现对excel的读取和写入

文章目录1、Winform界面布局2、引用NPOI的dll3、源码4、运行效果5、NPOI的dll下载地址6、补充【以上步骤只能打开.xls文件(97-2003版本),打不开.xlsx文件(2007版本)】1、Winform界面布局 2、引用NPOI的dll 3、源码 us…

(十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置

前言 本节内容我们主要介绍一下在jenkins中如何集成sonar qube代码质量检查工具,sonar qube可以在流水化项目集成部署前对我们的代码质量检查。开始本节内容前我们需要先搭建好sonar qube服务,关于sonar qube服务的搭建可参考作者往期博客内容&#xff…

P4391 [BOI2009]Radio Transmission 无线传输

题目描述 给你一个字符串 s_1s1​,它是由某个字符串 s_2s2​ 不断自我连接形成的。但是字符串 s_2s2​ 是不确定的,现在只想知道它的最短长度是多少。 输入格式 第一行一个整数 LL,表示给出字符串的长度。 第二行给出字符串 s_1s1​ 的一个子…

【linux入门】基础知识学习笔记

文章目录【第一章-宏观知识】1.硬件和软件的关系2.操作系统 是什么、作用是什么3.常见的操作系统4.Linux的诞生5.Linux内核 是什么6.Linux发行版 是什么7.WSL是什么8.虚拟机快照9.FinalShell(Xshell替代品)【第二章-Linux基础命令】1.Linux目录结构2.什么…

Linux---权限

目录 1.文件访问者的分类(人/用户) 2.文件类型和访问权限(事物属性) 3.文件权限值的表示方法 a)字符表示方法 b)8进制数值表示方法 4.文件访问权限的相关设置方法 4.1 改属性 4.2 改人(改拥有者/所属组)…

数组常用方法总结 (3) :map / forEach / every / some

map 遍历数组的每一项。如果是简单数组,不改变原始数组(值类型)。如果是对象数组,原始数组可以被改变(引用类型)。遍历原始数组,返回值为原始数组的每一项,最终可组合成新数组。 简…

LeetCode 78 子集 | 解题思路分享

原题链接:78. 子集 - 力扣(LeetCode) 题目难度:中等 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任…

忆享聚焦|5G投资、网络安全市场、云计算、Web3技术……近期热点资讯一览

“忆享聚焦”栏目第11期来啦!本栏目汇集近期互联网最新资讯,聚焦前沿科技,关注行业发展动态,筛选高质量讯息,拓宽用户视野,让您以最低的时间成本获取最有价值的行业资讯。目录行业资讯1. SA:全球…

ubuntu虚拟机VmWare与主机共享文件夹

一、说明: 宿主操作系统:Windows 11 64位。 客户操作系统:Ubuntu 18.04.1 64位。 虚拟机软件:VMware Workstation 17 pro 二、步骤: 1、参考教程链接1,在主机设置共享文件夹。 注意:教程链接…

聚焦技术,2022巨杉荣获国内外多家权威机构认可

作为分布式数据库的领先企业 巨杉成立十年来,一直聚焦分布式技术的自研与深耕 在分布式数据库领域已取得丰硕的成果 回望2022,巨杉除在客户案例及产品方面屡获殊荣外 也凭借过硬的技术实力及规模化的行业应用 得到多家国内外权威机构的认可 国际权威…

TensorRT学习笔记--基本概念和推理流程

目录 前言 1--Tensor RT基本概念 2--推理流程 3--实例代码 前言 以下 Tensor RT 的基本概念和推理流程均为博主自我的理解,可能部分内存会存在错误或偏差,仅供参考! 1--Tensor RT基本概念 ① Logger:日志记录器,…

ssm:spring定时任务Task和CronExpression表达式

开发一个定时任务&#xff1a;每天晚上23点执行数据归集任务 首先Spring配置文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.or…

Java中的常用的代理模式

本文介绍在Java种常用的3种动态代理。 代理模式是23种模式中的一种&#xff0c;属于结构型设计模式。这种模式的作用就是要创建一个中间对象&#xff08;相当于中介或者代理对象&#xff09;&#xff0c;通过操作中间对象来间接调用目的对象的方法&#xff0c;字段等&#xff0…