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

DuckDB:现代数据分析的“SQLite“内核革命

在数据工程、数据科学快速演进的今天,一个新的名字正在快速蹿红:DuckDB

有人称它是数据分析领域的SQLite,也有人称它为下一代轻量级OLAP引擎
无论哪种称呼,都离不开一个事实:

DuckDB 重新定义了小型数据仓库和本地分析的体验。

今天这篇文章将带你全面认识 DuckDB:

  • 它的定位是什么?
  • 它能做什么?
  • 为什么它在数据界这么火?
  • 和传统数据库、Pandas、Spark相比,DuckDB到底有什么不一样?
  • 如何在实际项目中用好它?

(字数大约 3000+,保证信息量充足,不废话!)


一、DuckDB 简介

1.1 什么是 DuckDB?

DuckDB 是一个开源内嵌式(embedded)列式(columnar)数据库,特别针对**分析型查询(OLAP)**而优化。

简单理解就是:

  • 像SQLite一样轻量,直接嵌入你的应用程序,不需要服务器。
  • 像ClickHouse/Snowflake那样列式存储,专门擅长复杂查询、聚合、分析。
  • API设计非常现代,原生支持Python、R、C++等多语言。

一句话总结

DuckDB = SQLite (轻量内嵌) + Snowflake (强大分析能力)


1.2 DuckDB 的设计理念

DuckDB 的核心理念是:

  • 嵌入式:不跑单独服务器,像Pandas一样用。
  • 列式存储:天然适合分析型负载(少写多读)。
  • 即时查询(in-process):直接在内存里操作数据,超快。
  • 面向单机优化:在现代笔记本/服务器上榨干CPU缓存、内存带宽。
  • 极简部署:零依赖,一行pip安装。

二、为什么选择 DuckDB?

如果你在做数据相关工作,肯定用过:

  • Pandas(Python数据处理)
  • PostgreSQL / MySQL(传统关系型数据库)
  • Spark(分布式大数据处理)

那问题来了:

工具优势劣势
Pandas简单易用,灵活强大内存敏感,大数据集容易OOM
PostgreSQL事务稳定,SQL强大OLAP性能一般,不适合巨量分析
Spark支持海量数据,分布式处理部署复杂,小规模用起来太重了

而DuckDB正好填补了这中间的空白:

✅ 像Pandas一样简单操作
✅ 像Spark一样高效分析
✅ 像PostgreSQL一样支持完整SQL
✅ 像SQLite一样轻量无部署

所以很多人说:

小数据不用Spark,中数据不用Postgres,直接上DuckDB。

尤其是数据集规模在几GB到几十GB之间的应用场景,DuckDB几乎是完美选择。


三、DuckDB 的核心特性解析

3.1 内嵌式运行

DuckDB的最大特点之一:嵌入式(In-process)运行模式

不像传统数据库那样需要独立部署服务器进程,DuckDB像一个普通Python库一样:

pip install duckdb

然后直接在代码里使用:

import duckdbduckdb.query("SELECT 42").show()

没有守护进程,没有TCP连接,直接在你的进程内运行
这让DuckDB的启动速度、延迟、运维成本都极低。


3.2 列式存储,极致压缩

DuckDB是原生列式数据库,每一列独立存储,优势明显:

  • 只读需要的列 → 节省IO
  • 每列数据类型一致 → 压缩率极高
  • 大型聚合查询(如sum, avg, count)速度飞快

而且,DuckDB默认启用了高效的编码与压缩技术,比如:

  • Dictionary Encoding
  • Run-Length Encoding
  • Bitpacking

所以处理大型CSV、Parquet文件时,速度远超传统行式存储数据库。


3.3 支持标准SQL

DuckDB 支持接近完整的 ANSI SQL标准,包括但不限于:

  • 多表Join
  • 窗口函数(Window Functions)
  • 子查询(Subqueries)
  • CTE(WITH子句)
  • JSON处理
  • 聚合分组(GROUP BY)
  • ORDER BY + LIMIT优化
  • 索引(虽然列式存储通常不强依赖索引)

