Databend x CubeFS:面向未来的企业级云原生数据存储与分析

用场景的丰富,企业面临着前所未有的数据存储挑战。大规模数据存储变得日常化,伴随着超大容量和快速变化的I/O需求,传统的存储解决方案已经难以满足企业对弹性、运维效率及总体拥有成本(TCO)的更高要求。这些挑战促使基于分布式架构的软件定义存储(SDS)技术应运而生,并逐渐走向成熟。

即便有了基于分布式架构的软件定义存储服务,但是在构建查询系统时,传统的数据仓库往往采用 Share-Nothing 架构,这种存算一体的设计在某些场景下虽然高效,但它的弹性相对较弱。由于采用固定集(Fixed-Set)式的资源调度策略,资源控制粒度较粗,这不仅限制了资源的灵活性,还可能导致更高的成本消耗。然而,随着数据分析对企业决策作用的增强,新型数据仓库如 Databend,基于共享存储架构(Share-Storage),在底层可以使用对象存储,真正做到存储与计算分离,资源控制粒度更细。计算节点可以根据需求弹性扩展,而不受存储容量的限制。

CubeFS:新一代云原生存储系统

CubeFS 是一种新一代云原生存储系统,支持 S3、HDFS 和 POSIX 等访问协议。它广泛适用于各种场景,如大数据、AI/LLMs、容器平台、数据库和中间件的存储与计算分离、数据共享和保护等。

CubeFS,作为国内首个云原生开源分布式存储产品,2019 年由京东开源并捐赠给云原生计算基金会(CNCF)。自2020 年 10 月 OPPO 开始主导社区运营和版本迭代以来,CubeFS 已经累计发布了 7 个版本。在 OPPO 的推进下,CubeFS 在 2022 年 6 月成功进入 CNCF 孵化阶段,这标志着它在开源分布式存储领域的成熟度和影响力得到进一步认可。

CubeFS 的设计响应了大规模数据处理的需求,具备优异的扩展性和性能,使其在 OPPO 、京东 、网易 、360 等多个大型企业得到了广泛应用。它的优势在于能够提供更灵活的存储解决方案,降低运维难度,并且能显著降低企业的存储成本。

Databend:面向海量数据的云原生 数仓

Databend 是一款开源、高性能、低成本的新型数据仓库,特别设计用于基于对象存储的实时分析。Databend 能够轻松实现从零到数百倍的算力扩展,几乎可以瞬间响应企业对计算资源的需求变化。

Databend 还为企业数据存储、管理和分析提供了一站式的平台。凭借 Databend 强大的生态体系,可以轻松从数据之中获取洞见,数据流转和使用也变得更加得心应手。

Databend 还提供包括混合云、混合数据库在内的多种异构计算能力,帮助企业管理复杂的算力与数据需求。不仅使企业能够更准确地洞察业务运行状况,还能够基于数据分析结果制定更有效的业务策略。

Databend x CubeFS:面向未来的企业级云原生数据存储与分析

结合 Databend 和 CubeFS ,为企业提供了面向未来的云原生数据存储与分析方案。结合 Databend 强劲的分析能力与 CubeFS 的存储优势,为企业提供一个既弹性又高效的数据处理平台。

将 CubeFS 作为 Databend 的存储后端,企业可以享受到无缝的数据存储与分析体验。不仅可以处理海量数据,还能够提供快速的数据洞察和分析能力,帮助企业在数据驱动的竞争中保持领先。

主要优势:

  • 弹性扩缩容:Databend 能够动态调整计算资源,而 CubeFS 则能够灵活扩展存储容量。
  • 低成本高效能:两者结合可以降低总体拥有成本(TCO)并提高数据处理效率。
  • 易于运维:简化了数据存储和分析的管理操作,提高了运维效率。
  • 云原生 兼容性:CubeFS 作为云原生存储解决方案,与 Databend 的设计理念相契合,易于在现代云环境中部署和管理。

Workshop:使用 CubeFS 作为 Databend 存储后端

本示例将会利用 CubeFS 提供的集群脚本和 Databend 的 Docker 镜像启动示例环境,并进行简单的读写操作进行验证,适用于对 CubeFS 和 Databend 感兴趣的开发者进行环境调试和基本开发验证。实际生产和性能验证请参考产品官方文档进行生产级部署。

