当前位置: 首页 > news >正文

Apache Doris 创始人:何为“现代化”的数据仓库?

在 12 月 14 日的 Doris Summit Asia 2024 上,Apache Doris 创始人 & PMC 成员马如悦在开场演讲中,围绕“现代化数据仓库”这一主题,指出 3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“统一之路”和“弹性之路”,详细介绍了所对应的核心特性的设计思考与应用价值,揭晓了 2025 年社区发展蓝图。

本文节选自马如悦在 Doris Summit Asia 2024 上的演讲,以马如悦第一人称叙述,经编辑。

最具影响力开源大数据项目之一

Apache Doris 自 2013 年创建至今已 10 年有余,截至目前,GitHub Stars 已近 13,000,社区的贡献者达到近 670 名,平均每月活跃贡献者超过 120 名。这一成就使其超越了 Spark、Kafka 等项目,成为开源大数据和数据库领域中月活开发者最多的项目。此外,Apache Doris 在所有 Apache 项目中官网浏览量稳居第一,2024 年 4 月网站 PV 高达 900w,可见其受欢迎程度。

最具影响力开源大数据项目之一.PNG

全球中大型企业规模突破 5000 家

在 Apache Doris 技术持续创新与稳步发展下,越来越多的用户及企业选择并使用 Apahce Doris。我记忆犹新的是,2022 年时,Apache Doris 所覆盖企业规模不足千家,然而时隔仅 2-3 年,目前正在使用 Apache Doris 的中大型企业已突破 5000 家,并且不断有新的用户了解并尝试使用 Doris。这一迅猛增长得益于社区所有用户及开发者的反馈、建议及开发共建,同时也离不开其商业公司飞轮科技提供的技术驱动、用户维系和社区建设等全方位的支持。

这 5000 家企业覆盖范围十分广泛且多元化,包括金融、互联网、电信、游戏、交通物流、零售快消、能源制造等多个领域,并且正在不断拓展新的应用场景,这充分证明了 Apache Doris 的强大性能及广泛适用性。今天到场的许多嘉宾正是我们的用户,在接下来的议程中,他们也将带来精彩的主题演讲,期待能给更多人带来启发与洞见。

全球中大型企业规模突破 5000 家.PNG

2024 年,Apache Doris 重点推出了 3.0 版本,这一版本是研发之路上的重要里程碑。其缘由在于,自诞生之初,Apache Doris 就定位于现代化实时数据仓库。在 3.0 版本之前,尽管它在很多特性上都非常领先、大受欢迎,但并未完全实现现代化特性。然而,"现代化"这一理念在 3.0 版本中得以全面实现,并得到了充分的验证。接下来,我将从实时、统一和弹性三个方面,介绍 Apache Doris 在现代化数据仓库创新之路上的进展。

Real-Time,实时之路

随着工业 3.0 发展阶段的到来,数字技术已成为主流,企业正全面迈入实时分析时代。从以往批量报表转变为如今的实时仪表盘,从面向内部的分析扩展为面向外部的分析服务,从静态报表到交互式即时查询,从以人为中心到自动算法调用…这些变化都对实时性提出了非常高的要求。

Real-Time,实时之路.PNG

实时分析是 Apache Doris 最为基础且核心的特性之一。项目建立之初,大多数用户正是被 Doris 的实时性所吸引。如今,Apache Doris 的实时性无疑已成为业界的标杆。那么,Apache Doris 是如何实现如此强大的实时分析性能呢?

01 秒级实时数据写入

