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

官网链接: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.hqwc.cn/news/29013.html

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

相关文章

Element-UI 实现动态增加多个不同类型的输入框并校验(双重v-for表单验证)

文章目录 前言定义表单格式表单渲染和验证扩展 前言 在做复杂的动态表单,实现业务动态变动,比如有一条需要动态添加的el-form-item中包含了多个输入框,并实现表单验证,但在element-ui组件库中给出的表单校验中没有这样的格式&…

navicate_windows_14

1.新建文本文档2.输入如下内容 echo off set dnInfo set dn2ShellFolder set rpHKEY_CURRENT_USER\Software\Classes\CLSID :: reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration14XCS /f %针对<strong><font color"#FF0000"…

Spring创建Ajax和接受Ajax数据-spring20

建一个AJAX.jsp页面 发送Ajax请求一般用jQuery 引入jQuery 引入文件&#xff1a; 弄一个请求 获得集合参数第二种应用场景 requestBody 的意思请求体 为什么找不到JQuery文件&#xff0c;原因是&#xff1a;前端控制器的配置&#xff1a;缺省&#xff0c;客户端发送请求&…

idea创建spark教程

1、环境准备 java -version scala -version mvn -version spark -version 2、创建spark项目 创建spark项目&#xff0c;有两种方式&#xff1b;一种是本地搭建hadoop和spark环境&#xff0c;另一种是下载maven依赖&#xff1b;最后在idea中进行配置&#xff0c;下面分别记录两…

Java开发中使用sql简化开发

引语&#xff1a; 在Java开发中&#xff0c;我们更希望数据库能直接给我们必要的数据&#xff0c;然后在业务层面直接进行使用&#xff0c;所以写一个简单的sql语句有助于提高Java开发效率&#xff0c;本文由简单到复杂的小白吸收&#xff0c;还请多多指教。 使用MySQL数据库…

Spark MLlib快速入门(1)逻辑回归、Kmeans、决策树、Pipeline、交叉验证

Spark MLlib快速入门(1)逻辑回归、Kmeans、决策树案例 除了scikit-learn外&#xff0c;在spark中也提供了机器学习库&#xff0c;即Spark MLlib。 在Spark MLlib机器学习库提供两套算法实现的API&#xff1a;基于RDD API和基于DataFrame API。今天&#xff0c;主要介绍下Data…

【JavaScript】Function的祖传方法call与apply

引言 内容速递 看了本文您能了解到的知识&#xff01; 在本篇文章中&#xff0c;将带你了解什么是call和apply&#xff0c;call和apply的用途、如何手写call和apply以及call和apply的使用场景。 1、什么是call和apply call()和apply()是JavaScript中的两个内置方法&#xff…

数据可视化揭示人口趋势:从数字到图像的转变

人口是一个关乎我们生活的重要话题&#xff0c;而数据可视化技术为我们提供了一种全新的方式来理解和解读人口变化的趋势。通过将大量的人口数据转化为直观的图表和图像&#xff0c;数据可视化帮助我们更好地观察、分析和解释人类发展的重要特征。 数据可视化揭示人口趋势的第一…

【Docker】利用Dockerfile制作个人的镜像文件详细讲解

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…

transformer Position Embedding

这是最近一段很棒的 Youtube 视频&#xff0c;它深入介绍了位置嵌入&#xff0c;并带有精美的动画&#xff1a; Transformer 神经网络视觉指南 -&#xff08;第 1 部分&#xff09;位置嵌入 让我们尝试理解计算位置嵌入的公式的“sin”部分&#xff1a; 这里“pos”指的是“单词…

面试官:为什么RPC框架历经数十年还在造轮子?同时期的EJB骨灰都快找不到了!

文章目录 再谈谈RPC的理解RPC的发展史RPC历经数十年而不衰的原因?1、分布式系统的需求2、RPC相关技术的演进3、多语言的支持 本文源自一次面试官的提问&#xff1a;说说你对于RPC框架的了解&#xff0c;你知道哪些RPC框架&#xff0c;以及为什么RPC历经几十年还能不断推出新的…

Unity URP 2D光照导入与配置

上面随时间变化的火烧云和晚霞&#xff0c;篝火的呼吸光照&#xff0c;都是URP的功劳。 1.什么是URP&#xff1f; URP 全称为 Universal Render Pipeline(通用渲染管线)。 它的特点是在手游和端游均能在保持性能的同时有良好的效果 也就说在多数情况下&#xff0c;在下面的平台…