最近自己造了个数据库

2024-05-22 11:00:39 +08:00
 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'

目前主要的特性如下:

目前主要的问题:

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

2692 次点击
所在节点    数据库
5 条回复
R4rvZ6agNVWr56V0
2024-05-22 14:11:00 +08:00
有点意思
defunct9
2024-05-22 15:21:26 +08:00
小刀剌屁股?
grzhan
2024-05-22 15:25:08 +08:00
clickhouse 的优化器确实挺蛋疼的。看看后续能不能挖掘更多的 DuckDB 的使用场景。
netnr
2024-05-22 15:56:25 +08:00
baidu2022
2024-05-23 10:01:38 +08:00
牛逼

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

https://ex.noerr.eu.org/t/1042870

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

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

© 2021 V2EX