实时数据的核心在于确保数据的新鲜度和快速可见性。为实现这一目标,Apache Doris 在实时数据的导入与存储方面进行了大量优化,具体分为以下三部分:

  • 秒级实时数据写入: 支持秒级的实时数据写入,能够通过高效的 StreamLoad 和 Insert Into 功能实现快速数据导入。此外,它还支持服务端的批量 Group Commit,提升数据高频实时写入的效率。同时,Doris 可自动从 Kafka 拉取数据,并支持数据库的 CDC、Flink 和 Spark 的实时数据导入,并均可实现秒级入库。
  • 高性能数据更新: 引入基于 Merge-on-Write 的主键模型,该表模型在数据写入时即对需要删除或更新的数据进行标记,始终保证有效的主键只出现一个文件中。同时,Doris 也支持 UPSERT 操作,包括条件更新、条件删除和部分列更新,以及基于 Sequence 列的并发导入事务。这对于高频写入的场景来说,大大减少了查询执行时的额外消耗。
  • 轻量级元数据变更: 支持轻量级的元数据变更操作,如更改列名、增加或删除值列,以及调整 Varchar 列的长度等。这些操作可在毫秒级别内完成,确保数据能够实时更新,满足实时性需求。

02 极速交互式分析性能

相较于事务型数据库,分析数据库则更注重交互式分析体验。为提供更好的交互性分析,Apache Doris 在性能上不断优化,包括对向量化引擎、基于 CBO 的优化器、丰富的索引支持、单表/多表物化视图以及在 ARM 架构下的深度优化等。在这些能力的加持下,Apache Doris 在测试集中表现优异:

  • 在 ClickBench 测试中,Apache Doris 分别在 2022、2024 年 10 月,在榜单上领先所有工业界数据库 。
  • 在 TPC-H 测试中,Apache Doris 在 Join 场景中表现优异,其性能约为 Greenplum 的 3 至 8 倍。
  • 在 TPC-DS 测试中,结果显示 Apache Doris 性能较 Trino/Presto 提升了约 3 倍。

02 极速交互式分析性能.png

03 超大规模用户高并发查询

在数据量不断激增的当下,高并发查询的需求也愈发的明显。Apache Doris 在高并发查询方面进行多项优化,最终实现了单节点最高上万 QPS 的并发:

  • 分区分桶裁减:采用 Partition、 Bucket 两级分区,通过 Hash 将数据打散至各个节点中,以此提升读取并行度和吞吐量。
  • 主键索引 & 倒排索引: 提供丰富的索引结构来加速数据的读取和过滤。通过索引显著减少了需要扫描的行数,降低 CPU 和 IO 的压力,大幅提升了系统整体并发能力。
  • 行列混存:引入行式存储格式,在数据服务场景中行存更为高效,可减少磁盘访问次数。用户可指定开启行存,点查时每行只需一次 IO,在宽表列较多的情况下性能有数量级提升。
  • 点查短路径及预处理语句优化:实现了点查短路径优化,绕过查询优化器以及 PlanFragment 来简化 SQL 执行流程,直接使用快速高效的读路径来检索所需的数据。同时,FE 端支持与 MySQL 协议兼容的预处理语句,在 CPU 成为瓶颈时,Prepared Statement 可实现 4 倍以上的性能提升。

04 高可用架构设计

分析型数据仓库如今不仅为企业内部提供 BI 报表和分析,还广泛服务于外部客户及大量高并发用户。因此实时系统需要秒级数据入库和查询,且不允许停机维护。对于此,Apache Doris 的优势也十分明显:

  • 简洁架构设计:采用简洁的架构设计,确保元数据节点(FE)和存储计算节点(BE)均无单点故障,确保在硬件故障时,服务能够持续运行而不受影响。
  • 在线扩容与滚动升级:支持在线扩容和滚动升级,用户能够在不中断服务的情况下,灵活地调整计算资源和存储容量,极大地提升了系统的弹性,允许用户根据实际需求快速扩展。
  • 数据自动均衡:系统提供数据自动均衡功能,确保数据在各节点间均匀分布,从而提升查询性能和资源利用率。
  • 在线模式变更:用户可以在不停机的情况下动态增删索引,快速响应业务变化,灵活地调整数据结构以满足不同场景的需求。
  • 存算分离支持:在 3.0 版本中引入了存算分离,可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,计算和存储资源可以独立扩展,进一步提升了系统的灵活性和性能。

Unified,统一之路

