最近自己造了个数据库

220 天前
 yjhatfdu2

DuckServer

其实是标题党了,本质是给DuckDB做了个 server ,支持 postgresql 的原生协议和 clickhouse 的 http 协议。

DuckDB 是个非常不错的嵌入式 OLAP 数据库,使用简单,SQL 支持多,和 pg 兼容性好,性能特别强(基本上是登顶)的存在),支持 update/delete ,支持并发事务。但是 duckdb 本身是类似 sqlite 的嵌入式数据库,不能多进程读写(可以多进程只读或者单进程多线程读写),不能通过网络访问。所以套成 server 能够一定程度扩展使用范围,比如通过网络写入数据,收集日志、统计数据,对接 Grafana 或其他可视化工具之类。

起因是公司内用 clickhouse 的时候,遇到 clickhouse 的优化器简直是智障可能还不如 mysql ,例如 select * from a,b where a.id=b.id and a.id=1000,clickhouse 会先把 a 、b 表进行全量 hashjoin 再 filter ,duckdb 优化器就聪明多了,会先 filter 再 join ,快很多,其实普通的查询 duckdb 也可能比 ch 更快。duckdb 还能方便读取 csv 等外部文件并智能探测表结构,非常方便如select * from 'data_*.csv'select * from 'https://test.com/data.csv'

目前主要的特性如下:

目前主要的问题:

话说这个应该符合国产信创吧

2387 次点击
所在节点    数据库
5 条回复
GeekGao
220 天前
有点意思
defunct9
220 天前
小刀剌屁股?
grzhan
220 天前
clickhouse 的优化器确实挺蛋疼的。看看后续能不能挖掘更多的 DuckDB 的使用场景。
netnr
220 天前
baidu2022
219 天前
牛逼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1042870

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX