首页 > 其他分享 >基于 MinIO 部署单实例 Databend | 新手篇(1)

基于 MinIO 部署单实例 Databend | 新手篇(1)

时间:2022-11-07 11:25:42浏览次数:81  
标签:存储 MinIO Databend databend https 新手 data

MinIO是个高性能,云原生的对象存储。它提供了与 Amazon S3 云存储服务兼容的 API,使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。轻量,操作简单。

Databend 是一个使用 Rust 研发、开源、完全面向云架构的新式数仓,提供极速的弹性扩展能力,致力于打造按需、按量的 Data Cloud 产品体验。具备以下特点:

  • 开源 Cloud Data Warehouse 明星项目

  • Vectorized Execution 和 Pull&Push-Based Processor Model

  • 真正的存储、计算分离架构,高性能、低成本,按需按量使用

  • 完整的数据库支持,兼容 MySQL, Clickhouse 协议

  • 支持事务,支持 Time Travel, Database Clone, Data Share 等功能

  • 支持基于同一份数据的多租户读写、共享操作

开源地址:https://github.com/datafuselabs/databend/

官方文档:https://databend.rs

理解Databend 架构

Databend 是一个开源的云原生数仓,为了更好的适用于云环境,Databend 从架构上分为三层:MetaService 层,Query 层,存储层。

MetaService 层

这是 Databend 司令部,存储:权限定义,表结构定义,事务管理,表和数据的关联以及数据共享的整体逻辑。推荐集群方式部署。

Query 层

Query 层是 Databend 中直接和用户交互及调用存储的一层。用户通过 SQL 和 Databend 交互,Query层接到用户的请求后读写存储层。该层不用实时在线,使用时拉起,同时也支持动态扩容及收缩。

存储层

Databend 的存储层推荐使用云上的对象存储或是自建对象存储。Databend 在存储引擎这块使用了大数据生态的:Parquet 格式,同时引入了: min/max 索引,稀疏索引,bloom 索引等。

Databend 支持的部署环境

详细参考:https://databend.rs/doc/deploy/deploying-databend

Databend 支持的部署环境(单机)

实质上 MinIO 环境单机搭建比较容易,但后期的扩容还是比较麻烦,MinIO + Databend 比较适合走一下流程,这个环境也是 Databend 很多同事的开发环境。但 Databend 真正的测试及性能测试都是基于 AWS S3 环境运行。

Databend 部署方式比较简单,这里以 Linux 下 MinIO + Databend 单机部署部署为例,如果你是在公有云上部署,就更加简单。

Minio 搭建

官方地址:https://min.io/

从官方下载 MinIO 并启动

cd /data 
mkdir minio
cd minio 
wget https://dl.min.io/server/minio/release/linux-amd64/minio
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
#./minio server ./data
./minio server --address :9900 ./data



利用 WEB 界面打开 MinIO 管理测,打开后创建一个: databend bucket.

完成这个 bucket 创建后,MinIO 部署部分已经完成。

Databend 下载

Databend 下载建议可以从 Databend 的开源项目的 repo 里下载,每天都会有一个对应的 release , 具体的地址:https://github.com/datafuselabs/databend/tags

国内下载可以通过 aws s3 下载:https://databend.rs/download

一般 Linux 下我们下载 musl 包就可以,注意是 arm 或 x86_64 平台的区分。

下载地址:

https://repo.databend.rs/databend/v0.8.80-nightly/databend-v0.8.80-nightly-x86_64-unknown-linux-musl.tar.gz



对版本选择建议下载每天的最新版本,Databend 开发速度比较快,很多新特性合并的也比较快。部署 Databend :

cd /data
mkdir databend 
wget https://repo.databend.rs/databend/v0.8.80-nightly/databend-v0.8.80-nightly-x86_64-unknown-linux-musl.tar.gz
cd databend
tar zxvf ../databend-v0.8.25-nightly-x86_64-unknown-linux-musl.tar.gz



Databend 布置

默认下载的配置文件,需要修改 databend-query 的配置就可以使用了。

vim configs/databend-query.toml

修改部分

# Storage config.
[storage]
# fs | s3 | azblob | obs
type = "s3"

