PostgreSQL码农集散地

期望未来DuckDB的架构演变方向

标签

PostgreSQL , PolarDB , duckdb , in process , cs


背景

DuckDB发展有点快, 不确定是不是在不久的将来会支持我期待的模式.

现在DuckDB是in process的架构

元数据在本地, 不能共享(但是可以read only模式attach datafile. 也就是说多个进程是可以同时只读模式打开这个datafile的. 我们可以只在datafile内保存schema定义, 实现共享metadata的目的.)

Image

期望的架构

演变成服务.

聚合代理(分发任务多duckdb, 聚合结果) - duckdb(多机的独立分布式in process计算) - metadata db(共享源数据) - s3/oss parquet(廉价远程分布式存储)

Image

就算不做这个聚合代理, 仅剥离metdata也是很有意义的. (每个组件独立发展, 必要的时候可以形成联合体, 非必要依旧可以单机in process运行.) 《将 "数据结构、数据存储" 从 "数据库管理系统" 剥离后 - 造就了大量大数据产品(DataFusion, arrow-rs, databend等)》

duckdb要更加的实用, 在生态还有一个很重要的一环, 如何快速将数据源的数据导出为parquet, 并建立meta信息.

gda (generate data's agent) - data sources - 快速生成parquet并导入s3/oss, 以及对应的metadata.

欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出.