例如复杂查询也可以轻松跑:

WITH monthly_sales AS (SELECTproduct_id,EXTRACT(month FROM sale_date) AS month,SUM(amount) AS total_salesFROM salesGROUP BY product_id, month
)
SELECT * FROM monthly_sales WHERE total_sales > 10000

这让你可以毫无痛苦地从传统RDBMS过渡到DuckDB。


3.4 原生支持大文件格式(CSV、Parquet、JSON)

DuckDB不仅可以处理自己的表,还能直接查询本地文件,比如:

SELECT * FROM 'data/huge_dataset.parquet' WHERE age > 30

直接像表一样读Parquet、CSV、JSON,甚至不用预先加载到数据库,非常适合快速探索数据。


3.5 无缝集成 Pandas、Polars、Arrow

DuckDB 对接 Python 生态极为优秀。

直接从Pandas DataFrame查询:

import pandas as pd
import duckdbdf = pd.read_csv('bigfile.csv')result = duckdb.query("SELECT avg(price) FROM df").fetchall()

或者直接用 Arrow 格式高速读取:

import pyarrow.parquet as pqtable = pq.read_table('data.parquet')
duckdb.query("SELECT count(*) FROM table")

支持 Polars、Arrow 这些新兴数据格式,让数据科学家可以更快探索大数据。


3.6 流水线执行引擎(Pipeline Execution)

DuckDB有自己的一套流水线执行框架(Query Pipelines):

  • 并行处理:自动使用多核CPU
  • 向量化执行:批处理(Vectorized Processing)
  • 缓存友好:最大化利用CPU L1/L2缓存

这套机制让它即使在单机上,也能压榨出媲美分布式的性能。


四、DuckDB 和其他方案对比

来一张简洁对比表:

特性DuckDBPandasPostgreSQLSpark
部署复杂度超低(嵌入式)超低中等(需搭建)高(需集群)
处理数据量中等(GB到TB)小(MB到GB)中(GB)超大(TB到PB)
查询语言支持全SQLPython代码全SQLSQL + API
并行能力
列式存储
启动速度毫秒级毫秒级秒级分钟级
文件直接查询✅(Parquet/CSV)需要导入支持
最佳使用场景单机分析、轻量仓库小规模数据处理事务处理分布式大数据分析

五、实际项目案例分享

案例1:本地CSV文件秒级查询

传统做法:用Pandas读取整个CSV,占用大量内存。

DuckDB做法:

import duckdb# 直接查询巨大CSV文件
query = duckdb.query("""
SELECT city, COUNT(*) 
FROM 'massive_data.csv' 
GROUP BY city 
ORDER BY COUNT(*) DESC
""").df()
  • 无需全部读入内存
  • 超快筛选、聚合
  • 输出可以直接存成新的Parquet表

案例2:加速机器学习特征工程

特征工程阶段通常要进行:

  • 筛选
  • 聚合
  • 窗口计算

用Pandas处理慢又容易爆内存。用DuckDB直接处理DataFrame:

duckdb.query("""
SELECT user_id, AVG(session_time) OVER (PARTITION BY user_id) AS avg_session_time
FROM df
""").to_df()

然后拿结果直接喂给 LightGBM/XGBoost。


案例3:嵌入应用程序作为轻量分析引擎

比如你在开发一款数据可视化平台,需要:

  • 处理用户上传的CSV文件
  • 做一些实时聚合、筛选
  • 不想搭建复杂后端

直接用DuckDB嵌入到Python/Node.js/Go服务端,就可以做到“上传即分析”,极致快速。


六、如何入门 DuckDB?

  1. 安装
pip install duckdb
  1. 快速体验
import duckdbduckdb.query("SELECT 1+1").show()
  1. 深度学习
  • 官方文档:https://duckdb.org/docs/
  • GitHub源码:https://github.com/duckdb/duckdb
  • 相关工具链:DuckDB + Pandas + Parquet + Arrow

