Kyuubi的介绍优势(官网链接)

news2024/10/7 10:17:36

官网链接:https://kyuubi.apache.org/

Apache Kyuubi™ 是一个分布式多租户网关,用于在数据仓库和 Lakehouse 上提供无服务器 SQL。

Kyuubi 在各种现代计算框架(例如 Apache Spark、 Flink、 Doris、 Hive和Trino等)之上构建分布式 SQL 查询引擎,以查询来自异构数据源的分布在大量机器上的海量数据集。

下面泳道的 Kyuubi 服务器通道将我们的潜在用户分为最终用户和管理员。一方面,它向最终用户隐藏了计算和存储的技术细节。因此,他们可以使用熟悉的工具专注于自己的业务和数据。另一方面,它向管理员隐藏了业务逻辑的复杂性。因此,他们可以在零维护停机时间的情况下升级服务器端的组件,通过清楚地了解最终用户正在做什么来优化工作负载,确保集群和数据安全的身份验证、授权和审计等等

在这里插入图片描述
总的来说,Kyuubi 的完整生态系统分为上图所示的层次结构,每一层之间都是松散耦合的。将上面的一些组件组合起来构建一个现代数据堆栈就像小孩子的游戏一样。例如,您可以使用 Kyuubi、Spark 和Iceberg来构建和管理 Data Lakehouse,并使用纯 SQL 进行数据处理(例如 ETL)和在线分析处理(OLAP)(例如 BI)。所有工作负载都可以在一个平台上使用一份数据副本和一个 SQL 接口来完成。

统一网关
Server模块起到统一网关的作用。该服务器可以通过入口点简化、安全地访问任何集群资源,从而为最终(远程)用户部署不同的工作负载。在这个单一条目的背后,管理员可以通过单一点来配置、安全和控制对集群的远程访问。最终用户可以使用他们所需的任何 Kyuubi 引擎进行无缝数据处理,从而获得更好的体验。

应用程序编程接口
最终用户可以使用下面列出的应用程序编程接口在支持的客户端和 Kyuubi 服务器之间进行连接和互操作。当前的实现是:

Hive 节俭协议
一个与 HiveServer2 兼容的接口,允许最终用户使用 thrift 客户端(跨语言支持,tcp 和 http)、基于 thrift的 Java 数据库连接(JDBC)接口或基于 JDBC的开放数据库连接(ODBC)接口。 to-ODBC 桥与 Kyuubi 进行通信。

RESTful API
它提供系统管理API,包括引擎、会话、操作和其他API。

它提供了允许客户端提交SQL查询并接收查询结果、提交元数据请求并接收元数据结果的方法。

它可以轻松提交用于批处理的独立应用程序,例如 Spark 作业。

MySQL协议
与 MySQL 兼容的接口,允许最终用户使用 MySQL 连接器(例如 Connector/J)与 Kyuubi 进行通信。

我们计划添加更多
如果您有任何想法或问题,请加入我们的邮件列表。

多租户
Kyuubi 支持端到端多租户。在控制层面,Kyuubi服务器提供集中式身份验证层,以降低数据和资源泄露的风险。它支持各种协议,例如 LDAP 和 Kerberos,以保护客户端和服务器之间的网络安全。在数据平面上,Kyuubi 引擎使用相同的可信客户端身份来实例化自身。资源获取以及数据和元数据访问都发生在它们自己的引擎内。因此,集群管理者和存储提供商可以轻松保证数据和资源的安全。此外,Kyuubi还提供引擎授权扩展,将数据安全模型优化到细粒度的行/列级别。请参阅安全页面以获取更多信息。

高可用性
Kyuubi 采用高可用性 (HA) 设计,确保其在指定时间内连续运行而不会出现故障。HA 致力于提供符合商定的运营绩效水平的 Kyuubi。

负载均衡
由于多租户访问,Kyuubi 在实际生产环境中必须确保高可用性。

有效防止单点故障。

它有助于实现计划系统维护的零停机时间

故障可检测性
kyuubi 服务器和引擎的故障和系统负载通过指标、日志等可见。

无服务器 SQL 及更多
Lakehouses 上的无服务器 SQL 使最终用户能够更轻松地从数据世界中获取洞察并优化数据管道。它可以:

