DuckDB,谷歌、Facebook 和 Airbnb 使用的开源数据库

DuckDB,谷歌、Facebook 和 Airbnb 使用的 DBMS

DuckDB 是一个正在开发的 SQL OLAP 数据库管理系统

最近 宣布发布新版DuckDB 0.5.0,这是一个开发中的分析数据库管理系统 (DBMS),被 Google、Facebook 和 Airbnb 使用。

鸭子数据库 是一个高性能的分析数据库系统。 它旨在快速、可靠且易于使用。 DuckDB 提供了丰富的 SQL 方言,支持远远超出基本 SQL。 DuckDB 支持任意和嵌套的相关子查询、窗口函数、排序规则、复杂类型(数组、结构)等。

在其主要特征中,以下突出:

  • 安装简单
  • 集成:无服务器管理
  • 单一文件存储格式
  • 快速分析处理
  • R/Python 和 RDBMS 之间的快速传输
  • 它不依赖于任何外部状态。 例如,单独的配置文件、环境变量。
  • 单一文件存储格式
  • 可组合的界面。 流畅的 SQL 编程 API
  • 通过 MVCC 完全 ACID

关于 DuckDB 0.5.0

其中的新颖之处在于“out of core”,旨在通过提出中间结果来解决正在处理的数据大于内存时可能出现的问题.

新版本 使用自适应基数树 (ART) 索引 应用限制和加速查询过滤器。 到目前为止,索引并不是持久的,这会导致诸如索引信息丢失和数据受限表的重新加载时间过长等问题。

艺术(ART) 它本质上是尝试应用垂直和水平压缩来创建紧凑的索引结构。 意图是类似树的数据结构,其中树的每一层都包含有关数据集某些部分的信息。 它们通常用字符串来说明。

该项目还增加了加入顺序优化,分析数据库中的一个常见问题。 Amalgam Insights 的首席执行官兼首席分析师 Hyoun Park 表示,DuckDB 的与众不同之处在于它是一个小型应用程序,可以在基于代码的工作流程中快速扫描大量数据存储。

“DuckDB 通常可以直接对数据运行查询,无需中间处理,从而改进了处理。 从纯粹的技术角度来看,它与 Actian Vector 有点相似,后者也采用了列向量化 OLAP 查询方法,尽管 Actian 旨在获取数据而不是处理进程或加载特定作业。 »

DuckDB Labs 提供建议和支持。 联合创始人兼首席执行官 Hannes Mühleisen 也共同编写了代码并维护了该项目,他说他受到无服务器 OLTP 数据库引擎 SQLite 的启发,在那里他看到了类似方法的机会,但用于分析。

DuckDB 也经常用作分析或管理堆栈的一部分。 更大的数据。 例如,如果有人构建了一个收集数据的自定义应用程序,然后想要创建一个 SQL 接口,他们首先必须复制数据并将其移动到另一个系统,这可能会导致同步问题,他解释说。

下载并获取

值得一提的是,主页明确指出不应将其用于“用于集中式企业数据存储的大型客户端/服务器安装”。

该项目正在开发 1.0 版, 之后将无法再进行更改。 阿姆斯特丹数学与理论计算机科学中心的学者们的作品Centrum Wiskunde & Informatica,DuckDB被集成到一个主机进程中,值得注意的是没有DBMS服务器软件需要安装、更新或维护。

例如,DuckDB Python 包可以直接对 Python 软件库中的数据运行查询,而无需导入或复制数据。 DuckDB 是用 C++ 编写的,在 MIT 许可下是免费和开源的。

您可以了解更多信息并查阅安装手册, 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。