全面超越Spark,Clickhouse,比 Spark 快 900%,基于云器Lakehouse构建新一代一体化数据平台

人工智能的迅速发展正在改变着我们的世界,对于大数据企业来说更是如此。

在大语言模型的引领下,数据平台领军企业 Databricks 和 Snowflake 的未来正在被重新书写。这两家企业在不久前的发布会上强调了大语言模型和 AI 能力的重要性,试图通过一体化的方式满足用户的数据处理需求。与此同时,随着大语言模型的引入,一般企业面临着一个新的挑战,即如何在现有的数据平台中充分发挥 LLM 的潜力。在这一大趋势的驱动下,传统的数据平台需要进行相应的补充和优化,而云器科技数据平台 Lakehouse 也在这个时机崭露头角。

云器科技的一体化平台,在数据分析部分,通过引入新的计算范式——增量计算,统一了流计算、批处理和交互分析,不同分析场景下,云器的性能比批处理引擎 Spark 快了九倍,同时超越交互分析产品 ClickHouse。在 AI 支持部分,平台同时支持半 / 非结构化数据存储以及对应的 AIOps,做到 BI+AI 一体化。

我们与关涛进行了深入的交谈,探讨了 Databricks 和 Snowflake 等知名平台的演进,同时聚焦于计算平台的变革与发展。在人工智能成为一等公民的背景下,他如何看待 LLM 对大数据企业的影响和改变?数据的管理和处理方式是否已经发生了根本性的变化?作为数据库和计算平台领域的权威,他的深刻见解将引领我们深入思考,探索计算平台未来的一些可能性。

 采访嘉宾:

关涛(Tony),云器科技联合创始人 /CTO,分布式系统和大数据平台领域专家。前阿里云计算平台事业部研究员,阿里巴巴通用计算平台 MaxCompute、Dataworks 负责人,层负责阿里巴巴主线大数据平台。前阿里巴巴和蚂蚁集团技术委员会计算平台领域组长、阿里云架构组大数据组组长。回国加入阿里云之前,在微软云计算和企业事业部工作 9 年,主持和参与开发了包括 Azure Datalake,Cosmos/Scope,Kirin 在内的多套超大规模分布式存储和计算平台。并著有多篇国内外会议论文和专利。

关涛是 2023 QCon 北京“从 BI 到 BI+AI,新计算范式下的大数据平台”专题出品人,QCon 北京将于 2023 年 9 月 3 日 -9 月 5 日在北京·富力万丽酒店举行。

AI 给大数据行业带来哪些影响?

 InfoQ:您在 21 年的采访中给出了数据平台领域一系列趋势预测,比如提到“湖仓一体是一个新兴的方向,但有望成为业界新标准“。两年之后回头看,当年哪些预测已经实现了?哪些还没有?为什么?

关涛: 两年前,我们从四个方向上做了一个趋势预测:离线到实时的全频谱;湖仓一体新架构;IoT 数据成为新增长点;AI 将成为数据库、数据平台的一等公民

现在我们可以来看看当时的预测,哪些方向相对是准确的。首先,离线到实时的全频谱,是比较明确的方向(这也是云器科技的方向)。当下无论是存储领域的 Delta、Hudi、Iceberg,还是实时化数据处理领域的 Databricks、Snowflake,都在追求这一方向,以支持更全面覆盖的流批交互能力,而不是聚焦在单一方向的优化上。

其次是湖仓一体。两年前可能还是探索性方向,但如今国内已有更多实践将数据湖和数据库优势结合起来,这在一体化方向上得到了认可,特别是随着人工智能的兴起,数据湖的优点被放大,与数据仓库平起平坐,追求两者的优势已成为一个原则。

然后 IoT 成为新的热点,我觉得对了一半。随着智能制造和智能汽车的兴起,这些领域的大规模数据正成为新的发展方向,是目前数据产生端最大的增量。但 IoT 数据采集和处理,目前仍处于早期阶段,毕竟大多数企业没有部署很多 IoT 类设备,相关应用也在早期。

