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

2023-10-28

本篇文章围绕着:

  • 什么是对象存储
  • 当 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 概念,全球写入免费,海量数据产生也会给对象存储增长新的机会,这个赛道上,估计会有更多的机会如果你也是在对象存储这个赛道上,我们可以一起合作帮助用户降本增效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Databend 借助对象存储帮你实现降本增效 的相关文章

  • Linux Debian上快速安装Docker并运行

    要在Debian上安装Docker 可以按照以下步骤进行 更新系统软件包 在终端中执行以下命令 更新系统软件包 sudo apt get update 安装依赖包 在终端中执行以下命令 安装Docker需要的依赖包 sudo apt get
  • 【云原生之Docker实战】在Docker环境部署Answer问答平台

    云原生之Docker实战 在Docker环境部署Answer问答平台 一 Answer介绍 二 检查本地Docker环境 1 检查本地Docker版本 2 检查Docker状态 3 检查docker compose版本 三 下载Answer
  • 在k8s集群内搭建Prometheus监控平台

    基本架构 Prometheus由SoundCloud发布 是一套由go语言开发的开源的监控 报警 时间序列数据库的组合 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态 任意组件只要提供对应的HTTP接口就可以接入
  • kubernetes基础入门知识点

    今天正式入门学习kubernetes 也就是大名鼎鼎的k8s k就是开头字母 s是结尾字母 中间有8个字母 所以简称为k8s 这一小节学习总结一下Kubernetes的基础入门概念 比较简单 理解为主 一 Kubernetes是什么 Kub
  • k8s集群搭建【1个master_1个node】 亲测成功!

    k8s集群搭建 k8s 1个master 1个node 集群搭建 步骤小结 1 安装docker 2 安装kubeadm kubectl kubelet 3 创建master节点的集群 并安装网络插件calico 4 添加node节点到集群
  • kubernetes Ingress资源管理

    k8s 对外服务之 Ingress Ingress 简介 service的作用体现在两个方面 对集群内部 它不断跟踪pod的变化 更新endpoint中对应pod的对象 提供了ip不断变化的pod的服务发现机制 对集群外部 他类似负载均衡器
  • 云原生之使用Docker部署Dashdot服务器仪表盘

    云原生之使用Docker部署Dashdot服务器仪表盘 一 Dashdot介绍 二 检查本地系统环境 1 检查本地系统版本 2 检查docker状态 3 检查docker版本 三 下载Dashdot镜像 四 部署Dashdot应用 1 创建
  • 【Docker】云原生利用Docker确保环境安全、部署的安全性、安全问题的主要表现和新兴技术产生

    前言 Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中 然后发布到任何流行的Linux或Windows操作系统的机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之间不会有任何接口 云原生
  • 【云原生之Docker实战】使用Docker部署宝塔面板

    云原生之Docker实战 使用Docker部署宝塔面板 一 宝塔面板介绍 二 检查本地docker环境 1 检查系统版本 2 检查内核版本 3 检查docker版本 三 下载宝塔镜像 四 部署宝塔面板 1 创建挂载目录 2 创建宝塔容器 3
  • 【Docker 基础教程】Centos7.5安装Docker并配置阿里云镜像

    文章目录 前言 安装docker 前置条件 测试并运行一个实例 安装命令 安装结果 建立一个容器 配置阿里云镜像 第一步 第二步 第三步 第四步 第五步 以下方式二选一 直接复制黏贴 分步创建 前言 前面一篇文章介绍到了Docker的基本概
  • 【云原生】Docker环境安装

    文章目录 一 安装准备 1 前提条件 2 查看系统内核 3 查看已安装的CentOS版本信息 二 CentOS7安装docker 1 安装需要的软件包 2 设置docker下载镜像 3 更新yum软件包索引 4 安装docker ce 5
  • 什么是体素(Voxel)

    复制粘贴的知乎 题图中是3D数据的不同表示类型 a 点云 Point clouds b 体素网格 Voxel grids 多边形网格 Polygon meshes d 多视图表示 Multi view representations 其中
  • 将 Google Kubernetes Engine (GKE) 上稳定扩散的启动时间缩短 4 倍

    Cloud Ace 是 Google Cloud 全球战略合作伙伴 在亚太地区 欧洲 南北美洲和非洲拥有二十多个办公室 Cloud Ace 在谷歌专业领域认证及专业知识目前排名全球第一位 并连续多次获得 Google Cloud 各类奖项
  • DHorse v1.3.2 发布,基于 k8s 的发布平台

    版本说明 新增特性 构建版本 部署应用时的线程池可配置化 优化特性 构建版本跳过单元测试 解决问题 解决Vue应用详情页面报错的问题 解决Linux环境下脚本运行失败的问题 解决下载Maven安装文件失败的问题 升级说明 下载v1 3 2安
  • 利用云原生数仓 Databend 构建 MySQL 的归档分析服务

    MySQL 常用 OLTP 业务环境 一般会使用比较好的硬件资源来提供对外服务 现在 MySQL 数据对外提供的数据动不动好几个 T 也是正常的 在很多业务中 数据有较强的生命周期 在线一段时间后 可能就是失去业务意义 如 某个业务下线 业
  • prometheus|云原生|轻型日志收集系统loki+promtail的部署说明

    一 日志聚合的概念说明 日志 每一个程序 服务都应该有保留日志 日志的作用第一是记录程序运行的情况 在出错的时候能够记录错误情况 简单来说就是审计工作 例如nginx服务的日志 kubernetes集群的pod运行日志 Linux系统的系统
  • 第六章--- 实现微服务:匹配系统(下)

    0 写在前面 这一章终于完了 但是收尾工作真的好难呀QAQ 可能是我初学的缘故 有些JAVA方面的特性不是很清楚 只能依葫芦画瓢地模仿着用 特别是JAVA的注解 感觉好多但又不是很懂其中的原理 只知道要在某个时候用某个注解 我真是有够菜的
  • 终于找到了最新版的Zookeeper入门级教程,建议收藏!

    小熊学Java https javaxiaobear cn 1 分布式一致性 1 CAP 理论 CAP 理论指出对于一个分布式计算系统来说 不可能同时满足以下三点 一致性 在分布式环境中 一致性是指数据在多个副本之间是否能够保持一致的特性
  • K8S中的Secret创建和使用

    天行健 君子以自强不息 地势坤 君子以厚德载物 每个人都有惰性 但不断学习是好好生活的根本 共勉 文章均为学习整理笔记 分享记录为主 如有错误请指正 共同学习进步 文章目录 创建secret 1 kubectl命令创建 2 yaml文件创建
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi

随机推荐

  • 人工智能数学基础---定积分4:使用换元法计算定积分

    一 引言 在 人工智能数学基础 不定积分2 利用换元法求不定积分 介绍了三种换元法求不定积分的方法及案例 在 人工智能数学基础 定积分3 微积分基本公式 牛顿 莱布尼茨公式 介绍了可以使用微积分基本公式 牛顿 莱布尼茨公式计算定积分 那么在
  • openGL之API学习(六十六)EmitVertex EndPrimitive

    EmitVertex表示输出一个顶点 而EndPrimitive表示结束一个图元的输出 这是一对命令 只有几何着色器才有的命令 几何着色器的图元通过两个特殊的内置函数生成的 即EmitVertex 和EndPrimitive 每个着色器请求
  • docker 安装ES和分词插件详细版教程

    一 安装ElasticSearch 1 下载镜像 docker pull docker elastic co elasticsearch elasticsearch 6 3 2 用docker images查看已下载的镜像 可选 对镜像命名
  • 机器学习算法的随机数据生成

    作者 刘建平Pinard 链接 https www cnblogs com pinard p 6047802 html 编辑 石头 在学习机器学习算法的过程中 我们经常需要数据来验证算法 调试参数 但是找到一组十分合适某种特定算法类型的数据
  • Intellij IDEA自定义Live Templates提高编码效率

    Intellij IDEA Live Templates 详情见 https www cnblogs com expiator p 17380434 html 自定义Live Templates的示例 以下的示例 都是使用首字母 作为关键词
  • 让工作效率提升10倍的浏览器,真是太棒了

    浏览器不仅仅是用来搜索查询资料的工具 它还可以让我们看新闻资源 最重要的是可以帮助我们完成各种各样的工作 提升工作效率 我最近发现了一款能够让工作效率提升10倍的浏览器 它的工具非常丰富 而且支持在线工具免费使用 我建议大家一定要收藏起来好
  • Linux查看mysql是否启动+mysql启动(全)

    整理一下Linux下启动mysql服务的命令 目录 1 使用命令 service mysqld status 2 使用命令 ps aux grep mysqld 3 使用命令 pidof mysqld 4 使用命令 ps ef grep m
  • Arcgis Pro中加载osgb(倾斜)数据

    1 新建工程 不能含中文路径 设置坐标系 2 转换格式 3 新建场景加载数据 4 直接拖动 slpk数据到场景中即可
  • WINDOWS专集大集合,绝对是精品中的精品

    WINDOWS专集大集合 绝对是精品中的精品 每IP最多5个线程 请勿尝试多线程下载 以免被封IP 史努比系统维修启动光盘 3 8 最终版 软件类别 国产软件 操作系统 软件语言 简体中文 软件大小 602M 更新内容 1 KVDOS 20
  • [移动通讯]【Carrier Aggregation-4】【LTE-5】

    前言 前面讲过通过能力上报 以及RRC Connection Reconfiguration 添加SCell 添加完成后 UE 处于Inactive 状态 本章主要讨论一下 Inactive 状态Active 状态的切换 3GPP TS 3
  • python 根据C盘卷号进行 加密解密,可以用做软件激活码

    import base64 import win32api from pyDes import from pyDes import des PAD PKCS5 ECB from binascii import a2b hex 如果需要用二进
  • JavaFX程序关闭的正确方式

    当用户试图退出程序时 程序能够有机会进行确认和清理的工作 因此 正确的程序退出过程应该包含一些步骤 增加Button或菜单 让用户发布希望退出程序的信号 可选 显示窗口 确认用户真的希望退出程序 执行必要的清理工作 如 关闭文件和其他资源
  • Netty 是什么?和 Tomcat 有什么区别?特点是什么?

    Netty 是一个基于 NIO 的异步网络通信框架 性能高 封装了原生 NIO 编码的复杂度 开发者可以直接使用 Netty 来开发高效率的各种网络服务器 并且编码简单 Tomcat 是一个 Web 服务器 是一个 Servlet 容器 基
  • 《剑指offer》练习及解析(C++代码)13-16

    一 剑指 Offer 13 机器人的运动范围 解法 1 回溯法 一种搜索方法 每次选择一个方向向前搜索 直到到达最优目标或确定无法达到目标时 后退重新向未选择的方向前进 用二维数组记录是否走过此位置 且每次只需向下或向右行进即可 代码 My
  • To install them, you can run: npm install --save babel-runtime/core-js

    执行npm run dev命令的时候提示下面这个报错 报错信息 To install them you can run npm install save babel runtime core js 解决命令 npm install save
  • 14C++11多线程编程之Windows临界区和各种互斥量(recursive_mutex,std::timed_mutex,recursive_timed_mutex)

    1 Windows临界区 1 Windows临界区与C 11的mutex的区别 mutex不能多次lock 而Windows的临界区可以多次进入 即EnterCriticalSection 但是进入多少次临界区就需要多次LeaveCriti
  • PlatformIO离线安装终极方法

    PlatformIO IDE core 离线安装终极方法 众所周知 PlatformIO的资源服务器在国外 其资源包和更新包经常出现下载不了而导致PlatformIO Home界面无法启动的情况 这几年 我上的智能硬件课程中使用Platfo
  • 消息队列(MQ)简介

    概念 从字面理解 本质就是队列 FIFO先入先出 只不过队列中存放的是Message而已 是一种跨进程的通信机制 用于上下游传递消息 在互联网架构中 MQ是常见的上下游 逻辑解耦 物理解耦 的消息通信服务 在使用MQ之后 消息发送上只需要依
  • packet capture抓取抖音

    这是一款安卓端的抓包工具 我们打算使用它来抓取抖音 首先得安装好着两款软件 1 配置app 至此 软件可以进行使用 2 打开抖音APP 玩一会抖音 然后打开packet capture 会显示出这里有13条数据 点击有数据的 得到如下 这块
  • Databend 借助对象存储帮你实现降本增效

    本篇文章围绕着 什么是对象存储 当 Databend 遇到对象存储 2022 年 Databend 利用对象存储降本的案例 国内优秀的对象存储产品 基于对象存储创业的产品 什么是对象存储 对象存储是一种可以非结构化存储和管理数据的技术 可以