diff --git a/src/SUMMARY.md b/src/SUMMARY.md index bd8a863..1a20e14 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -23,6 +23,7 @@ - [lakehouse](./databases/olap/lakehouse.md) - [delta lake](./databases/olap/delta-lake.md) - [vertica](./databases/olap/vertica.md) + - [duckdb](./databases/olap/duckdb.md) - [htap](./databases/htap/README.md) - [greenplum](./databases/htap/greenplum-htap.md) - [vector db](./databases/vectordb/README.md) diff --git a/src/databases/README.md b/src/databases/README.md index c2c0b42..d9babc2 100644 --- a/src/databases/README.md +++ b/src/databases/README.md @@ -13,6 +13,7 @@ - **[Lakehouse: A New Generation of Open Platforms that Unify DataWarehousing and Advanced Analytics][lakehouse]** - **[Delta Lake: HighPerformance ACID Table Storage over Cloud Object Stores][deltalake]** - **[The Vertica Analytic Database: C-Store 7 Years Later][vertica]** + - **[Data Management for Data Science Towards Embedded Analytics][duckdb]** - **[HTAP](htap/index.html)** - **[Greenplum: A Hybrid Database for Transactional and Analytical Workloads][greenplum]** - **[Vector DB](vectordb/index.html)** @@ -55,3 +56,4 @@ [ivf-hnsw]: vectordb/ivf-hnsw.md [wisckey]: kv/wisckey.md [diskann]: vectordb/diskann.md +[duckdb]: olap/duckdb.md diff --git a/src/databases/olap/README.md b/src/databases/olap/README.md index 56d1d31..1a0cd58 100644 --- a/src/databases/olap/README.md +++ b/src/databases/olap/README.md @@ -3,7 +3,9 @@ - **[Lakehouse: A New Generation of Open Platforms that Unify DataWarehousing and Advanced Analytics][lakehouse]** - **[Delta Lake: HighPerformance ACID Table Storage over Cloud Object Stores][deltalake]** - **[The Vertica Analytic Database: C-Store 7 Years Later][vertica]** +- **[Data Management for Data Science Towards Embedded Analytics][duckdb]** [lakehouse]: lakehouse.md [deltalake]: delta-lake.md -[vertica]: vertica.md \ No newline at end of file +[vertica]: vertica.md +[duckdb]: duckdb.md diff --git a/src/databases/olap/duckdb.md b/src/databases/olap/duckdb.md new file mode 100644 index 0000000..6f7d617 --- /dev/null +++ b/src/databases/olap/duckdb.md @@ -0,0 +1,31 @@ +### [Data Management for Data Science Towards Embedded Analytics](https://duckdb.org/pdf/CIDR2020-raasveldt-muehleisen-duckdb.pdf) + +> CIDR 2020 + +该论文探讨了数据科学领域对数据管理解决方案的需求,并提出了一类新的数据管理系统:嵌入式分析系统(embedded analytical systems)。 + +数据科学崛起导致数据分析任务复杂性增加,数据科学家通常使用脚本语言(如 Python 或 R)在个人电脑上进行中等规模的分析,传统的 RDBMS 不能满足数据科学家的需求,不适合本地数据分析用例。 + +嵌入式分析系统为了填补了这一空白,要解决如下一些问题: + +- Combined OLAP & ETL Workloads: 高效率地支持 OLAP 工作负载以及批量追加和更新 +- Transfer Efficiency: 数据库和应用程序在同一进程和地址空间中运行,需要有效利用这一机会实现高效的数据共享 +- Resilience: 嵌入式数据库需要能够检测硬件问题并防止数据损坏 +- Cooperation: 系统需要能够适应资源竞争,与主机应用程序共享硬件资源 + +**DuckDB** + +DuckDB 是一个为嵌入式分析设计的新型关系型数据库管理系统。 + +- OLAP & ETL:使用矢量化解释执行引擎,优化了 OLAP 查询 +- 弹性:DuckDB 计算并存储持久存储块的校验和,并在读取时验证,以保护数据完整性 +- 协作:DuckDB 允许用户手动设置内存和 CPU 核心使用率的硬限制,并计划实现自适应资源使用方案 +- 传输效率:DuckDB 实现了高效的客户端 API,允许客户端应用程序直接成为物理查询处理计划的根算子 + +### Code + +[DuckDB is an in-process SQL OLAP Database Management System](https://github.com/duckdb/duckdb) + +### Further readings + +- [DuckDB: an Embeddable Analytical Database](https://duckdb.org/pdf/SIGMOD2019-demo-duckdb.pdf)