最后还有一个很明确的趋势:AI 将成为数据库、数据平台的一等公民。在大语言模型爆火之前这个趋势还不够清晰,分析仍然是数据平台最主流的方向。大语言模型出现之后,人们将 BI 和 AI 视为并列的能力,甚至对 AI 的潜力期望更高。因此,许多平台都在声称拥有 AI 支持能力,无论是 Snowflake 还是 Databricks。在不久的将来,所有平台可能会考虑弥补这种能力的不足,例如半结构化数据的存储和向量检索等,这一方向已经很明确。

 InfoQ:LLM 是目前的热门话题,您认为 LLM 的到来,能给大数据企业带来哪些改变?

关涛: 大模型给企业带来的改变范围很广。它可以帮助企业取代许多人的工作,例如数据开发、数据调优、数据库管理员(DBA)等。甚至在客服领域,大约百分之七八十的工作已经被机器替代了。许多重复性工作,如基础的预算管理、初级的技术核验,甚至审计和财务工作等,都可以在一定程度上通过大模型辅助完成,从而提升工作效率。

另一个方面,大模型的成功依赖于三个要素:模型、数据和算力。模型目前比较同质化,算力取决于资金支持能力,而数据反而成为至关重要的因素。拥有优质专业的数据能够使模型更加精准。因此,如果某个企业在数据领域具有独特的优势,当大模型时代来临时,它将具备额外的竞争力。

举个例子,之前 Bloomberg 公司发布了一款名为“BloombergGPT”的大模型,专注于新闻和财经领域。由于在这个领域积累了丰富的数据,其生成的大模型在知识深度和逻辑结构方面更为优越。这使得他们能够为客户提供更有价值的服务,从而获得更多收益。

另外,大模型在交互方面有着出色的表现。我们所谈论的大型模型实际上是语言模型,它最擅长于以自然语言的方式进行交互,你可以用语言提问,它以语言方式回答。大型模型在交互方面可能是其主要应用领域。但在这个领域内,它可以带来很多改变。

所以这个问题的答案,即大模型给企业带来哪些改变,是有三个主要改变。首先,它可以大幅提升效率,可以成为大数据企业的核心战略;第二,如果你拥有优质独特的数据,结合大模型,可以带来额外的核心竞争力。第三,大幅降低使用数据平台的门槛(通过自然语言和数据平台交互),数据平台可以突破原有的限制,开放给所有人,例如高管可能不会写 SQL 或编程,但通过大模型,可以轻松与系统进行沟通。这种转变可以使企业从只有 20% 的人能够使用数据平台提升到所有人,效率的提升是巨大的,甚至可以说是颠覆性的。

 InfoQ:GPT 浪潮到来之后,对于一般企业来讲,要想让企业数据结合 LLM 并发挥出数据的价值,传统的数据平台最需要补齐的环节是什么?为什么?

关涛:从大的逻辑上来说,需要将 AI 作为核心功能融入数据平台。以往很多数据平台将分析或 BI 作为唯一设计目标,现在需要将数据与 AI 结合,将 AI 也作为一等公民。这是一个较大的转变。数据平台架构需要进一步升级,同时能扩展 BI+AI。

具体而言,首先是存储层面,需要额外支持半结构化和非结构化数据的处理。其次,在数据管理方面,需要支持所谓的“异构”数据管理能力,涵盖非结构化和半结构化数据的统一管理。第三,保持数据的开放性,支持多种引擎对接。

第二个方面是计算层面,需要支持基础的功能,例如针对大型模型的计算。这涉及一些细节技术,如向量存储和向量检索的能力。此外,还涉及到处理非结构化数据,如图像数据的识别和净化数据的打通,以及在计算层面针对大规模的 Finetune 和向量检索。

最后一点是保持架构的开放性,能够有更好的插件化体系。目前 AI 链路还在快速演进中,变化很多。企业基础设施需要能保持灵活性。插件化体系本身可以通过 UDF、FunctionCompute 或者专门的 PipelineManagement 系统来解决。

特别的,对于 LLM,目前针对 LLM 应用的组件已有很多,比如 LangChain、向量数据库、LLM runtime,这些组合可以很容易搭建起来一个端到端 LLM 服务链路。很多新兴的更易用的 LLMOps 组件都在涌现,比如 Lepton.ai, XInference。

为什么需要一套新的系统?

 InfoQ:与流行的开源产品 Spark/Flink/Clickhouse、以及 SaaS 化的 Snowflake 相比,云器具备的技术差异点是什么?

