转自:OSC开源社区(oschina2013)DuckDB 1.0.0 代号 "Snow Duck"(雪鸭),寓意着 DuckDB 在数据分析领域已经达到了一个新的高度。
5 v* K4 p" p; g" {% |9 j2024 年 6 月 3 日,备受瞩目的数据分析引擎 DuckDB 迎来了一个重要的里程碑 ——1.0.0 版本正式发布。
( W! Q C0 |" N: E2 I* `$ oDuckDB 是高性能的分析型关系数据库,旨在实现高效的数据分析。它易于安装,运行速度非常快,并且可以在进程内 (in-process) 运行。7 ?& [) @0 j9 V- R
DuckDB 背后的核心思想是保留 SQLite 的简单性和易用性,同时通过 R/Python 和 RDBMS 之间的快速分析处理和快速数据传输进行增强,以处理 OLAP 工作负载。
( v1 K$ ^, Q7 h0 \4 v0 X6 m5 r
1k5vmjdvle064073950626.png
! \& t) C5 k ]' q该项目被命名为 “DuckDB”,因为创建者认为鸭子具有弹性并且可以靠任何东西为生,类似于他们设想的数据库系统运行方式。
) A+ c" R6 ]4 s ?( v& uDuckDB 1.0.0 代号为 "Snow Duck"(雪鸭),寓意着 DuckDB 在数据分析领域已经达到了一个新的高度,同时也象征着 DuckDB 团队对系统稳定性的不懈追求。
' O$ V* Y; C6 y# F2 [% S) CDuckDB 项目始于 2018 年,经过近 6 年的不断打磨,如今已发展成为一个拥有 30 多万行 C++ 引擎代码、4.2 万次代码提交、解决了 4000 个 issue 的成熟开源项目。
. S. t3 L+ f, E% dDuckDB 以其卓越的查询性能和易用性在业界赢得了广泛赞誉,GitHub 和社交媒体平台上的关注者数以万计,每月下载量高达数百万次,仅扩展模块的下载流量就超过了每天 4TB。现在,就连维基百科也开始认可 DuckDB 的地位。
- L& w% Y' W* m/ O
nssuch5wgvn64073950726.png
7 ^ d( i9 s. X) K) u* b& ]. S
DuckDB 之所以选择在此时发布 1.0.0 版本,是因为团队意识到,数据管理系统作为应用程序的核心组件,开发者和用户之间存在着信任的契约。9 d9 s8 q: D% k& k$ B# P
用户依赖数据库提供正确的查询结果并确保数据安全,而系统开发者需要意识到不能随意破坏用户应用程序的责任。8 Z( A$ D% K' {6 c
DuckDB 致力于成为人们构建应用程序的可靠基础,1.0.0 版本的发布标志着 DuckDB 在存储格式稳定性、查询语义一致性等方面的重大突破,为用户提供了强有力的稳定性保证。, E/ H8 i% s& u7 u: z
公告写道,发布v1.0.0的主要障碍之一是存储格式 (storage format.)。DuckDB有自己的定制数据存储格式。这种格式允许用户在单个文件中管理许多(可能非常大的)表,具有完整的事务语义和最先进的压缩。- t3 e& {; G" D6 a: f7 _0 G
但设计新的文件格式并非没有挑战,随着时间的推移,DuckDB 必须对格式进行重大更改。这导致了 DuckDB 成为次优方案,即每当发布新的DuckDB版本时,使用旧版本创建的文件无法与新的DuckDB版本配合使用,必须手动升级。
0 R) c% g3 A3 p6 P此问题在2月份的v0.10.0中得到了解决——引入了DuckDB存储格式的向后兼容性和有限的前向兼容性。团队称此功能现已使用一段时间,没有出现严重问题——他们有信心保证使用DuckDB v1.0.0创建的DuckDB文件将与未来的DuckDB版本兼容。
8 R" s! C7 ^1 C7 J: O2 Z H2 j: L
gsp3udacqlp64073950826.jpg
1 E& c& I* Z( N5 X2 P0 e
除了系统稳定性,DuckDB 1.0.0 另一个核心方面是跨版本的稳定性。虽然永远不会破坏任何人的工作流程可能是不可能的,但他们在今后会更加谨慎地处理面向用户的变化。特别是,DuckDB计划专注于为SQL方言以及C API提供稳定性。- O$ x' [+ U7 C* A4 s$ j! o' g/ j
展望未来,DuckDB 将持续专注于系统稳定性,同时也计划丰富 DuckDB 周边的扩展环境。通过社区贡献的扩展,DuckDB 有望成为下一个数据革命的基础,为用户提供高性能的统一 SQL 接口。
|+ e, {- E5 [8 Y1 C+ O& {此外,DuckDB 背后有着强大的资金支持和长期发展战略。
/ w# `! R6 p& r+ @DuckDB Labs 公司目前拥有近 20 人的核心团队,专注于 DuckDB 的长期战略发展;而非营利性的 DuckDB 基金会则确保了 DuckDB 在 MIT 开源许可下的长期发展。
5 F+ L( l. Q/ b- i2 [P.S. 据称 DuckDB Labs 公司 CTO Mark 是最主力的程序员,50%的代码是他一人完成,另外还有13个程序员,1个测试实习生,1个人负责开发者生态,1个人负责培训与文档。
. E D7 g, `5 Z7 r+ X5 k6 x z b% |- [) k( o s
Reference
" s! Q7 d) h/ Z rhttps://github.com/duckdb/duckdb/releases/tag/v1.0.0
, _% l8 Z* Q0 l2 Y! A1 l1 whttps://duckdb.org/2024/06/03/announcing-duckdb-100.html——EOF——你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索、字节跳动电商以及携程等部门担任Linux C/C++后端研发工程师。: m5 M) P0 P ]! K+ z
最近招聘季快到了,身边很多小伙伴都在摩拳擦掌、跃跃欲试,很多都打算看看新机会,这里推荐一个好朋友阿秀开发的互联网大厂面试真题解析网站,支持按照行业、公司、岗位、科目、考察时间等查看面试真题,有意者欢迎体验。
/ i. |$ B8 W- E6 R7 b# r6 T- F如果你明天就要面试了,那我建议你今晚来刷一刷这个网站,说不定就能遇到你明天的面试原题,目前已经有不少人在面试中遇到原题了,具体可以看下链接:字节跳动后端研发岗面试考察题目Top10、面试中局部性原理还真有用!* T M: E; _9 d
hre1otylncf64073950926.png
+ d% Y2 B; c4 n. F
网址:https://top.interviewguide.cn/& H( e# B3 z/ y0 Z7 L' p
同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击此处查看我以前的学习笔记&经验&分享的资源。
6 N; N( R, R9 |/ W( n( f: k我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。) j8 j4 |. T$ i" } X
bh0lzj4bgf164073951026.png
' s4 M; P( W' o( L0 V4 r% `& N欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会。- V1 \# P* U( L; @8 }- I
8 j! k8 w; |3 U5 D! n6 E3 ?
yom5vpsfvnu64073951127.png
- h3 n8 }# z0 c加个微信,打开另一扇窗
. C0 ?1 ^9 h# r! u7 K
n3jxiupbhfg64073951227.gif
|