环境准备

  • 请确保您的操作系统上已经安装有 Docker 和 docker-compose 。
  • 在部署前请检查防火墙,避免权限和访问问题导致容器启动失败。
  • 请参考 文档 - BendSQL,安装 BendSQL 命令行工具。
  • 推荐使用两台服务器,一台用于部署存储服务,一台用于部署独立模式的 Databend 服务,以确保资源效率最大化。在资源有限的情况下,也可在单台服务器上进行部署。

CubeFS 部署

请在用于 CubeFS 的服务器上执行下面步骤以完成部署。

创建对应的数据目录:

mkdir -p ${HOME}/cubefs/data

拉取 cubefs 源码并使用脚本运行 CubeFS 服务,在试用集群的模式下,CubeFS 自带对象存储节点与网关,无需另外配置。

cd cubefs
git clone https://github.com/cubefs/cubefs.git
cubefs/docker/run_docker.sh -r -d ${HOME}/cubefs/data

检查挂载状态:

mount | grep cubefs

退出容器:

exit

创建对应的 Bucket (对应 CubeFS 的卷):

curl -v "http://192.168.0.11:17010/admin/createVol?name=databend&capacity=100&owner=cfs"

查询上一步的 owner 用户以获取对应的 Access Key 和 Secret Key:

curl -v "http://192.168.0.11:17010/user/info?user=cfs" | python3 -m json.tool

注意: 其中 192.168.0.11:17010 为 CubeFS 部署过程中显示的 Master leader : 192.168.0.11:17010 ,如有不同,以部署过程中显示的 IP 为准。

在返回的结构体中可以获取到对应的信息:

{"code": 0,"msg": "success","data": {"user_id": "cfs","access_key": "Ar5UC6HCtDcYbpFt","secret_key": "ZV6pxBRYUEivFscFsD3lUQgKRs9GHEP3","policy": {"own_vols": ["databend"],"authorized_vols": {}},"user_type": 3,"create_time": "2024-03-19 04:12:02","description": "","EMPTY": false}
}

Databend 部署

请在用于 Databend 的服务器上执行下面步骤以完成部署。

为简单起见,此处 Databend 也使用 Docker 进行部署和管理。

docker run -d \--name databend \--net=host \-v meta_storage_dir:/var/lib/databend/meta \-v log_dir:/var/log/databend \-e QUERY_DEFAULT_USER=databend \-e QUERY_DEFAULT_PASSWORD=databend \-e QUERY_STORAGE_TYPE=s3 \-e AWS_S3_ENDPOINT=http://${endpoint} \-e AWS_S3_BUCKET=databend \-e AWS_ACCESS_KEY_ID=<your-ak> \-e AWS_SECRET_ACCESS_KEY=<your-sk> \datafuselabs/databend

重要参数说明

这里的 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 需要设置为之前查询到的 access_key 和 secret_key 。

AWS_S3_ENDPOINT 需要设置为 ObjectNode 服务器 IP 和监听端口,由于这个示例 CubeFS 集群会映射到 80 端口,为了避免鉴权失败,所以需要省略端口号,示例为 20.2.219.104 。

访问

如果你的 Databend 示例是在远端服务器上启动,请执行:

bendsql -h <your-query-ip> -P8000 -u databend -p databend

如果你的 Databend 示例是在本地服务器上启动,请执行:

bendsql -u databend -p databend

联通性测试

为了确认 Databend 服务的可用性以及存储后端是否就绪,可以利用 bendsql 执行基本的建表查询进行确认。也欢迎查阅 Databend 官方文档或者往期文章,选取感兴趣的示例进行。

databend@localhost:8000/test> CREATE TABLE t_default_value(a TINYINT UNSIGNED, b VARCHAR DEFAULT 'b');CREATE TABLE t_default_value(a TINYINT UNSIGNED, b VARCHAR DEFAULT 'b')0 row written in 0.111 sec. Processed 0 row, 0 B (0 row/s, 0 B/s)databend@localhost:8000/test> INSERT INTO T_default_value(a) VALUES(1);INSERT INTOT_default_value(a)
VALUES
(1)1 row written in 0.121 sec. Processed 1 row, 66 B (8.25 row/s, 544 B/s)databend@localhost:8000/test> SELECT * FROM t_default_value;SELECT*
FROMt_default_value┌────────────────────────────────────┐
│        a        │         b        │
│ Nullable(UInt8) │ Nullable(String) │
├─────────────────┼──────────────────┤
│               1 │ b                │
└────────────────────────────────────┘
1 row read in 0.037 sec. Processed 1 row, 20 B (27.39 row/s, 547 B/s)