关涛:云器科技 Lakehouse 是通过基于增量计算范式的一个引擎覆盖批、流、交互三种典型场景,并通过类似 Snowflake 的 SaaS 模式给客户提供服务。

题目中的三个开源产品,它们分别代表了数据分析领域三种主流的计算形式,总结为批处理、流处理和交互分析。这三个模式通常组合在一起,形成一个较为完善的数据分析平台。这种组合在开源领域中是一个典型的形式,称之为 Lambda 架构。

Lambda 架构存在架构复杂、数据存储、管理、语义不统一等诸多问题。而云器在技术方面的优势是通过一套系统来打破这种组合式架构,实现数据存储的统一、数据管理的统一、用户语义的统一、开发体验的统一,以及提高效率、降低成本的效果。

与 Snowflake 的对比,首先是相似之处,我们都是基于 SaaS 模式提供服务。通过云上的即开即用模式为客户提供服务。与开源模式不同,用户不需要购买硬件、部署和运维。SaaS 化的解决方案用户无需担忧这些事务。

与 Snowflake 的不同之处在于,Snowflake 还是更偏数仓,对数据湖的支持相对较弱,主要联邦查询上做了一些工作。云器从设计之初就基于原生 Lakehouse 的新架构,这种新架构不仅仅适用于数据分析,还支持其他不同的工作负载。另一方面,Snowflake 更偏向批处理,交互分析在其次,并且几乎没有流的能力。而云器系则致力于将流处理、批处理、交互分析这三条线都统一起来。

 InfoQ:那么云器是重新开发了一套系统吗?

关涛: 对,整个系统都是从零开发的。我们引入了一个新的计算范式,称为增量计算。

一体化是我们第一天就追求的设计方向。通过分析已有的批处理、流计算和交互分析三种计算范式,它们各自有自己的优化方向和设计模式,有不同的存储计算表达,无法彼此取代。具体的差异可以看下面这张表格。

因此,我们提出了第四种新的计算方式,即增量计算。我们希望通过增量计算来统一这三种传统计算模式,最终形成一个一体化的引擎。

 InfoQ:业界也有基于 Flink 的增量入湖解决方案?

关涛: 对,Flink 是比较早去尝试做一体化的解决方案,并且提出过“流批一体”的口号,目前看落地案例并不太多。这实际上是因为流处理和批处理的计算方式不同,存储系统也不同。

云器的方案,我们通过通用的计算方式来统一流批交互模式,然后我们使用一套通用的存储来支持整个存储层面。这个存储的形态是湖仓一体的增量存储,是一种通用增量存储。它和顶层的计算引擎是一个相互支撑的关系。通用的增量存储不仅仅能为我们之前谈到的支持增量计算的统一数据分析引擎提供服务,还可以支持其他的 AI 引擎。这就是我们的目标,也是与其他产品的不同之处。

 InfoQ:您能更具体的解释一下性能提升的原理吗?

关涛: 首先是基础引擎的能力。当前数据分析引擎架构选型已经比较稳定,比如向量化引擎、完全的列式存储、存算分离的设计、基于代价的优化器,采用了 Native 的代码等方法。这些都体现在我们的产品中(主要语言为 C++)。这些特性保证我们引擎性能达到高水平。

但上述技术,我们认为不算创新,是 State of the art 的水平,是我们的基础能力。创新来自于下面几方向:

除了这些基础能力之外,我认为刚才提到的增量计算是一个关键方向。通过增量计算,我们在进行计算时可以尝试记住先前已经计算过的部分,而无需再次计算。这些先前计算过的部分往往可以表示为物化视图或者 Result Cache。这些物化视图可以在透明的情况下被用户的查询引用。举个例子,当用户发出查询时,如果已经计算过的结果被保留,而且只需计算新增加的部分,这将极大地提升引擎的性能。

此外,我们还拥有一种称为“AI4D”的技术。我们可以通过 AI 学习的方法优化数据存储和计算。例如,你经常对两张表进行 Join 操作,这些计算是重复的,那就可以被预计算起来。当预计算的结果满足你的查询条件时,可以直接返回。实际上,这也是一种增量计算,只是加入了智能化的数据计算和准备过程。是一个 Learn based 过程,通过 AI 的方式自动化的优化。通过这种自动化的优化方式,同样可以大幅提升性能。而且这种优化可以对用户透明。可以理解成数据平台的自动驾驶(Autopilot)。