使用熟悉的 SQL 处理各种工作负载,获得与 RDBMS 相同的用户体验。

跨不同数据源的广泛且安全的数据访问能力。

通过可扩展的计算资源实现大量数据的高性能。

此外,Kyuubi 还支持无服务器提交代码片段和独立应用程序,以实现更高级的使用。

易于使用
最终用户可以使用 JDBC + SQL 或 REST + 代码以无服务器方式探索数据世界,从而获得优化的体验。对于大多数场景来说,不再需要Spark、Flink等相应引擎的超强能力。也就是说,大部分与部署、运行时优化等相关的工作,应该由Kyuubi服务器端的专业人员来完成。适用于以下场景:

基本发现和探索
快速推断云存储或本地 HDFS 集群中数据湖中各种格式(Parquet、CSV、JSON、文本)的数据。

湖屋形成和分析
通过 Hudi、Iceberg 或/和 Delta Lake 轻松构建 ACID 表存储层。

逻辑数据仓库
在不同数据之上提供关系抽象,无需 ETL 作业(从收集到连接)。

随处、任意规模运行
大多数 Kyuubi 引擎类型都有分布式后端或者可以在运行时调度分布式任务。它们可以在单节点机器或集群(例如 YARN 和 Kubernetes)上处理数据。此外,Kyuubi服务器还支持在裸机或docker中运行。

高性能
查询性能是实施 Serverless SQL 的关键因素之一。在最先进的大数据查询引擎上实现可维护性为我们实现这一目标奠定了基础:

最先进的查询引擎

多种应用以实现高吞吐量

可共享执行运行时以实现低延迟

服务器端全局持续优化

辅助性能插件,例如 Z-Ordering、查询优化器等

Serverless SQL 的另一个目标是让最终用户不需要或很少关心棘手的性能优化问题。

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

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

相关文章

CMU 15-445 Project #2 - B+Tree(CHECKPOINT #2)

CHECKPOINT #2 一、题目链接二、准备工作三、部分实现1.锁操作操作类型定义安全页面判断加锁操作解锁操作叶子页面查找操作 2.查找操作3.插入操作4.删除操作 四、评测结果 一、题目链接 二、准备工作 见 CMU 15-445 Project #0 - C Primer 中的准备工作。 三、部分实现 1.锁操…

linux安装conda

linux安装conda 卸载conda 在主目录下,使用普通权限安装: ./Anaconda3-2023.03-1-Linux-x86_64.shanaconda的目录是ENTER

139. 单词拆分

139. 单词拆分 原题链接:完成情况:解题思路:参考代码: 原题链接: 139. 单词拆分 https://leetcode.cn/problems/word-break/ 完成情况: 解题思路: dp动态递归去接,算0-n所有范围…

Xshell 7 评估期已过继续免费使用方法

1. 评估期已过的示例 2.解决方法 如果需要继续使用,一是去网上寻找绿色版本的Xshell,但是可能不安全。 二是重新下载一个免费版本,覆盖安装即可。 2.1 官网下载地址:https://www.xshell.com/zh/free-for-home-school/ 2.2下载安…

Pytorch:利用torchvision调用各种网络的预训练模型,完成CIFAR10数据集的各种分类任务

2023.7.19 cifar10百科: [ 数据集 ] CIFAR-10 数据集介绍_cifar10_Horizon Max的博客-CSDN博客 torchvision各种预训练模型的调用方法: pytorch最全预训练模型下载与调用_pytorch预训练模型下载_Jorbol的博客-CSDN博客 CIFAR10数据集下载并转换为图片&am…

gitlab配置公钥

1、打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C yourEmailgitlab.com2、然后打开~/.ssh/id_rsa.pub文件,复制里面的内容 cd ~/.ssh ls cat ./id_rsa.pub3、打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一…

【多线程】(六)Java并发编程深度解析:常见锁策略、CAS、synchronized原理、线程安全集合类和死锁详解

