2019年,CWI发表了一篇关于DuckDB的论文:《DuckDB: an Embeddable Analytical Database》,旨在OLAP领域构建一个嵌入式的数据库,解决单点交互式数据分析的问题,并给边缘计算提供除SQLite之外的更优选择。在论文中,作者们总结DuckDB为在一个进程内的SQL OLAP DBMS,这句话至少有两个解读点:
- DuckDB的工作方式应该和SQLite一致,即在进程内部运行,并不需要类似MySQL或者PG的等单独起一个数据库服务;
- 作为AP系统,可以支撑一定复杂的数据分析和查询任务。
SQLite是在全球运行最多的关系型数据库管理系统,每个浏览器和操作系统以及各种嵌入式设备都能找到该数据库使用的痕迹。但是SQLite更多为TP任务服务,很难利用向量化、内存加速来提高数据分析的速度。所以DuckDB弥补了SQLite这方面的空白。