# Set a local folder to store your data.
# Comment out this block if you're NOT using local file system as storage.
[storage.fs]
data_path = "./.databend/stateless_test_data"

# To use S3-compatible object storage, uncomment this block and set your values.
[storage.s3]
bucket = "databend"
endpoint_url = "https://127.0.0.1:9900"
access_key_id = "minioadmin"
secret_access_key = "minioadmin"

Databend 启动 & 环境校验

启动 Databend

./script/start.sh
ps axu |grep databend

关闭 Databend

./script/stop.sh 

连接 Databend

Databend 默认对外有三个服务端口:

MySQL : 3307 支持 MySQL cli,应用程序连接。

Clickhouse: 8124 Clickhouse http handler 协议

这里我们以 MySQL client 连接举例:

mysql -h 127.0.0.1 -P3307 -uroot

需要注意 root 可以通过 localhost 实现无密码登录。Databend 权限管理参考了 MySQL 8.0 的设计,可以按 MySQL 8.0 的用户管理来管理 Databend 的用户。

Clickhouse 协议使用:https://databend.rs/doc/reference/api/clickhouse-handler

到此 Databend 单机基本部署就完成了。使用上就可以相当于使用一个 MySQL 一样来使用了。

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

标签:存储,MinIO,Databend,databend,https,新手,data
From: https://www.cnblogs.com/databend/p/16865346.html

相关文章

  • Databend 集群部署 | 新手篇(2)
    在单机模式下我们部署了databend-meta和databend-query两种角色(参考:基于MinIO部署单实例Databend|新手篇(1)),其中databend-query是计算节点,无状态模式,这种架构也有......
  • MINIO搭建单机以及集群
    MINIO简介  Minio是ApacheLicensev2.0下发布的对象存储服务器。它与AmazonS3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM映像。对象......
  • fianl详解(适合新手)
    final1、final是Java语言中的一个关键字2、final表示最终的,不可变的。3、final可以修饰变量以及方法,还有类等4、final修饰的变量?5、final修饰的方法?6、final修饰的类......
  • MinIO搭建本地图床
    本文记录了使用MiniIO搭建本地图床,搭配PicGo实现Typora图片自动上传。壹丨为什么要搭建本地图床?由于公司保密要求高,网盘、云笔记类软件一概不得使用,多番尝试过后,决定......
  • 关于变量的一些小知识 (纯新手)
    首先就是变量有好几种,第一字面变量就是常数123这种,然后就是变量名,我们自己定义的什么num啊这些,但是呢同一个变量名是可以赋值多个的,比如我这个,也是没有问题的2就是有个cons......
  • 盘点一个Pandas新手在文件读取路上遇到的问题
    大家好,我是皮皮。一、前言国庆期间在Python铂金交流群【暮雨和】问了一个Pandas处理的问题,提问截图如下:代码截图如下:新手上路,遇到的问题还是挺多的。二、实现过程......
  • 博客园主题美化——适合新手的详细攻略
    大家好,应该有很多新手对博客园主题该怎么进行优化而感到困惑吧。我在更改主题的过程中,也有着很多困惑,在看了很多博客后才更改成功,因为那些博客的内容都很零散,所以我记录下......
  • 星起航跨境:解决新手小白卖家难题,四个方面教你玩转亚马逊
    大家都知道,现在做跨境电商的利润非常可观,这让很多没有经验的卖家也蠢蠢欲动。跨境电商的平台非常多,优势也各不相同。但是国内卖家大多选择的是亚马逊,亚马逊作为跨境电商头部......
  • FastDFS收藏起来,现在开始用Minio吧
    MinIo分布式文件存储一、Minio介绍MinIO是全球领先的对象存储先锋,目前在全世界有数百万的用户。高性能,在标准硬件上,读/写速度上高达183GB/秒和171GB/秒,拥有更高的吞吐量和......
  • springboot使用minio分布式文件上传图片或视频
    Minio搭建先看下前端上传效果日期工具包使用的是hutool的importcn.hutool.core.date.DateUtil;接口可以上传视频和图片暂无做限制pom.xml<!--分布式存储-->......