文章目录 一、常见锁策略1.1 乐观锁和悲观锁1.2 读写锁1.3 重量级锁和轻量级锁1.4 自旋锁1.5 公平锁和非公平锁1.6 可重入锁和不可重入锁 二、CAS2.1 什么是CAS2.2 CAS的实现原理2.3 CAS应用2.4 ABA问题 三、synchronized原理3.1 synchronized锁的特点3.2 加锁工作过程3.3 锁消…

VM(CentOS7安装和Linux连接工具以及换源)

目录 一、Linux意义 二、安装VMWare 三、centos7安装 1、正式安装CentOS7: 2、安装不了的解决方案 2.1常见问题——虚拟机开机就黑屏的完美解决办法 3、查看、设置IP地址 ① 查看ip地址:ip addr 或者 ifconfig, 注意与windows环境的区别…

labelme+sam在windows上使用指南

其实官网讲的很清楚了,这里做一个笔记,方便自己后面直接看。 首先,贴一下官方的链接,作者老哥很强,respect! 使用流程: https://github.com/wkentaro/labelme#installation 资源: ht…

数据库锁机制

锁机制 1. 概述2. 并发事务的不同场景2.1 读-读情况2.2 写-写情况2.3 读-写或写-读情况2.3.1 方案一:读事务使用MVCC(多版本并发控制),写事务加锁2.3.2 方案二:读、写事务均加锁 3. 锁分类3.1 从数据操作类型&#xff…

1.Docker概念

文章目录 Docker概念Docker容器与虚拟机的区别内核中的2个重要技术Linux Namespace的6大类型docker三个重要概念部署Dockeryum安装二进制安装 Docker 概念 docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。docker可以让开发者打包他们的…

【PostgreSQL内核学习(三)—— 查询重写】

查询重写 查询重写系统规则视图和规则系统ASLO型规则的查询重写规则系统与触发器的区别 查询重写的处理操作定义重写规则删除重写规则对查询树进行重写 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果&#xff0c…

王道计算机网络学习笔记(4)——网络层

前言 文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 四:网络层 ​​​​​​​​​​​​​​在计算机网络中,每一层传输的数据都有不同的名称。 物理层:传输的数据称为比特(Bi…

宝塔的Redis绑定IP

宝塔安装Redis 软件商店搜索Redis 连接宝塔面板的redis服务器失败的解决办法 检查Linux是否放行6379端口修改Redis绑定IP检查阿里云/腾讯云的防火墙策略是否放行6379端口 1.bind 127.0.0.1 修改为 bind 0.0.0.0 127.0.0.1 表示只允许本地访问,无法远程连接 0.0.0.0 表…

基于Python的用户登录和密码强度等级测试|Python小应用

前言 那么这里博主先安利一些干货满满的专栏了! 这两个都是博主在学习Linux操作系统过程中的记录,希望对大家的学习有帮助! 操作系统Operating Syshttps://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482Linux S…

Micro-app vue3+vite+ts用法

前言: 微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个…

文库小程序在线阅读下载文档模板流量主小程序

一、什么是文库小程序? 文库小程序连接流量主,具体流程是粉丝进入小程序下载文档模板,下载前需要看广告,阅读后可以免费下载文档模板。具体的小程序演示请参见抖音云云文库 二、文库小程序的应用范围 小程序主要实现文档共享功能…

Redis Linux安装

Redis版本下载,版本地址http://download.redis.io/releases/ 点击跳转 新建文件夹 mkdir /usr/local/redis 上传压缩包,并使用命令解压tar -zxvf redis-6.2.8.tar.gz (redis-6.2.8.tar.gz为安装包) 安装依赖 yum install gcc-c 编译 make 安装 make install 修改配置 …

概率论和随机过程的学习和整理20:条件概率我知道,但什么是条件期望?可用来解决递归问题

目录 1 目标问题: 什么是条件期望? 条件期望有什么用? 2 条件期望,全期望公式 3 条件期望,全期望公式 和 条件概率,全概率公式的区别和联系 3.1 公式如下 3.2 区别和联系 3.3 概率和随机过程 4 有什…

Zabbix“专家坐诊”第200期问答汇总

问题一 Q:想请问下大佬们,我们zabbix最近有误告警的情况,这个怎么排查呢? 用了proxy,我看了proxy和server的日志,除了有慢查的日志,其它没有异常日志输出。 A:看下这个unreachable的…