在大数据分析领域,企业面临着多样化的分析需求,往往需要部署多个工具或技术来应对不同场景。这种做法往往导致组件繁多、运维成本高昂、数据链路冗长以及数据重复存储等诸多问题。

数据仓库几经发展,逐步从传统数据仓库演变为大数据平台/数据湖,如今又迎来了现代化数据仓库,对应的架构也在发生着变化。底层数据源类型从传统的结构化数据扩展为多种半结构化数据;中间层从 ETL、数据仓库、数据湖相互独立演变为相互融合;顶层则引入了数据科学、机器学习和人工智能应用。这些演变都对数据处理的时效性、灵活性与效率提出更高的要求。

Unified,统一之路.png

在这样的背景下,Doris 作为现代化统一数据仓库,能够有效应对多样的分析场景。其 All-In-One 的设计理念不仅简化了数据的使用和管理,还使企业将精力从复杂的数据基础设施管理转向上层的数据应用。

01 湖仓无界

“湖仓无界”,即 Lakehouse,是数据领域的全新概念。Apache Doris 作为一款现代化的数据仓库,凭借其独特的架构,完美诠释了这一理念。而 Apache Doris 之所以能被称为 Lakehouse,主要得益于其两大特性:

01 湖仓无界.png

  • 联邦查询能力:Apache Doris 通过扩展 Catalog 和存储插件,使用户无需将数据物理集中至统一的存储空间,在保持各数据源独立性的同时,仅借助 Apache Doris 即可实现多个异构数据源的统一分析,既可以直查外部表以及存储文件、也可以执行内表和外表以及外表相互之间的关联分析。此外。目前 Apache Doris 已经支持了 10 余种主流湖、仓、关系型数据库的连接器。
  • 开放的数据湖特性:Apache Doris 引入高吞吐读写 API,也称之为 Data API 或 Storage API。打破了数据封闭性,使外部引擎能直接、高效地访问和存储 Doris 中的数据,无需受限于造成性能瓶颈的 JDBC/ODBC 协议。

凭借这些特性,Apache Doris 既能作为强大的 SQL 查询引擎,也能作为开放、灵活的数据湖,实质上满足了 Lakehouse 的定义。

那么,Apache Doris 与其他纯粹的 Lakehouse 相比较,其优势在哪里? 其核心在于“避免过早复杂性”,这里我通过一个例子来说明。

对于许多业务团队而言,其业务数据量可能仅有几百 GB,甚至更少,且尚未引入如 HDFS 这类复杂的数据架构。对于这种情况,Apache Doris 只需简单的几个节点即可迅速投入使用,部署过程极为简便。随着系统和业务需求的逐步复杂化,比如需要集成机器学习引擎或查询 HDFS 上数据时,凭借 Apache Doris 灵活的架构设计及弹性,能够实现逐步的升级与演进,无需在最开始就搭建复杂的系统。

许多用户在使用某些 Lakehouse 产品时感到不便,其根源在于这些产品要求用户在数据量有限的情况下就搭建复杂的 HDFS 及多个组件,这无疑增加了不必要的复杂性,也即“过早复杂性”。相比之下,Apache Doris 则秉持着从简单到复杂的逐步演进原则,有效避免了这一问题。

02 半结构化数据分析

2024 年,我们注意到一个显著的趋势,将近一半的 Elasticsearch 使用者倾向于采用 Apache Doris 来替代 Elasticsearch。尽管 Elasticsearch 在半结构化数据分析领域占有一席之地,但随着 Apache Doris 的持续突破,正逐步成为未来半结构化数据分析的核心引擎。这一转变主要归功于三大关键点:

  • 复合数据类型:支持 Array、Map、Struct、JSON 复合数据类型,常用于用户行为和画像分析、点查、查询数据湖中 Parquet ORC 等格式数据的场景。
  • Variant 数据类型:支持 Variant 数据类型,支持存储半结构化数据以及包含不同数据类型(如整数、字符串、布尔值等)的复杂数据结构,无需提前在表结构中定义具体的列。擅长处理复杂多变的嵌套结构,可自动推断列信息并合并到现有 Schema,支持动态子列的存储。同时,表中可以同时包含灵活的 Variant 列和静态列,提供更大的存储和查询灵活性。相较于 JSON 类型,存储空间减少了约 65%,查询速度提升超 10 倍。
  • String 数据类型:优化了正则匹配和子串匹配算法,引入了 NGram BloomFilter,提升了使用 LIKE 语句时的查询速度;同时,通过倒排索引,对文本进行细粒度分词,使得用户可以使用 MATCH 等相关语句,实现文本快速检索。

