惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
O
OpenAI News
V
V2EX
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
S
Schneier on Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
小众软件
小众软件
L
LINUX DO - 热门话题
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - Franky
Security Latest
Security Latest
S
SegmentFault 最新的问题
Project Zero
Project Zero
Spread Privacy
Spread Privacy
K
Kaspersky official blog
J
Java Code Geeks
V
Vulnerabilities – Threatpost
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
Scott Helme
Scott Helme
WordPress大学
WordPress大学
量子位
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Simon Willison's Weblog
Simon Willison's Weblog
S
Secure Thoughts
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
Visual Studio Blog
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
腾讯CDC
Cyberwarzone
Cyberwarzone
IT之家
IT之家
GbyAI
GbyAI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
云风的 BLOG
云风的 BLOG
T
Troy Hunt's Blog
D
Docker

Mox的笔记库

2026PPoPP MLIR Tutorial学习 | Mox的笔记库 MacOS配置《明日方舟:终末地》 | Mox的笔记库 2025:向内生长 | Mox的笔记库 由mlir::ExecutionEngine引发的跨系统问题 | Mox的笔记库 WSL2配置Cuda-Tile环境记录(未完待续) | Mox的笔记库 Vibe Coding手搓项目记录 | Mox的笔记库 给Debian上包——以DuckDB为例 | Mox的笔记库 UCPD.sys事件存档 | Mox的笔记库 换新电脑之Mac mini M4从购买到配置 | Mox的笔记库 Mac配置MLX-C开发环境 | Mox的笔记库 DuckDB Sort实现调查 | Mox的笔记库 修复Redis在树莓派5上无法运行的问题 | Mox的笔记库 如何在MLIR中自定义类型并且输出运行 | Mox的笔记库 网站网络结构变更记录 | Mox的笔记库 EDBT25论文阅读:PhoebeDB——A Disk-Based RDBMS Kernel for High-Performance and Cost-Effective OLTP SIGMOD25论文阅读:BPF-DB:——A Kernel-Embedded Transactional Database Management System For eBPF Applications Apache Arrow Gandiva项目解析 | Mox的笔记库 VLDB24论文阅读:Cloud-Native Database Systems and Unikernels——Reimagining OS Abstractions for Modern Hardware NoisePage源码分析(未完待续) | Mox的笔记库 VLDB20论文阅读:Mainlining Databases——Supporting Fast Transactional Workloads on Universal Columnar Data File Formats VLDB17论文阅读:Relaxed Operator Fusion for In-Memory Databases:Making Compilation, Vectorization, and Prefetching Work Together At Last 论文阅读:How not to structure your database-backed web applications——a study of performance bugs in the wild SIGMOD24阅读:ROME——Robust Query Optimization via Parallel Multi-Plan Execution 文章阅读:First Past the Post-Evaluating Query Optimization in MongoDB SIGMOD文章阅读:Apache Calcite——A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources VLDB23论文阅读:Analyzing the Impact of Cardinality Estimation on Execution Plans in Microsoft SQL Server SIGMOD22论文阅读:Efficient Massively Parallel Join Optimization for Large Queries VLDB论文阅读:Weaving Relations for Cache Performance VLDB22论文阅读:ConnectorX——Accelerating Data Loading From Databases to Dataframes 论文阅读:UniKraft-Fast, Specialized Unikernels the Easy Way 当DuckDB遇上RISC-V | Mox的笔记库 SIGMOD25论文阅读:An Elephant Under The Microscope——Analyzing The Interaction Of Optimizer Components In PostgreSQL 论文阅读:Compile-Time Analysis of Compiler Frameworks for Query Compilation VLDB23阅读:Bringing Compiling Databases to RISC Architectures SIGMOD24文章阅读:Query Compilation Without Regrets | Mox的笔记库 淦!MLIR输出Hello World不应该这么难! | Mox的笔记库 2024:拥挤年代的想象与创造 | Mox的笔记库 如何给自己的博客添加MLIR和LLVM IR语法高亮 | Mox的笔记库 博客重构:从Hexo到Astro | Mox的笔记库 VLDB19-Parsing Gigabytes of JSON per Second论文阅读 CIDR25:Runtime-Extensible Parsers阅读 | Mox的笔记库 SIGMOD24文章阅读:VeriTxn | Mox的笔记库 MLIR学习资料整理 | Mox的笔记库 VLDB23文章阅读——Exploiting Cloud Object Storage for High-Performance Analytics VLDB24——OLAP on Modern Chiplet-Based Processors走马观花阅读 如何让数据库中的Python跑的更快-VLDB22-YeSQL文章阅读 | Mox的笔记库 你好,世界! | Mox的笔记库 如何愉快的运行一个MLIR程序 | Mox的笔记库 让系统研究更有意义:HarmonyOS NEXT的教训和经验——讲座回顾 | Mox的笔记库 VLDB22:YeSQL文章阅读(已废弃) | Mox的笔记库 UNSW 24T3 COMP9336上课记录 | Mox的笔记库 Velox开发环境配置踩坑记录 | Mox的笔记库 LingoDB源码编译与分析 | Mox的笔记库 论文阅读:Declarative Sub-Operators for Universal Data Processing 论文阅读:Designing an Open Framework for Query Optimization and Compilation MLIR Toy Tutorial实践记录 | Mox的笔记库 2024年7月RSSHub开发体验 | Mox的笔记库 LLVM-Kaleidoscope实操踩坑记录 | Mox的笔记库 澳洲大学计算机硕士比较 | Mox的笔记库 论文阅读——CDUL:CLIP-Driven Unsupervised Learning for Multi-Label Image Classification CVPR2023-CLIP算法调研 | Mox的笔记库 论批量快速添加图片与视频水印的事 | Mox的笔记库 基于元信息写入的服务器压力测试 | Mox的笔记库 家庭组网IPv6+Mesh折腾 | Mox的笔记库 MjAyMw==,希望,前进与平庸之道 | Mox的笔记库 code-server初体验 | Mox的笔记库 从Nginx到Caddy | Mox的笔记库 RMM观察与初探 | Mox的笔记库 计算机网络课设——UDP/TCP/TLS Socket实验 | Mox的笔记库 JQuery的XSS初探 | Mox的笔记库 生产实习记录 | Mox的笔记库 Fedora-CoreOS配置与试用(2023年) | Mox的笔记库 Electron学习笔记 | Mox的笔记库 ServerSentEvent学习 | Mox的笔记库 报告翻译:容器云的安全挑战 | Mox的笔记库 Vagrant配置Metarget靶场环境 | Mox的笔记库 OpenAI-whisper折腾 | Mox的笔记库 202202,困惑,混乱与未曾设想之路 | Mox的笔记库 2022年Hack the box:Tier1免费区全解 | Mox的笔记库 Navidrome部署记录 | Mox的笔记库 长安杯2021-snake复现 | Mox的笔记库 报告概要翻译:OBFUSCATING C++ PROGRAMS VIA CONTROL FLOW FLATTENING 从零开始的Django CVE-2022-28346复现 | Mox的笔记库 2022CISCN(西北区赛)-The shinning | Mox的笔记库 Docker+QEMU+Arm64(Ubuntu)+环境配置(2022版) | Mox的笔记库 Arch Linux运行树莓派系统(2022年) | Mox的笔记库 2022CISCN初赛-ez_usb-复盘WriteUp | Mox的笔记库 Arch Linux迁移计划 | Mox的笔记库 Django事务使用 | Mox的笔记库 记录第一次EduSRC上报 | Mox的笔记库 Jetbrain问题应急处理 | Mox的笔记库 Celery5.2学习&配置 | Mox的笔记库 Waline部署记录 | Mox的笔记库 Frida hook初次实战 | Mox的笔记库 NodeMCU-MicroPython配置实录 | Mox的笔记库 Log4j2漏洞复现 | Mox的笔记库 2022长安“战疫”网络安全卫士守护赛回顾 | Mox的笔记库 2021年12月 Vivo千镜杯回顾 | Mox的笔记库 Windows的WSL2+Docker初探 | Mox的笔记库 Hexo部署安装全流程回顾 | Mox的笔记库
RISC-V meets RDBMS——RISC-V架构上可运行数据库一览 | Mox的笔记库
MocusEZ · 2025-10-31 · via Mox的笔记库