问题排查

  • 在示例中使用 CubeFS 提供的对象存储 API (S3 兼容)进行数据访问,请确保部署 ObjectNode 启用对象存储网关。生产环境下也推荐使用 对象存储 API 。

  • 对于 Databend 启动失败的情形,可以执行下述命令查看日志:

    • docker logs databend
  • 如与存储后端在同一台机器上部署 Databend ,会遇到端口号被占用问题,可以修改上面 docker 命令中或者 cubefs/docker/docker-compose.yml 文件中的映射,将其暴露到其他端口。

结论

随着数据量的不断增长和企业对数据分析需求的日益提升,Databend 和 CubeFS 的联合,为解决当前的数据存储和分析难题提供了有效的解决方案。不仅推动了存储技术的创新,也为企业在新一代数据技术革命中提供了坚实的基础设施支持。在未来,Databend 和 CubeFS 将会继续协作,为企业在数据驱动的新时代中蓬勃发展带来更多的可能性。

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

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

相关文章

基于傅里叶描述子的手势动作识别,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

数学建模(灰色关联度 python代码 案例)

目录 介绍&#xff1a; 模板&#xff1a; 案例&#xff1a;哪些原因影响结婚率 数据标准化&#xff1a; 灰色关联度系数&#xff1a; 完整代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; 灰色关联度是一种多指标综合评价方法&#xff0c;用于分析和评价不同指标之…

由浅到深认识Java语言(9):Eclipse IDE简介

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

华为配置蓝牙终端定位实验

配置蓝牙终端定位示例 组网图形 图1 配置蓝牙终端定位示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 商场管理员希望在已有WLAN覆盖业务的基础上&#xff0c;使用蓝牙定位技术&#xff0c;根据顾客所在的位置&#xff0c;提供商场导航、导…

php 对接Vungle海外广告平台收益接口Reporting API

今天对接的是Vungle广告reporting api接口&#xff0c;拉取广告收益回来自己做统计。记录分享给大家 首先是文档地址,进入到Vungle后台就能看到文档地址以及参数&#xff1a; 文档地址&#xff1a;https://support.vungle.com/hc/en-us/articles/211365828-Publisher-Reporting…

AI助力生产制造质检,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建工业生产制造场景下的瓷砖瑕疵检测识别分析系统

瓷砖生产环节一般经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光&#xff0c;最后进行质量检测和包装。得益于产业自动化的发展&#xff0c;目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说&#xff0c;一条产线需要配数名质检工&…

【C++】1416. 求长方形的周长和面积

问题&#xff1a;1416. 求长方形的周长和面积 类型&#xff1a; 基本运算、整数运算 题目描述&#xff1a; 从键盘读入2个整数&#xff0c;分别代表一个长方形的长和宽&#xff0c;请计算长方形的周长和面积&#xff1b; 输入&#xff1a; 从键盘读入2个整数&#xff0c;用…

STM32利用串口外设发送数据

今天2024.3.21日上午学习了一下基本的串口初始化&#xff0c;利用串口发送一个字节的数据&#xff0c;看时间也快11点了&#xff0c;上午就学习这么多吧&#xff0c;把上午的知识总结一下&#xff0c;串口初始化的过程&#xff1a; 看着图来编写串口初始化的过程&#xff1a; …

GPT-4 vs. ChatGPT:19个弱项问题(多步逻辑推理、概念间接关联)的横向对比

测试对比&#xff1a;在逻辑推理和概念关联方面&#xff0c;GPT-4 显著优于 ChatGPT&#xff0c;准确率从37%提升至100%。智力水平&#xff1a;GPT-4 的思维智力表现可能超过了95%的人。技术进步&#xff1a;短时间内&#xff0c;GPT-4 显著进步&#xff0c;尤其在逻辑能力和多…