总结一下,我认为我们在引擎的实现方面几乎达到了当前业界最好水平,他是个基础。但更大的提升潜力主要集中在两个方面:第一,增量计算,在计算范式上的创新;第二,AI4D 自动优化的创新。这两者的提升都能极大地提升性能,并有好的潜力。

 InfoQ: 这样的架构是否已经有落地,实际效果如何?

关涛: 是的,我们已经在一些客户中得到了应用。

我们的产品有几个主要卖点能得到客户认可。首先,许多企业认为选择更轻的 SaaS 架构是一个好选择。客户认为当前开源自建架构已经不能带来技术先进性和差异化,同时自建架构需要重资产投入,包括硬件和团队,这种模式已经老旧。相比之下,云器的轻量化、多云的云中立的 SaaS 模式更具吸引力。许多客户正是出于这个原因而选择我们。

其次是在性能方面的表现。无论是批处理、交互还是流处理,对比现有系统,我们都实现了显著的高性能。例如,在批处理方面,我们的性能比 Spark 快了九倍。在交互问题上,我们的性能也可能比市场上最优秀的产品 ClickHouse 更快一些。这些性能提升对许多客户来说都是非常关键的,尤其是当性能提升达到倍级水平时。

最后就是许多客户对我们试图解决 Lambda 组装式架构带来的一系列问题感兴趣,认为这是我们的核心突破点,觉得这是很好的技术创新。他们在当前架构上能够切身体会到,Lambda 架构将几个不同计算引擎组合在一起可能会引发各种问题。云器通过一体化引擎统一数据分析平台,使得用户在需要调整业务时,可以在不同的计算范式之间灵活切换,这种模式对他们非常有帮助。例如,在国内一家知名的智能制造新能源汽车厂商中,POC 测试结果显示云器平台能够以非常低的成本实现全链路实时化,他们对这个效果非常满意。

大语言模型时代的数据平台

 InfoQ:BI 和 AI/ML 正在逐渐融合,一些企业想提供一站式服务,但从数据库角度入手对数据管理有优势,从湖仓出发则更利于机器学习,那么用一个平台结合这两方面的优势,其挑战主要来自哪里?

关涛: 我认为主要的挑战来自如下几个方面。

首先是系统解耦 / 开放与高性能的平衡。我之前提到,很多数仓系统是存储与计算一对一的系统,其存储就针对上层的计算做专门优化来做到高性能。然而,如果我们希望支持多种不同类型的工作负载,比如存储系统同时支持分析引擎和 AI 引擎,存储与计算的解耦和开放性就非常关键。

这里难点在于解耦和开放的同时能继续保持高性能。实现这种模块间的解耦,在同时追求高性能的平衡上是相对困难的挑战。这就是我认为的第一个方面。

另一个挑战是两种计算模式的联动。数据分析领域 SQL 是主流语言,AI 领域 Python 最流行,如何方便地编程两种系统,是关键挑战。SQLML、SQL+UDF 内嵌 Python、Python 的 SQLAlchemy 库、原生 Python 接口等都是选择。

最后一个挑战是新的面向 AI 的数据链路。之前数据分析 BI 的全链路比较成熟,数据集成、ETL/ELT、建模、分析、BI 等模式清楚。AI 链路正在重新构建中,组件和模式与 BI 都不相同。这部分对业界都是新课题,目前有非常多的框架 / 平台在尝试。

 InfoQ:要支持 BI+AI/ML,甚至是 LLM,数据平台也需要逐渐支持 OLAP、OLTP、流、Graph、向量?兼容这么多种类的话,您认为比较好的解决方案会是什么样的?

关涛: 一体化有天然的架构简单的优势,是技术领域的“圣杯”。业界一直未停止探索。

如果我们把数据领域分成 OLTP、OLAP、AI 三个大方向,我认为,OLAP 数据分析领域内的典型场景基本固定,Lambda 架构问题业界有明确共识,一体化架构统一所有分析类的 Workload 是未来方向。这也是云器在尝试的方向。从我们当前的探索和实践来看,流处理、批处理和交互,这三类计算范式是可以被统一处理的。

