做数据分析的人,电脑里通常躺着三样东西:咖啡渍、待办清单,和三个互相看不顺眼的数据库。PostgreSQL稳如老狗,DuckDB号称单机神器,Exasol则像那个总在LinkedIn发技术博客的德国工程师——存在感不强,但据说很能打。
有个团队真把这三个拉去跑了个分。不是那种厂商赞助的"友好交流",是拿真实业务数据硬碰硬:十亿行级别,查询复杂度从"SELECT *"到多表JOIN层层加码。结果出来,在场的人表情管理集体失控。
Exasol在聚合查询上把另外两位按在地上摩擦,快了一个数量级。DuckDB在单节点内存充足时确实生猛,但数据量超过物理内存后开始表演"硬盘狂响"。PostgreSQL?「它完成了所有测试,只是完成得比较慢」,测试负责人原话。
最讽刺的是成本账。Exasol按节点授权,DuckDB免费但需要你买更大的机器,PostgreSQL免费但需要你雇更贵的DBA。换句话说,快、便宜、省心,这三件事在数据库世界里依然是"只能选两个"的古老诅咒。
那个团队最后切了Exasol。迁移花了三周,主要是重写了一堆被旧数据库"宽容"过的烂SQL——原来跑得慢,反而帮你藏了bug。
热门跟贴