七、未来展望

DuckDB的发展潜力巨大,目前已经在:

  • 加强分布式执行(DuckDB+)
  • 支持持久化表、事务控制(OLTP功能增强)
  • 改进流处理(streaming support)
  • 跨节点分析(Multi-Node Query)

很可能在未来几年,DuckDB会成为单机版中型数据仓库的标准选择

有趣的是,Snowflake、Databricks、MotherDuck等公司也在投资围绕DuckDB构建的新生态。


结语

DuckDB不是简单的又一个数据库。
它重新定义了在本地、小规模数据分析领域该如何工作:

  • 更轻
  • 更快
  • 更友好
  • 更自由

如果你是:

  • 数据科学家
  • 数据工程师
  • 数据分析师
  • AI/ML开发者
  • 或者热爱工具的人

都值得花一点时间,认识并用好这个“小而美”的革命性项目。

未来属于 轻量级+高性能+极简部署 的解决方案,而DuckDB正是这样的典型代表。


相关文章:

DuckDB:现代数据分析的“SQLite“内核革命

在数据工程、数据科学快速演进的今天,一个新的名字正在快速蹿红:DuckDB。 有人称它是数据分析领域的SQLite,也有人称它为下一代轻量级OLAP引擎。 无论哪种称呼,都离不开一个事实: DuckDB 重新定义了小型数据仓库和本地…...

【计算机网络分类全解析】从局域网到广域网的工程实践

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1:局域网IP扫描案例2:VLAN配置 运行结果验证 三、性能对比测试方法论量…...

Spark 技术体系深度总结

一、核心技术架构 1. 分布式计算模型 Spark基于弹性分布式数据集(RDD,Resilient Distributed Dataset)构建核心抽象,通过分区(Partition)实现数据分布式存储,每个分区可独立进行并行计算。RDD…...

金融数据分析(Python)个人学习笔记(13):自然语言处理

一、导入库和函数 pip install wordcloud pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba pip install gensimimport pandas as pd import numpy as np import jieba二、载入新闻数据 sinanews pd.read_csv(my_sinanews2.csv,encodinggbk) sinanews结果&a…...

ReACT Agent 实战

1. Agent 概述 关于到底什么是 Agent,目前业界并没有一个统一的定义,比如 OpenAI 倾向于将 Agent 看作是大模型能力的延伸,而 LangChain 则侧重于 Agent 是 workflow 的编排。我们没必要去纠结定义,可以简单理解 Agent 并不是某一…...

【JavaScript】关系运算符--非数值类型、Unicode编码表

1、关系运算符--非数值类型 对于非数值进行比较时&#xff0c;会将其转换为数字然后再比较。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,…...

【Pandas】pandas DataFrame rtruediv

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建

引言&#xff1a;从技术迭代到安全范式的根本性跃迁 在量子计算威胁渐近、分布式系统架构复杂化、数据资产价值指数级增长的 2025 年&#xff0c;Java 平台迎来了自 Java 1.0 以来最具革命性的安全架构升级 ——Java 24 版本。这不仅仅是一次常规的特性更新&#xff0c;而是通…...

HTML倒数

前言 假设您需要一个网页打开后&#xff0c;自动间隔 N 秒进行一次自动刷新&#xff0c;且不依赖 js &#xff0c;那么本文可以帮助到您&#xff0c;以最简单的方式实现需求。 实现代码 TIPS&#xff1a;借助 <meta http-equiv"refresh" content"X"&g…...

【C++】类和对象(上)

文章目录 上文链接一、类&#xff08;class&#xff09;1. 类的定义2. 类与结构体3. 访问限定符4. 类域 二、对象1. 实例化2. 对象大小 三、this 指针1. 什么是 this 指针2. 小练习 上文链接 【C】入门基础知识&#xff08;下&#xff09; 一、类&#xff08;class&#xff09;…...