超越 GPT-4V 和 Gemini Pro!HyperGAI 发布最新多模态大模型 HPT,已开源

随着AI从有限数据迈向真实世界&#xff0c;极速增长的数据规模不仅赋予了模型令人惊喜的能力&#xff0c;也给多模态模型提供了更多的可能性。OpenAI在发布GPT-4V时就已经明确表示&#xff1a; 将额外模态&#xff08;如图像输入&#xff09;融入大语言模型&#xff08;LLMs&am…

java JVM详解(持续更新)

JVM定义 JVM结构 类装载子系统 双亲委派模型 运行时数据区 方法区&#xff08;Method Area&#xff09; 堆区&#xff08;Heap&#xff09; 虚拟机栈区 程序计数区 执行引擎子系统 垃圾回收机制 内存分代机制 JVM调优 JVM面试题 JVM定义 JVM它是jre的一部分&#xff0c;也…

静态路由实验(HCIP部分)

1、拓扑信息 2、需求分析 3、IP规划 4、配置截图 5、测试 1、拓扑信息 2、需求分析 1、 R6为isp,接口IP地址均为公有地址&#xff1b;该设备只能配置IP地址&#xff0c;之后不能再对其进行其他任何配置; 分析&#xff1a; R6只需配置一个环回和链路物理接口IP即可 2 、R1-R5为…

导出excel按动态表头导出

一、实现代码 使用Map方式添加head头&#xff0c;对应填充值 /*** 导出查看发车明细* param query* return*/Overridepublic ExportResult monthResourcePlanDepartureProgressDetailsExportExcelData(ResourceSituationListQuery query) {log.info("导出参数:{}",Ds…

FPGA开源项目分享——基于FPGA加速的热扩散模拟器

导语 今天继续分享康奈尔大学FPGA课程ECE 5760的典型案例——基于FPGA加速的热扩散模拟器。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 https://people.ece.cornell.edu/land/courses/ece5760/FinalProje…

多区域ISIS路由计算

多区域ISIS路由计算&#xff1a; 1、骨干区域是如何访问非骨干区域&#xff1f;&#xff08;R4如何学习到200.200/32的路由&#xff1f;&#xff09; 1.1 默认情况下&#xff0c;L1/2级别路由器会将L1级别LSDB中的叶子信息&#xff0c;作为自己L2级别实节点的叶子信息添加到L2的…

旅游小程序的市场与发展趋势

随着科技的发展&#xff0c;移动互联网已经成为我们生活中不可或缺的一部分。在这个时代&#xff0c;小程序已经成为了一种新的趋势&#xff0c;尤其是在旅游行业。那么&#xff0c;旅游小程序有哪些市场&#xff0c;发展趋势又怎么样呢&#xff1f; 一、旅游小程序的市场 1. 用…

3D高斯泼溅的崛起

沉浸式媒体领域正在以前所未有的速度发展&#xff0c;其中 3D 高斯溅射成为一项关键突破。 这项技术在广泛的应用中看起来非常有前景&#xff0c;并且可能会彻底改变我们未来创建数字环境以及与数字环境交互的方式。 在本文中&#xff0c;我们将通过与摄影测量和 NeRF 等前辈进…

企业用大模型如何更具「效价比」?百度智能云发布5款大模型新品

服务8万企业用户&#xff0c;累计帮助用户精调1.3万个大模型&#xff0c;帮助用户开发出16万个大模型应用&#xff0c;自2023年12月以来百度智能云千帆大模型平台API日调用量环比增长97%...从一年前国内大模型平台的“开路先锋”到如今的大模型“超级工厂”&#xff0c;百度智能…

从相机空间到像素空间的投影和反投影原理和代码

目录 从相机空间到像素空间的投影 效果 ​编辑 公式 ​编辑 代码 像素空间到相机空间的反投影 记录一下从相机空间到像素空间的投影&#xff08;3D-->2D&#xff09;和像素空间到相机空间的反投影&#xff08;2D-->3D&#xff09;。 推荐blog&#xff1a;SLAM入门之视…

smpl渲染工具

根据3d姿态预测smpl参数 GitHub - Jeff-sjtu/HybrIK: Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021 GitHub - woo1/Texture_visualize_smpl: smpl texture visualizatio…