OLTP 与 OLAP 的一体化,HTAP 也是业界方向。部分产品在这个方向发力,也有很多客户落地场景。

OLAP+AI 一体化是目前的热点,这两类数据的重合度以及交互的诉求都够强。Databricks 一直主打这个方向,它一直坚持 Data+AI 的战略。Snowflake 从 OLAP 领域出发,最近也在加速同时支持 AI 的布局,比如一直在发力的 SnowPark。

就云器科技本身的定位,是用单一引擎的方式统一 OLAP 中三个计算范式。同时通过 Lakehouse 架构支持 AI 的能力,支持 SQL 与 Python 混合编程,支持插件化的 AIOps 支持。

 InfoQ:在“兼容 AI”的要求下,数据平台发展得越来越复杂,那么考量一个平台的好处主要看哪些方面?

关涛: 个人认为可以按照如下方式评价。

首先是数据的全频谱。存储平台能否存储和管理全域数据。就像之前提到的湖仓一体,这是一个明确的方向,将数据湖和数据仓融合在一起,再加上统一的全域数据接入,同时保持开放性。

其次,能否同时支持数据分析和其它计算范式。SQL 引擎和 AI 引擎都能支持好。

再就是系统必须具备扩展性的能力。所谓的扩展性,就是在面对未来的变化时,能够通过插件化的方式快速集成其他模块,对资源调度、系统整体设计都有一定考验。在这里有个建议,就是可以使用云模式来做设计,这样才能更容易达到这个目标。因为云的模式在资源弹性和模块丰富度方面都表现出色。

 InfoQ:两年之后,我们再展望未来,您觉得未来计算平台领域会发生哪些变化?发展趋势是怎样的?

关涛: 我想大致会有以下几个趋势。

第一个,数据加速爆炸式增长。IoT 类的数据加上 Agent 类的数据,将成为数据增长的新动力。这其中的背景是,数据的第一波增长源自于数据库,例如账单报表类的数据,虽然数据量较小,但对于银行等机构来说具有很高的价值。而数据的第二波爆发则主要发生在大数据领域。许多人的行为数据被记录下来,比如你在淘宝上购买了什么商品、浏览了什么内容等。这些行为数据最终会转化为用户画像和个性化推荐等服务的一部分。这些数据是过去 20 年数据增长的核心推动力和来源。第三波增长来源于人类行为数据以及设备数据,比如车辆上的摄像头、家中的智能开关等。随着 AI 的兴起,许多智能机器人也会涌现出来,它们会广泛应用于各个行业,因此这些智能机器人产生的数据也会被自动收集起来,构成数据的第三波增长点。

与此同时,还有一个平行的增长点,即大规模模型和深度学习带来的半结构化数据处理能力的显著增强,这类数据也会持续涌现。因此,数据的爆炸式增长仍然是一个重要趋势。

第二个,数据分析的架构将趋于统一。在数据分析领域,大家最终可能都会向着增量计算的方向发展,从而逐渐打破 Lambda 架构的限制,一体化的架构会成为未来。跟我们前两年预测湖仓一体会成为未来一样,希望一体化架构两年后也会真正落地。

第三个,大语言模型带来了半结构化和非结构化数据处理能力的显著增强。以前处理这些数据几乎是很困难的,但现在已经变得相对容易。以前阅读一个 PDF 文件,很难理清其中的内容,而现在这方面的处理变得更加简便。在这个层面上,如果以前我们只能处理结构化数据,现在又多了两类,半结构化和非结构化数据。处理这些数据能力的显著增强,势必会带来存储和计算的需求显著增长。

第四个,大语言模型到来,数据交换 / 隐私保护会得到更多投资。数据的安全和隐私的要求进一步提升了,数据共享的需求变得更加迫切。因为数据本质上就是知识,而这些知识可以提升智力水平,进而变成一种隐含的价值。因此,数据隐私保护和数据共享之间的平衡成为一个重要议题,特别是在大规模模型的应用下,可能会引发显著的变化。目前我们尚不清楚如何应对这一挑战。例如,很多企业不允许使用公开的大语言模型服务,尤其在美国,主要是因为担心在与模型交互时可能导致企业内部隐私泄露。而一旦模型被私有化部署,其知识范围可能会受限,无法获取与外部交互的内容。因此,数据交换和隐私保护变得尤为关键,这可能是未来的一个发展趋势。