Transformer四模型回归打包(内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型)

Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09; 目录 Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09;预测效果基本介绍程序设计参…...

多级缓存入门:Caffeine、Lua、OpenResty、Canal

之前写过——Google Guava Cache简介 本文系统学习一下多级缓存 目录 0.什么是多级缓存商品查询业务案例导入1.JVM进程缓存初识Caffeine实现JVM进程缓存2.Lua语法入门HelloWorld数据类型、变量和循环函数、条件控制3.Nginx业务编码实现多级缓存安装OpenRestyOpenResty快速入门…...

在AWS Glue中实现缓慢变化维度(SCD)的三种类型

根据缓慢变化维度&#xff08;SCD&#xff09;的三种核心类型&#xff08;类型1、类型2、类型3&#xff09;&#xff0c;以下是基于AWS Glue的实现设计、步骤及测试用例&#xff1a; 一、AWS Glue实现SCD的设计与步骤 1. SCD类型1&#xff08;覆盖旧值&#xff09; 设计目标&…...

业务校验工具包-validate-utils介绍

validate-utils介绍 1. 概述 validate-utils是一个基于Hibernate Validator的轻量级校验框架,旨在简化和增强Java应用程序中的数据校验工作。该工具包提供了一系列常见的校验场景,帮助开发人员快速实现数据验证,提高代码的可维护性和可靠性。 2. 功能特性 2.1 集合数据量…...

参数规模:衡量大语言模型体量的标尺

大语言模型的体量差异通过参数数量呈现。业界标杆如GPT-3拥有1750亿参数&#xff0c;Grok-1更达到3140亿级别&#xff0c;而Llama系列则提供70亿至700亿参数的轻量化选择。这里的"70B"并非指训练数据量&#xff0c;而是模型内部结构的复杂度指标——每个参数如同微型…...

JS 中call、apply 和 bind使用方法和场景

call 方法 核心特性 立即执行函数&#xff0c;并显式指定 this 值和逐个传递参数。语法&#xff1a;func.call(thisArg, arg1, arg2, …) 使用场景 借用其他对象的方法 const person { name: "Alice" }; function greet(greeting) {console.log(${greeting}, ${t…...

ZeroGrasp:零样本形状重建助力机器人抓取

25年4月来自CMU、TRI 和 丰田子公司 Woven 的论文“ZeroGrasp: Zero-Shot Shape Reconstruction Enabled Robotic Grasping”。 机器人抓取是具身系统的核心能力。许多方法直接基于部分信息输出抓取结果&#xff0c;而没有对场景的几何形状进行建模&#xff0c;导致运动效果不…...

第2讲、Tensor高级操作与自动求导详解

1. 前言 在深度学习模型中&#xff0c;Tensor是最基本的运算单元。本文将深入探讨PyTorch中两个核心概念&#xff1a; Tensor的广播机制&#xff08;Broadcasting&#xff09;**自动求导&#xff08;Autograd&#xff09;**机制 这些知识点不仅让你更加灵活地操作数据&#…...

(MySQL)表的操作

