yjhatfdu2 最近的时间轴更新
yjhatfdu2

yjhatfdu2

V2EX 第 457268 号会员,加入于 2019-12-04 10:30:20 +08:00
27 寸 4k 办公屏连 mac 有什么好选择呢?
Apple  •  yjhatfdu2  •  2024 年 11 月 14 日  •  最后回复来自 allinschroe
9
mac mini m4 默认风扇策略很离谱
Apple  •  yjhatfdu2  •  2024 年 11 月 19 日  •  最后回复来自 willyeon99
23
现在 Apple store 线下还能买新机旧机折抵吗?
Apple  •  yjhatfdu2  •  2024 年 11 月 7 日  •  最后回复来自 lqcc
4
最近自己造了个数据库
数据库  •  yjhatfdu2  •  2024 年 5 月 23 日  •  最后回复来自 baidu2022
5
浏览器性能测试 speedometer3.0 发布,分数计算被重构
程序员  •  yjhatfdu2  •  2024 年 6 月 16 日  •  最后回复来自 UchihaJay
17
yjhatfdu2 最近回复了
当然是考虑一下新一代的 next.js ,新一代的 php😅
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
@MagicCoder duckdb 的 pg_duckdb 插件并不是很适合。首先,你还是需要 pg ,pg 需要单独部署,不能集成到应用里面,作为轻量化的,必然增加了部署的复杂度。第二,pg 需要部署 pg_duckdb 插件需要自行编译或者使用特定的发行版,还是有一定复杂度的。第三,pg_duckdb 主要是方便使用 pg 访问、查询外部 parquet 等文件,或者联合 pg 本地表进行分析查询。但是还是需要走 pg 的协议、parser 等,也没法直接写入 duckdb 自己的库,对于现在这个场景降低了性能,提高了复杂度。
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
@MagicCoder clickhouse 性能上也是可以的,但是部署维护复杂,稍微老点的版本对于 update/delete 效率非常低,资源消耗也是很高。duckdb 适合直接平替 sqlite ,单机模式下很适合。当然你这里如果需要初始化也做的非常快,还是需要做一些工程优化的,如果是 duckdb 直接使用 golang 的驱动,使用 appender 接口进行写入,这个场景也就 20-30w 行一秒,我是尝试了直接使用 go-parquet ,每个线程独立直接写入 parquet 文件,最后再用 duckdb 执行 sql 直接导入,后续再使用 go 的 database/sql 接口写入增量数据,这样才能做到初始化的极速、后续处理的方便。
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
我看了下,你这里用了大量的维度表、预聚合、分表来提高性能,其实用 duckdb 性能足够,单机 10 亿条都用不着干这些事。可以极大的简化后端,减少存储占用和提高解析和写入速度
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
然后使用 create table access_log as select * from 'parquet_out/*.parquet'; 创建 duckdb 的表并导入 parquet 的所有数据,耗时 20 秒,之后查询可以再快一倍,最终 duckdb 存储 7000 多万条记录占用硬盘 1.9G ,原始 access.log 一共 11G
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
试了下,使用 golang 并行解析 11G 的 nginx accesslog ,同样适用 ip2region 解析地理位置,解析 useragent 字段,8 个线程,写入 parquet 文件,在我 m1max 老机器上可以在 40 秒左右完成。然后使用 duckdb 直接查询,7000 多万条数据,根据状态码 group by count 聚合大概 0.11 秒,还是非常适合这个场景的,整个 dashboard 尤其是只分析时间段的,应该秒级全出。
select count(*),status from 'parquet_out/*.parquet' group by status;
┌──────────────┬────────┐
│ count_star() │ status │
│ int64 │ int32 │
├──────────────┼────────┤
│ 16455120 │ 200 │
│ 420 │ 413 │
│ 58349130 │ 404 │
│ 261330 │ 400 │
│ 8310 │ 500 │
│ 60 │ 408 │
│ 3540 │ 501 │
│ 3537120 │ 405 │
│ 90 │ 403 │
│ 7230 │ 206 │
│ 15630 │ 304 │
│ 4980 │ 499 │
├──────────────┴────────┤
│ 12 rows 2 columns │
└───────────────────────┘
Run Time (s): real 0.112 user 0.937740 sys 0.047321
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
@dog82 估计是便于分析聚合吧,不过存 pg 也确实是效率有点低了,我做的话可能会考虑存 parquet 文件用 duckdb 分析,这样文件可以存文件系统也可以存 s3 ,比较灵活,体积也非常小,10G 文件做到分钟级解析我也有信心
1 月 26 日
回复了 MagicCoder 创建的主题 程序员 拥抱 PostgreSQL 支持 UI 配置化
为什么不用 duckdb 呢?和 sqlite 一样是进程内数据库,但是是列存分析型数据库性能超强,存储效率也会比 pg 和 sqlite 高很多,存储体积小,也基本支持 postgresql 的语法,估计时间可以进一步缩短好几倍。
1 月 14 日
回复了 woodfizky 创建的主题 PostgreSQL 适配信创数据库的人的精神状态 be like
你的 pg 可能也是信创的,result_1 反正我的 pg 是 1 ,而且怎么看也应该是 1
建议加上 OpenAI Codex 的,主要是在~/.codex/config.toml
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1882 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 16:05 · PVG 00:05 · LAX 08:05 · JFK 11:05
♥ Do have faith in what you're doing.