第五个,BI+AI 成为数据平台必选项,数据平台需要内置或插件化支持异构数据、finetune、向量检索等 AIOps 技术。AI 让所有的平台智能化,数据平台的智能化也成为必然。大幅降低使用门槛的数据平台会被更多人所使用,因此这也给“平台傻瓜化”带来额外的要求。

关于关涛:

关涛(Tony),分布式系统和大数据平台领域专家,现为云器科技联合创始人兼 CTO。据了解,云器科技将于 7 月 20 日下午 14:00-17:00 发布多云、一体化湖仓平台,感兴趣的朋友可点此了解详情。他曾任阿里云计算平台事业部研究员,阿里巴巴通用计算平台 MaxCompute、Dataworks 负责人,负责阿里巴巴主线大数据平台。前阿里巴巴和蚂蚁集团技术委员会计算平台领域组长、阿里云架构组大数据组组长。

在回国加入阿里云之前,关涛曾在微软云计算和企业事业部工作 9 年,主持和参与开发了包括 Azure Datalake、Cosmos/Scope、Kirin 在内的多套超大规模分布式存储和计算平台,并著有多篇国内外会议论文和专利

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

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

相关文章

[单master节点k8s部署]41.部署springcloud项目

在之前的文章中我们配置了mysql和harbor,现在我们可以将一个springcloud部署在k8s集群中了。 项目概述 这个springcloud项目将采用maven进行打包部署。首先安装maven: yum install java-1.8.0-openjdk maven-3.0.5* -y 然后将该项目上传到k8s集群的m…

ANSYS 2024 R2设置中文

ANSYS 2024 R2设置中文 打开ANSYS Workbench R2软件依次点击Tools、Options 在弹出的Options选项卡中选择Regional and Language Options项,选择Language为Chinese然后点击OK 重启软件即可切换为中文界面

珠海自闭症寄宿学校:打造温馨家庭般的学习氛围

原文链接:http://www.zibizhengwang.com/page35.html 在探索自闭症儿童教育的广阔领域里,寄宿制学校以其独特的优势,为自闭症儿童提供了一个集教育、康复与生活于一体的综合性环境。而在珠海乃至全国,众多自闭症寄宿学校正不断努…

为什么inet_ntoa会返回错误的IP地址?

目录 1、调用inet_addr和inet_ntoa实现整型IP与点式字符串之间的转换 1.1、调用inet_addr将点式字符串IP转换成整型IP 1.2、调用inet_ntoa将整型IP转换成点式字符串IP 2、调用inet_ntoa返回错误点式字符串IP的原因分析 3、解决多线程调用inet_ntoa返回错误点式字符串IP的办…

请求第三方接口有反斜杠和双引号怎么处理,且做格式校验?

