用途:面向历史数据的分析型查询,读取 S3/MinIO 上的 Parquet 文件,支撑 BI 报表与聚合、ML 特征工程、归档数据的时间序列分析。
主要能力:基于 DuckDB 0.10+,使用 httpfs、parquet、postgres 扩展;提供 Python duckdb 与 Go github.com/marcboeker/go-duckdb 接入示例;给出事实表与维度表(含日期维度及10年数据生成)的建表语句;支持直接查询 Parquet(read_parquet)或加载入表;提供日汇总、月度 KPI 视图;高级分析含 Z-Score 异常检测、CORR 相关性、窗口函数(累计、7日移动平均、周同比)与分位数;支持 COPY 导出 Parquet(含 PARTITION_BY 与导出至 S3);可与 Pandas 互转(fetchdf、register)。文档给出与 TimescaleDB 的对比(OLAP 列式、批量写入慢、秒级延迟)及性能建议(尽早过滤下推、只选所需列、SET threads、SET memory_limit、EXPLAIN ANALYZE)。
使用方式:示例命令如 INSTALL httpfs; LOAD httpfs;、INSTALL parquet; LOAD parquet;、SELECT * FROM read_parquet('s3://bucket/path/*.parquet')、COPY (query) TO 'file.parquet' (FORMAT PARQUET)、duckdb.connect(':memory:')。S3 配置通过 SET s3_endpoint、s3_access_key_id、s3_secret_access_key 等语句。
适用场景:报表与 BI、大规模聚合、ML 数据准备、归档数据分析。
限制:文档未提供安装命令、定价、许可、版本兼容矩阵与基准性能数据;Go 驱动与扩展需自行安装。示例中的凭据为占位值,不应直接使用。