V2EX yjhatfdu2
 yjhatfdu2 最近的时间轴更新
yjhatfdu2

yjhatfdu2

V2EX 第 457268 号会员,加入于 2019-12-04 10:30:20 +08:00
yjhatfdu2 最近回复了
我都用的 opencode 连接官方的收费 API ,试下来 K2.5 是不如 M2.1 的。K2.5 慢、轴、蠢,反复错误修复不正确,而且关于任务的理解就很不到位。M2.1 虽然也不算出色(和 GPT5.2 、opus 比),但是快、基本可以正确
确实垃圾,看了下我在 moonshot 居然还有余额,用的官方的 API 接 opencode ,又慢又蠢而且反复出错,根本不如 M2.1 ,当然都远不如 gpt-5.2-codex 和 claude
当然是考虑一下新一代的 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 的语法,估计时间可以进一步缩短好几倍。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1096 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 18ms UTC 18:27 PVG 02:27 LAX 11:27 JFK 14:27
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86