Elastic,弹性之路

弹性的重要性在于它能够提升数据库的灵活性、可扩展性以及资源利用率,同时可降低企业的运维成本和潜在风险。为此,Apache Doris 在提升弹性方面也不断努力。

01 存算一体

在存算一体时代,Apache Doris 便提供了弹性资源管理功能,先是推出了基于资源标签(Resource Tag)的物理隔离方案,后在 2.1 版本中推出了 Workload Group 管理方案,能够基于 CGroup 技术在每台机器上实现 CPU 资源的硬限和软限。在存储方面也很早便实现了冷热分层策略,热数据存储在成本更高的 SSD 盘上,而冷数据则存储在相对低成本的 HDD 盘甚至更为廉价的对象存储上,保存方式也从多副本变为单副本,冷数据无需占用宝贵的本地机器资源,从而避免了因扩充容量而购买更多机器的需求。

02 存算分离全新架构

而在 3.0 版本中,Apache Doris 开始支持存算分离模式,基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。在存算分离架构中,元数据存储在 FoundationDB,数据则存储在 S3 等对象存储中。在这一架构下,FE 和 BE 节点均变得无状态,所有数据都存放于共享的对象存储,而非本地存储。同时,为了提升性能,Doris 引入了高速缓存机制。

Elastic,弹性之路.png

针对存算分离是否会影响性能的问题,我们进行了存算一体模式和存算分离模式在不同缓存下的 TPC-DS 1TB 性能测试。结果显示,在缓存命中的情况下,性能基本无损;部分命中缓存时,性能损耗约为 10%;而在缓存不命中的情况下,性能损失约为 30%。但相较于业内其他同类系统,存算分离模式下的 Apache Doris 仍有着极为明显的性能优势。

Elastic,弹性之路-2.png

03 两种部署形态融合

弹性的资源管理始终是数据分析基础设施的永恒追求。我们提供存算一体和存算分离两种部署形态,以便发挥各自的优势:存算一体部署简便且性能优越,而存算分离则支持灵活的独立扩缩容。

进一步来看,存算分离的部署需要依赖高性能的对象存储或文件系统,以及充足的网络带宽。如果企业的存储基础设施或网络带宽受限,存算分离的性能可能受到影响。这也解释了为何存算分离常与云原生技术相关联,虽然存算分离并非云原生特有,但云原生环境为其提供了高带宽和优质对象存储,为其提供了理想的设施基础。

当前,一些用户认为在开始时就要选择存算一体或存算分离的部署形态并不合理,尤其是在数据量较小时。因此,Apache Doris 未来计划融合这两种部署形态,用户无需再纠结于选择哪种部署形态,无论是从存算一体切换到存算分离,还是反向切换,都可以通过简单的参数配置实现自动切换,而无需重建集群或重新导入数据。

03 两种部署形态融合.png

2025,探索更多可能性