如:接口文档要求 直接使用转义失败,在postman中填值请求正常。 String para "[" "\\" "\"" "预计今天白天我市多云间晴;" "\\" "\"]"; System.err.println(pa…

Applied Spatial Statistics(九)GWR示例

Applied Spatial Statistics(九)GWR 示例 这是一个基本的示例笔记本,演示了如何使用开源“mgwr”包在 Python 中校准 GWR(Fotheringham 等人,2002)模型。mgwr 包由 Oshan 等人(2019 年&#xff…

塞班和诺基亚(中古手机图,你见过哪个?)

诺基亚的塞班系统,是比较早和强大的移动操作系统了。当时还有Palm,微软的平台,但市占率都很低。 安卓从被谷歌收购那天,每个特性都预示着,未来一定会超越塞班。而塞班后来取消了生态,自己来使用&#xff0c…

element-ui点击文字查看图片预览功能

今天做一个点击文字查看图片的功能&#xff0c;大体页面长这样子&#xff0c;点击查看显示对应的图片 引入el-image-viewer&#xff0c;点击的文字时候设置图片预览组件显示并传入图片的地址 关键代码 <el-link v-if"scope.row.fileList.length > 0" type&…

Python基础:18、Python文件操作

1&#xff09;文件的编码 什么是编码&#xff1f; 编码就是一种规则集合&#xff0c;记录了内容和二进制间进行相互转换的逻辑。 编码有许多中&#xff0c;我们最常用的是UTF-8编码 为什么需要使用编码&#xff1f; 计算机只认识0和1&#xff0c;所以需要将内容翻译成0和1才能…

Ubuntu20.04卸载ros2 foxy版本安装ros1 noetic版本

前言 如果你ubuntu中没有ros&#xff0c;可以试着直接从鱼香ros一键安装包指令处开始。 卸载ros2 sudo apt-get remove ros-*接下来如果你直接使用鱼香ros的一键安装命令&#xff0c;会出错。 设置源 设置源&#xff0c;这里使用的是中科大的。 sudo sh -c . /etc/lsb-r…

基于SpringBoot+Vue+Uniapp家具购物小程序的设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而…

3个方法快速恢复微信已过期或被清理图片

微信作为现在国内用户数量最多的社交软件&#xff0c;已经成为了许多人日常生活和工作中必不可少的一部分。但微信中的图片有时会因为多种原因而消失&#xff0c;如过期、被清理或者误删。遇到这种情况&#xff0c;那么已过期或被清理的图片还能恢复吗&#xff1f;下面小编就来…

论文速读:通过目标感知双分支蒸馏进行跨域目标检测(CVPR2022)

原文标题&#xff1a;Cross Domain Object Detection by Target-Perceived Dual Branch Distillation 中文标题&#xff1a;通过目标感知双分支蒸馏进行跨域目标检测 论文地址&#xff1a; https://arxiv.org/abs/2205.01291 代码地址&#xff1a; GitHub - Feobi1999/TDD 这篇…

在IDEA中配置Selenium和WebDriver

前言&#xff1a; 在当今自动化测试和网络爬虫的领域&#xff0c;Selenium是一个被广泛使用的工具。它不仅能够模拟用户与浏览器的交互&#xff0c;还能进行网页测试和数据抓取。而为了使用Selenium与谷歌/Edge浏览器进行自动化测试&#xff0c;配置合适的WebDriver至关重要。本…

Java--练习--DVD管理系统

一、详细代码 package demo2.Test;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class DVD2 {//DVD管理系统//声明三个数组 用来存储 名称 状态 借出日期 借出次数String[] names new St…

游戏引擎哪家强?选哪一个更有钱途

游戏引擎乃是构筑及开发视频游戏的软件架构。其供应一整套工具与库&#xff0c;以处置常见的游戏开发事务&#xff0c;诸如渲染图形、模拟物理、管控音频等等。凭借对游戏引擎的运用&#xff0c;开发人员能够将精力倾注于构建其游戏的独特之处&#xff0c;而非再度发明此类基础…

【游戏模组】极品飞车12无间风云冬季mod,冬天版本的无间风云你体验过吗

各位好&#xff0c;今天小编给大家带来一款新的高清重置魔改MOD&#xff0c;本次高清重置的游戏叫《极品飞车12无间风云》。 《极品飞车12&#xff1a;无间风云》是由Black Box游戏制作室开发的竞速类游戏&#xff0c;于2008年11月18日在北美首发、2008年11月21日在欧洲先后推…

【深入学习Redis丨第八篇】详解Redis数据持久化机制

前言 Redis支持两种数据持久化方式&#xff1a;RDB方式和AOF方式。前者会根据配置的规则定时将内存中的数据持久化到硬盘上&#xff0c;后者则是在每次执行写命令之后将命令记录下来。两种持久化方式可以单独使用&#xff0c;但是通常会将两者结合使用。 一、持久化 1.1、什么…

MySQL【知识改变命运】04

复习&#xff1a; 1&#xff1a;CURD 1.1Create &#xff08;创建&#xff09; 语法&#xff1a; insert [into] 表名 [column[,column]] valuse(value_list)[,vaule_list]... value_list:value,[value]...创建一个实例表&#xff1a; 1.1.1单⾏数据全列插⼊ values_l…

Python爬虫之正则表达式于xpath的使用教学及案例

正则表达式 常用的匹配模式 \d # 匹配任意一个数字 \D # 匹配任意一个非数字 \w # 匹配任意一个单词字符&#xff08;数字、字母、下划线&#xff09; \W # 匹配任意一个非单词字符 . # 匹配任意一个字符&#xff08;除了换行符&#xff09; [a-z] # 匹配任意一个小写字母 […