本文内容是ADMS2025(VLDB 2025 WorkShop)的后日谈

RISC-V Meets RDBMS: An Experimental Study of Database Performance on an Open Instruction Set Architecture

由于工作繁忙,本文内容基本属于想到啥就说啥😂,以后有机会再系统整理下

起因

对于RISC-V的兴趣是从关注PLCT实验室吴伟老师的B站号开始的,外加年初的时候给DuckDB的仓库加了RISC-V的CI Check(详见:当DuckDB遇上RISC-V),想着找个机会把玩下MilkV Jupiter(虽然事实是年底就弃坑了bushi),在导师的建议下,去做了对于数据库在RISC-V生态的调查

能被VLDB Workshop接收这事情之前是真没想过😂很高兴导师能给我这个机会去伦敦的VLDB 2025去学习观摩

这个话题很有意思,我从吴伟老师的视频知道,PLCT实验室的很多大佬在做GCC & LLVM编译器对RISC-V的适配工作,而这些工具链的移植在这几年趋于成熟(21世纪的20年代),这些工作使得数据库软件理论上可以在RISC-V架构的Linux上运行(BSD其实也可以,但这个生态现在来看过于小众,因此不作讨论)

image-20251031113115871

既然理论上是可行的,那就会有以下两个问题:

  1. 数据库是否能顺利移植/提供支持到RISC-V平台上?
  2. 编译器优化是否能最大发挥数据库运行的潜力?