目录 表的创建 语法 创建表的案例 查看表的结构 修改表的操作 修改表名 ​编辑 添加一个字段(列) 修改一个字段的类型 修改字段名 删除字段名(删除列) 删除指定的表 表的插入数据 数据库的备份和恢复 我们来学习表的操作 表的创建 语法 CREATE TABLE [if not ex…...

函数的使用

函数绑定 fn.call(obj, param1, param2) fn.apply(obj, [param1, param2]) fn.bind(obj, param1, param2)()相同点&#xff1a; 都是借用别人&#xff08;fn&#xff09;的方法&#xff0c;替换其中的this&#xff08;第一个参数&#xff09;call和apply的不同点&#xff1a;a…...

LLM应用于自动驾驶方向相关论文整理(大模型在自动驾驶方向的相关研究)

1、《HILM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving》 2023年9月发表的大模型做自动驾驶的论文&#xff0c;来自香港科技大学和人华为诺亚实验室&#xff08;代码开源&#xff09;。 论文简介&#xff1a; 本文…...

Spring MVC深度解析:从原理到实战

文章目录 一、Spring MVC概述1.1 MVC设计模式1.2 Spring MVC特点 二、Spring MVC核心组件2.1 架构流程图解2.2 核心组件说明 三、环境搭建与配置3.1 Maven依赖3.2 传统XML配置 vs JavaConfig 四、控制器开发实践4.1 基础控制器示例4.2 请求映射注解 五、数据处理与绑定5.1 表单…...

Spark学习全总结

基础概念&#xff1a; Spark 是一个快速、通用的大数据处理引擎&#xff0c;支持多种计算模式&#xff0c;如批处理、流处理、交互式查询和机器学习等。 特点: 速度快&#xff1a;基于内存计算&#xff0c;能将数据缓存在内存中&#xff0c;避免频繁读写磁盘&#xff0c;大幅…...

pytorch写张量pt文件,libtorch读张量pt文件

直接在pytorch中&#xff0c;用torch.save保存的张量&#xff0c;可能因格式差异无法在C中加载。 以下是一个最简单的例子&#xff0c;展示如何在 Pytorch中保存张量到 TorchScript 模块&#xff0c;并在 C 中使用 LibTorch 加载。 Python 代码 (save_tensor.py) import torc…...

关于Android Studio的Gradle各项配置2

好的&#xff01;你提到的这些文件是 Gradle 构建系统 和 Android 项目 中非常重要的一部分&#xff0c;它们各自有不同的作用&#xff0c;涉及项目的构建配置、Gradle 环境、系统配置等方面。接下来我会为你详细解释每个文件的作用&#xff0c;并提供具体的例子和注释。 1. gr…...

Android Studio中创建第一个Flutter项目

一、Flutter环境验证 创建Flutter项目之前需要验证是否有Flutter环境&#xff0c;如没有Flutter 环境&#xff0c;请参考配置Flutter开发环境 1.1、flutter doctor 验证通过会有以下提示 [√] Flutter (Channel stable, 3.29.3, on Microsoft Windows [版本 10.0.19045.573…...

Linux的例行性工作(crontab)

crontab服务 at 命令是在指定的时间只能执行一次任务, crontab 命令可以循环重复的执行定时任务,与 Windows 中的计划任务有些类似 crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程&#xff0c;在安装完成操 作系统后&#xff0c;默认会安装 crond …...

03 基于 STM32 的温度控制系统

前言 Protues、KeilC 设计内容&#xff1a;使用STM32设计一个空调温度的显示控制系统 设计要求&#xff1a; 1.温度显示范围为16-30摄氏度 2.按键K1实现显示温度加1&#xff0c;按键K2实现显示温度减1&#xff0c;低于16或高于30&#xff0c;显示数值不变 3.正常按键蜂鸣器响一…...

23种设计模式-行为型模式之备忘录模式(Java版本)

Java 备忘录模式&#xff08;Memento Pattern&#xff09;详解 &#x1f9e0; 什么是备忘录模式&#xff1f; 备忘录模式是一种行为型设计模式&#xff0c;它允许在不暴露对象实现细节的情况下&#xff0c;保存和恢复对象的状态。备忘录模式常常用于需要记录对象状态以便随时…...

[三分钟]web自动化测试(二):selenium自动化测试常用函数(上)

文章目录 1.元素定位1.1 cssSelector(选择器)1.2 xpath1.3小示例 2.操作测试对象2.1点击/提交对象-click()2.2 模拟按键输入-sendKeys("")2.3 清除文本内容-clear()2.4 获取文本信息-getText()2.5 获取当前页面标题-getTitle()2.6获取当前页面URL-getCurrentUrl() 3.…...

基于ruoyi-plus实现AI聊天和绘画

项目介绍 基于ruoyi-plus实现AI聊天和绘画功能&#xff0c;打造自己的AI平台。前后端分离&#xff0c;有管理后台&#xff0c;用户端&#xff0c;小程序端。支持对接openai&#xff0c;讯飞星火&#xff0c;通义灵码&#xff0c;deepseek等大语言模型。项目架构 管理后台-前端&…...

假设检验学习总结

目录 一、假设检验1. 两种错误2. z检验和t检验3. t检验3.1 单样本t检验3.2 配对样本t检验3.3 独立样本t检验4 方差齐性检验备注卡方检验样本容量的计算AB测试主要的两种应用场景绝对量的计算公式率的计算公式说明一、假设检验 1. 两种错误 第一类错误 原假设为真,却拒绝了原假…...

C++ 基于多设计模式下的同步异步⽇志系统-2项目实现

⽇志系统框架设计 1.⽇志等级模块:对输出⽇志的等级进⾏划分&#xff0c;以便于控制⽇志的输出&#xff0c;并提供等级枚举转字符串功能。 ◦ OFF&#xff1a;关闭 ◦ DEBUG&#xff1a;调试&#xff0c;调试时的关键信息输出。 ◦ INFO&#xff1a;提⽰&#xff0c;普通的提⽰…...

Tauri窗口与界面管理:打造专业桌面应用体验 (入门系列五)

窗口管理是桌面应用的核心特性之一&#xff0c;良好的窗口管理可以显著提升用户体验。在Web开发中&#xff0c;我们通常被限制在浏览器窗口内&#xff0c;但Tauri允许前端开发者控制应用窗口的方方面面&#xff0c;从而创造出更加原生的体验。 窗口配置基础 初始窗口配置 在…...

golang goroutine(协程)和 channel(管道) 案例解析

文章目录 goroutine和channel概念开启线程与channel简单通信流程多个工作协程并发执行流程 goroutine和channel概念 goroutine(协程)&#xff0c;一般我们常见的是进程&#xff0c;线程&#xff0c;进程可以理解为一个软件在运行执行的过程&#xff0c;线程跟协程比较类似&…...

底层源码和具体测试解析HotSpot JVM的notify唤醒有序性(5000字详解)

在大家的认知里&#xff0c;或者大家也可能搜过&#xff0c;notify唤醒机制到底是随机的呢&#xff1f;还是顺序的呢&#xff1f;在网上其实也有很多人说notify的唤醒机制就是随机的&#xff0c;但实际上并不是这样的&#xff0c;notify的唤醒机制是先进先出的&#xff01; 目…...

Jenkins(CI/CD工具)

1. 什么是 Jenkins&#xff1f; Jenkins 是一个开源的持续集成&#xff08;CI&#xff09;和持续交付/部署&#xff08;CD&#xff09;工具&#xff0c;用于自动化软件构建、测试和部署过程。 2. Jenkins 优势 &#xff08;1&#xff09;开源免费&#xff1a;社区活跃&#…...

Apache Sqoop数据采集问题

Sqoop数据采集格式问题 一、Sqoop工作原理二、Sqoop命令格式三、Oracle数据采集格式问题四、Sqoop增量采集方案 Apache Sqoop是一款开源的工具&#xff0c;主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递&#xff0c;可以将一个关系型数据库&…...

再学GPIO(二)

GPIO寄存器 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL&#xff0c;GPIOx_CRH)&#xff0c;两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)&#xff0c;一个32位置位/复位寄存器(GPIOx_BSRR)&#xff0c;一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 GPIO…...

err: Error: Request failed with status code 400

好的&#xff0c;今天学习ai的时候从前端发送请求&#xff0c;实在是想不通为啥会啥是一个坏请求&#xff0c;后来从前端方法一个一个找参数&#xff0c;传递的值都有&#xff0c;然后想到我这边需要传递的是一个对象&#xff0c;那么后端使用的RequestParam就接收不到json对象…...

解决qnn htp 后端不支持boolean 数据类型的方法。

一、背景 1.1 问题原因 Qnn 模型在使用fp16的模型转换不支持类型是boolean的cast 算子&#xff0c;因为 htp 后端支持量化数据类型或者fp16&#xff0c;不支持boolean 类型。 ${QNN_SDK_ROOT_27}/bin/x86_64-linux-clang/qnn-model-lib-generator -c ./bge_small_fp16.cpp -b …...

k8s学习记录(五):Pod亲和性详解

一、前言 上一篇文章初步探讨了 Kubernetes 的节点亲和性&#xff0c;了解到它在 Pod 调度上比传统方式更灵活高效。今天我们继续讨论亲和性同时Kubernetes 的调度机制。 二、Pod亲和性 上一篇文章中我们介绍了节点亲和性&#xff0c;今天我们讲解一下Pod亲和性。首先我们先看…...

MongoDB与PHP7的集成与优化

MongoDB与PHP7的集成与优化 引言 随着互联网技术的飞速发展,数据库技术在现代软件开发中扮演着越来越重要的角色。MongoDB作为一种流行的NoSQL数据库,以其灵活的数据模型和强大的扩展性受到众多开发者的青睐。PHP7作为当前最流行的服务器端脚本语言之一,其性能和稳定性也得…...

maven相关概念深入介绍

1. pom.xml文件 就像Make的MakeFile、Ant的build.xml一样&#xff0c;Maven项目的核心是pom.xml。POM&#xff08;Project Object Model&#xff0c;项目对象模型&#xff09;定义了项目的基本信息&#xff0c;用于描述项目如何构建&#xff0c;声明项目依赖&#xff0c;等等。…...

以科技之力,启智慧出行 —— 阅读《NVIDIA 自动驾驶安全报告》及观看实验室视频有感

作为中南民族大学通信工程专业的学生&#xff0c;近期研读《NVIDIA 自动驾驶安全报告》并观看其实验室系列视频后&#xff0c;我深刻感受到自动驾驶技术不仅是一场交通革命&#xff0c;更是一次社会生产力的解放与民族精神的升华。这场变革的浪潮中&#xff0c;我看到了科技如何…...

2P4M-ASEMI机器人功率器件专用2P4M

编辑&#xff1a;LL 2P4M-ASEMI机器人功率器件专用2P4M 型号&#xff1a;2P4M 品牌&#xff1a;ASEMI 封装&#xff1a;TO-126 批号&#xff1a;最新 引脚数量&#xff1a;3 封装尺寸&#xff1a;如图 特性&#xff1a;双向可控硅 工作结温&#xff1a;-40℃~150℃ 在…...

基础的贝叶斯神经网络(BNN)回归

下面是一个最基础的贝叶斯神经网络&#xff08;BNN&#xff09;回归示例&#xff0c;采用PyTorch实现&#xff0c;适合入门理解。 这个例子用BNN拟合 y x 噪声 的一维回归问题&#xff0c;输出均值和不确定性&#xff08;方差&#xff09;。 import torch import torch.nn a…...

小黑享受思考心流: 73. 矩阵置零

小黑代码 class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""items []m len(matrix)n len(matrix[0])for i in range(m):for j in range(n):if not m…...

整合 | 大模型时代:微调技术在医疗智能问答矩阵的实战应用20250427

&#x1f50e; 整合 | 大模型时代&#xff1a;微调技术在医疗智能问答矩阵的实战应用 一、引言 在大模型技术高速变革的背景下&#xff0c;数据与微调技术不再是附属品&#xff0c;而是成为了AI能力深度重构的核心资产。 尤其在医疗行业中&#xff0c;微调技术改写了智能分诊和…...

Web安全:威胁解析与综合防护体系构建

Web安全&#xff1a;威胁解析与综合防护体系构建 Web安全是保护网站、应用程序及用户数据免受恶意攻击的核心领域。随着数字化转型加速&#xff0c;攻击手段日益复杂&#xff0c;防护需兼顾技术深度与系统性。以下从威胁分类、防护技术、最佳实践及未来趋势四个维度&#xff0…...