展望 2025,在功能需求上,Apache Doris 将更加专注于用户需求,聚焦四大板块,强化其技术实力:

  • 内置 CDC 同步:Apache Doris 虽已支持丰富的数据导入方式,但 CDC 仍依赖外部工具或生态合作伙伴。未来将实现内置 CDC 同步功能,目前我们已研发出初步版本,支持从众多 TP 数据库直接 CDC 导入数据。
  • 支持增量数据处理:投入大量人力支持基于增量式的批量处理。这种方式不同于 Spark 或传统 Hive 的批量模式,具备更高的时效性,能够显著提升数据处理效率。
  • 完善湖仓一体:兼容 Trino/Presto Connector 框架,这意味着 Apache Doris 将能够直接使用 Trino 和 Presto 所支持的功能,无需重复开发。同时,还将完善高吞吐读写的 Data API,以提升整体性能。
  • 存算一体和存算分离部署形态融合:Apache Doris 未来计划融合这两种部署形态,用户无需再纠结于选择哪种部署形态,无论是从存算一体切换到存算分离,还是反向切换,都可以通过简单的参数配置实现自动切换,而无需重建集群或重新导入数据,避免架构过早复杂性。

在非功能需求上,Apache Doris 将全力投入于三个方向持续发力:

  • 更优:提升导入性能,将查询性能从秒级提升为亚秒级,为保持全球查询性能第一的位置而持续发力。
  • 更稳:实行更加严格的版本迭代策略,三位版本将不再引入新 Feature,专注于 Bug 的修复,并加强更多测试覆盖。实现内核插件化,基于插件化引入新功能与周边功能。
  • 更易用:对于配置较为复杂的参数,未来将努力简化参数配置,并提升产品文档质量,完善周边生态工具,以增强用户使用体验。

Doris Summit Asia 2024 峰会回放 & PPT 资料现已公开,前往 Summit 官网 点击查阅或下载

相关文章:

Apache Doris 创始人:何为“现代化”的数据仓库?

在 12 月 14 日的 Doris Summit Asia 2024 上,Apache Doris 创始人 & PMC 成员马如悦在开场演讲中,围绕“现代化数据仓库”这一主题,指出 3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“…...

高校网络安全存在的问题与对策研究

目 录 摘 要1 第1章 引言2 1.1研究背景2 1.2研究意义2 第2章系统开发的相关技术简介3 2.1 Spring boot框架3 2.2 MySQL简介3 2.3 Vue框架3 2.4 JAVA简介3 第3章 系统需求分析4 3.1可行性分析4 3.1.1技术可行性4 3.1.2运行可行性4 3.1.3经济可行性5 3.2功能需求…...

Redis的数据类型,线程,持久化机制

1. Redis是单线程还是多线程的,为什么? Redis是单线程的(传统实现) Redis在传统的实现中是单线程的。尽管它处理的任务很多,但它使用单线程来处理所有客户端的请求。这个设计决策有几个关键原因: 简化模型…...

什么是ondelete cascade以及使用sqlite演示ondelete cascade使用案例

什么是ondelete cascade ‌ON DELETE CASCADE是数据库中的一种约束,用于自动删除相关的记录‌。具体来说,当一个表中的记录(父表)被删除时,与其相关的其他表(子表)中的记录也会被自动删除&…...

Java设计模式 —— 【结构型模式】享元模式(Flyweight Pattern) 详解

文章目录 概述结构案例实现优缺点及使用场景 概述 享元模式也叫蝇量模式:运用共享技术有效地支持大量细粒度的对象; 常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象…...

数据的简单处理——pandas模块——选择数据

要对读取的数据进行编辑,需要先学会选择数据的操作,如果选择行数据、列数据或者同时选择行列数据。 ############################## ##作者:白雪公主的后妈 ##时间:2024年12月29日 ##主题:数据的简单处理——pandas模…...

淘宝/天猫购物车商品列表API:深度解析与应用实践

引言 在电商领域,购物车功能是提升用户体验和增加销售额的关键工具。淘宝和天猫作为中国最大的电商平台,提供了丰富的API接口,其中包括获取购物车商品列表的API,即buyer_cart_list。本文将深入解析淘宝/天猫购物车商品列表API的功…...

位置式PID-控制步进电机-位置环-stm32

基本原理 1、软件设计 本闭环控制例程是在步进电机编码器测速例程的基础上编写的,这里只讲解核心的部分代码,有些变量的设置,头文件的包含等并没有涉及到,完整的代码请参考本章配套的工程。 我们创建了4个文件:bsp_pid.c和bsp_pid.h文件用来存放PID控制器相关程序,bsp_s…...