RISC-V上数据库兼容性调查

aidu

对于问题1,结论是:开源数据库由于参与人数众多,或多或少都有提供文档/相关问答以解决数据库在RISC-V上的运行问题。而商业闭源数据库基本对于RISC-V态度十分冷淡——我对这个结果并不觉得奇怪,因为适配RISC-V在商业上确实不能带来明显收益,这个问题在后面和ARM的比较就能看到了

编译器参数对于数据库性能的影响

这个问题就不得不提到RISC-V的ISA设计:

RISC-V采用分层ISA模型,核心是基础指令集(Base ISA),其他功能通过可选扩展实现

对此可以控制变量设计实验:通过修改编译参数中的标准扩展的使用,从而验证标准扩展对于数据库的影响

论文选择了TPC-H进行测试,核心是衡量OLAP负载的性能影响

image-20251031115215055

但就结论而言,我的看法是:标准扩展的使用与否,对于数据库性能的影响微乎其微

在设想当中,影响最大的应该是V Extension,该扩展给予了RISC-V SIMD运行的能力,而现代的OLAP数据库(DuckDB)基于自动向量化执行,理论上应该能得到很大的性能提升

但很遗憾,实验结果表明:在RISC-V上开启/关闭V扩展并不会对DuckDB的性能带来多大影响

image-20251031115847371

于是我猜想可能是编译器的实现问题,为此我同时比较了Clang 20和GCC 14在开启/关闭 V-Extension对于DuckDB TPC-H负载的影响,结果是各有优劣,但也不会有特别大的影响

image-20251031121318442

与ARM架构的比较

费劲说了半天,那对于大家而言,可能还有一个非常灵魂的问题:我为什么要选择RISC-V架构的芯片?😂ARM架构的芯片它不好么

于是我在文章中做了最后一个测试:MilkV-Jupiter 16GB版本的架构差不多1000RMB,差不多的价格我可以买到树莓派4/5,拉出来做个测验不过分吧😂

于是我们就看到了以下场面:同样的TPC-H负载,树莓派普遍要比MilkV Jupiter快1-2倍

image-20251031122325858

这里面问题很多,从软件到硬件都有:

  • 硬件上,树莓派5的Broadcom BCM2712运行频率2.4Ghz,而且支持乱序运行,而MilkV Jupiter的Spacemit M1频率只有1.8Ghz,且只支持顺序运行
  • 软件上,ARM的编译器无疑会更加成熟,而RISC-V上的编译器从前面的实验结果上来看,优化效果存疑

我认为最适合用于和树莓派对比的应该是Milk-V Oasis,但这玩意因为算能(Sophgo)吃制裁,核心的SG2380难产了

也许有的会问为什么不用SiFive的P550 ——那颗CPU支持乱序执行,且性能应该是高于SpaceMIT M1的,但那颗U不支持RVV 1.0,所以被排除了

结语

你现在问我RISC-V芯片未来如何,我会说:只有天知道😂

实验结果和当初设想的截然不同,而且短期内似乎并没有很好的解决方案

但你要是问我收获有多少,那我会说:学到了很多,收获很大

  • 首先,我要感谢帮我改论文格式的导师和绘图的同学,如果没有他们的帮助,这篇Paper极有可能因为格式问题被拒
  • 第一次体验到连续坐12小时的红眼航班经济舱是什么体验😂从南半球到北半球,从东半球到西半球,下飞机倒头就睡
  • 在VLDB 2025上见到了Andy与Naumann大佬,也见到不少老师和做数据库的同学,和大家的交流让我受益匪浅
  • 通过这篇Paper,我和PLCT的大佬们搭上了线,可能有些新的Idea去改善论文的实验,但今年应该是没机会了

也许这就是科研的魅力所在?论文的结果是一方面,但参与会议和论文写作的经历也是不可或缺的一环