DuckDB 0.7.0 发布,高性能分析型数据库系统

DuckDB 是一个高性能的分析数据库系统,它快速、可靠、易于使用。DuckDB 提供了丰富的 SQL 方言,支持远远超过基本 SQL,且支持任意的和嵌套的相关子查询、复杂类型等。

DuckDB 0.7.0 新版本包含对 JSON 支持的许多改进、新的 SQL 功能、对数据摄取和导出的改进以及其他新功能。以下是最具影响力的更改摘要:

JSON 提取

这个版本介绍了read_jsonread_json_auto方法,可用于将 JSON 文件提取为表格格式。类似read_csv,该read_json方法需要指定模式,而read_json_auto使用采样自动从文件中推断出 JSON 的模式。

支持换行分隔的 JSON 和常规JSON 

FROM 'data/json/with_list.json';

分区 Parquet/CSV 导出

DuckDB 支持提取配置单元分区的 Parquet 和 CSV 文件已有一段时间了。在此版本之后,DuckDB 还将能够使用 PARTITION_BY 子句写入配置单元分区的数据。这些文件可以在本地或远程导出到 S3 兼容存储。这是一个本地示例:

COPY orders TO 'orders' (FORMAT PARQUET, PARTITION_BY (year, month));

多数据库支持 

附加功能此版本增加了对将多个数据库附加到同一个 DuckDB 实例的支持。允许数据在不同的 DuckDB 数据库文件之间传输,也允许来自不同数据库文件的数据在单独的查询中组合在一起。

也可以附加远程 DuckDB 实例(存储在 Github 等网络可访问位置)。

ATTACH 'new_db.db';
CREATE TABLE new_db.tbl(i INTEGER);
INSERT INTO new_db.tbl SELECT * FROM range(1000);
DETACH new_db;

有关详细信息,请参阅文档

SQLite 存储后端。

除了添加对附加 DuckDB 数据库的支持外,此版本还添加了对可插入数据库引擎的支持。允许扩展定义自己的数据库和可以附加到系统的目录引擎。

一旦附加,引擎就可以支持读取和写入。SQLite扩展利用它向 DuckDB 添加对 SQLite 数据库文件的本地读/写支持。

新的 SQL 特性

此版本使用 ON CONFLICT 子句以及 SQLite 兼容的 INSERT OR REPLACE / INSERT OR IGNORE 语法添加了 Upsert 支持。

ATTACH 'sqlite_file.db' AS sqlite (TYPE sqlite);
CREATE TABLE sqlite.tbl(i INTEGER);
INSERT INTO sqlite.tbl VALUES (1), (2), (3);
SELECT * FROM sqlite.tbl;

有关详细信息,请参阅文档

Python API 改进

此版本通过允许查询关系,使用 Python API 引入了更轻松的增量查询构建。这允许将长 SQL 查询分解为多个较小的 SQL 查询,并轻松检查查询中间体。

>>> import duckdb
>>> lineitem = duckdb.sql('FROM lineitem.parquet')
>>> lineitem.limit(3).show()

 

要安装新版本,请访问安装指南完整的发行说明

此版本的 DuckDB 命名为“Labradorius” ,源于产于北美的拉布拉多鸭 (Camptorhynchus labradorius) 。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/228378/duckdb-0-7-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。