关于Qt::BlockingQueuedConnection的死锁问题

绑定信号槽时,如果信号对象和槽对象属于不同的线程,通过Qt::BlockingQueuedConnection可以实现同步调用,即发送信号的代码等待槽函数返回才继续运行 文档的说明: Qt::QueuedConnection The slot is invoked when control returns…...

Excel for Finance 07 `FV PV` 函数

Excel 的 FV 函数用于计算一笔投资在未来的价值,基于固定的利率和定期付款。这是一个金融函数,常用来分析储蓄计划、贷款、或投资的增长。 语法: FV(rate, nper, pmt, [pv], [type])参数说明: rate(必需)&…...

驱动开发系列31 - Linux Graphics 调试 mesa 的 glDrawArrays (三)

一:概述 接着前面驱动开发系列26 - Linux Graphics 调试 mesa 的 glDrawArrays (二)-CSDN博客的文章继续分析下glDrawArrays的实现,本文介绍一下在Gallium3D HW Driver中,驱动如何将绘制命令提交给GPU执行。看下驱动层的执行逻辑:即 draw_vbo 的过程。 二:回顾下draw_vbo…...

【探花交友】day03—MongoDB基础

目录 课程介绍 1、通用设置 1.1 需求分析 1.2 查询通用设置 1.2 陌生人问题 1.3 通知设置 1.4 黑名单管理 2、MongoDB简介 1.1、MongoDB简介 1.2、MongoDB的特点 1.3 数据类型 3、MongoDB入门 2.1、数据库以及表的操作 2.2、新增数据 2.3、更新数据 2.4、删除数…...

【Vue教程】使用Vite快速搭建前端工程化项目 | Vue3 | Vite | Node.js

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🚩今天毛毛张分享的是关于如何快速🏃‍♂️搭建一个前端工程化的项目的环境搭建以及流程🌠 文章目录 1.前端工程化环境搭建&#…...

手机租赁平台开发全攻略打造高效便捷的租赁服务系统

内容概要 手机租赁平台开发,简单说就是让用户能轻松租赁各类手机的高效系统。这一平台不仅帮助那些想要临时使用高端手机的人们节省了不少资金,还为商家开辟了新的收入渠道。随着智能手机的普及,很多人并不需要长期拥有一部手机,…...

自由学习记录(31)

Java连接MySQL 找到那个关键jar包然后导入选中,就配置好MySQL的JDBC(Java Database Connectivity)了 菜单--文件--项目结构 项目设置--模块--选择要附着的项目--选择依赖--选中模块源--选中加号添加jar包 解压之后在里面可以看到这个最关键…...

【探花交友】用户登录总结

1.发送验证码 1.发送post请求 数据封装在map 获取map的手机号码 2.调用service层将手机号码 传入过去 3.正常返回状态码200 RestController RequestMapping("/user") public class LoginController {Autowiredprivate UserService userService;/*** 获取登录验证码*…...

LabVIEW声波谐振管自动化测量系统

开发了一种基于LabVIEW的声波谐振管自动化测量系统。该系统利用LabVIEW的强大功能,实现了对声波谐振频率的精确测量,提高了实验数据的采集效率和准确性。系统主要应用于物理教学和科研中,用于研究声波在谐振管中的传播特性。 项目背景 传统的…...

elasticsearch中的倒排索引

倒排索引是搜索引擎中常用的一种数据结构,适用于全文检索,能够通过文本内容高效检索到相应的文档。 一、倒排索引的基本概念 正排索引:传统的索引方式,按照文档id顺序存储文档,通过文档id找到文档对应的词。因此当需…...

【Elasticsearch】DSL查询文档

目录 1.DSL查询文档 1.1.DSL查询分类 1.2.全文检索查询 1.2.1.使用场景 1.2.2.基本语法 1.2.3.示例 1.2.4.总结 1.3.精准查询 1.3.1.term查询 1.3.2.range查询 1.3.3.总结 1.4.地理坐标查询 1.4.1.矩形范围查询 1.4.2.附近查询 1.5.复合查询 1.5.1.相关性算分 …...

接口测试Day04-postman生成测试报告ihrm项目

测试报告-利用newman插件 安装node.js 安装 双击 .msi 文件,一路下一步安装即可。无需特殊设定。测试安装成功 npm -v 安装npm 安装newman 安装newman npm install -g newman试安装成功 newman -v安装newman插件 - 扩展版 npm install -g newman-reporter-htmlex…...

常见的排序算法过程和比较分析

比较分析 排序类别排序算法时间复杂度(最好)时间复杂度(最坏)时间复杂度(平均)辅助空间复杂度稳定性插入排序直接插入排序O(n)O(n)O(n)O(1)稳定插入排序折半插入排序O(n)O(n)O(n)O(1)稳定插入排序希尔排序…...

基于Vue+SSM+SpringCloudAlibaba书籍管理系统

功能要求 一、登录功能(http://localhost:8080/#/login) 输入账号和密码(admin/admin)进行登录: 如果密码错误,给出提示信息 如果密码正确,跳转到主页 账号或密码错误: 账号密码正确:跳转到…...

生成式 AI 增强了个人创造力,但减少了新内容的集体多样性

创造力是人类的核心。生成式人工智能 (AI)(包括强大的大型语言模型 (LLM))有望让人类通过提供新想法来更具创造力,或者通过锚定生成式 AI 想法来降低创造力。我们在一项在线实验中研究了生成式 AI 想法对短篇小说制作的因果影响,其中一些作家从 LLM 那里获得了故事创意…...

【DC简介--Part1】

DC简介-Part1 1 overview1.1 DC操作步骤1.2 Steps1.2.1 Develop HDL files1.2.2 Specify libraries1.2.3 Read design1.2.4 Define design environment1.2.5 Set design constraints1.2.6 Select compile strategy1.2.7 Synthesize and optimize the design1.2.8 Analyze and r…...

Spark写入HDFS数据SUCCESS文件生成控制

Spark写入HDFS数据SUCCESS文件 1、_SUCCESS的控制2、_SUCCESS的实现 1、_SUCCESS的控制 与Hive不同,MapReduce和Spark在执行写入HDFS数据任务时,数据输出目录一般都会有一个名为_SUCCESS的空文件,该文件仅用来表示任务执行成功 但有些时候&a…...

MySQL 服务器简介

通常所说的 MySQL 服务器指的是mysqld程序,当运⾏mysqld后对外提供MySQL 服务,这个专题的内容涵盖了以下关于MySQL 服务器以及相关配置的内容,包括: 服务器⽀持的启动选项。可以在命令⾏和配置⽂件中指定这些选项。 服务器系统变…...

如何使用Python从SACS结构数据文件中提取节点数据信息并导出到EXCEL

在现代工程设计中,结构分析和数据处理是不可或缺的一部分。特别是在海洋工程、桥梁建设等领域,SACS文件被广泛应用。这种文件格式包含了结构模型的各种重要信息,包括节点(JOINT)、构件(ELEMENT)…...

Java网约车项目实战:实现抢单功能详解

在网约车项目中,抢单功能是非常关键的一部分,它决定了司机能否及时响应乘客的订单,提高整个平台的运营效率。本文将详细介绍如何使用Java来实现网约车项目的抢单功能,并提供一个完整的代码示例,以便读者能够直接运行和…...

SSRF服务端请求Gopher伪协议白盒测试

前言 是什么SSRF? 这个简单点说就是 服务端的请求伪造 就是这个如果是个 请求图片的网站 他的目的是请求外部其他网站的 图片 但是 SSRF指的是让他请求本地的图片 再展示出来 请求的是他的服务器上的图片 SSRF(Server-Side Request Forgery:服务器端请求伪造) …...

html+css+js网页设计 美食 家美食1个页面

htmlcssjs网页设计 美食 家美食1个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#xf…...