V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yjhatfdu2  ›  全部回复第 2 页 / 共 6 页
回复总数  113
1  2  3  4  5  6  
clickhouse 里面可以再加一个物化视图,用 ReplacingMergeTree ,用设备 ID 去重时间戳做版本号,查询的时候再用 window 查询查每个 ID 时间戳最大的,这样就可以获得一个最新的数据,而且这个物化视图会异步的自动清理老数据,速度应该可以很快
@beginor 大模型有 f32 ?现在训练基本都拿的 bf16/f16 来的,哪来 f32 的?
我感觉很多人既不懂加密、又不懂安全、又没有逻辑,楼主还是很懂的
180 天前
回复了 teli 创建的主题 PostgreSQL 为什么有时 PostgreSQL 有时会表现得比较卡?
再开一个 session ,查 select * from pg_stat_activity ,看看查询卡住的具体原因
180 天前
回复了 tramm 创建的主题 数据库 有没有推荐的时序数据库或者其他数据库?
算了一下,一年应该不超过 4000 亿,这个情况用 clickhouse ,认真设计一下表结构尤其是编码方式,应该是可以满足的,而且 CH 可以设置把老数据自动丢到对象存储,降低成本
185 天前
回复了 isxzlhhh 创建的主题 数据库 mysql 字段频繁修改怎么优化
两张表,写完就切另一张表吧
185 天前
回复了 isxzlhhh 创建的主题 数据库 mysql 字段频繁修改怎么优化
为啥不用 innodb 呢? innodb 应该是 mvcc ,读写可以不冲突
185 天前
回复了 alexcding 创建的主题 Apple 微软发布 ARM 版本的 Surface Pro 系列
X Elite 当年吹的那么牛逼,原来单核也就 M2 还差点的水平,到现在还没开卖,真是笑死个人
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
@wxf666 你算的很对,表大概 20G 多一点,但是索引不是这么存的,你可以理解为反向索引存了 tag 和这个 tag 在哪些行中出现,这里面我怀疑是用 bitmap+压缩来实现的,有兴趣可以看下 pg 的 gin 相关的代码,所以实际上索引体积只有 9G 左右
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
@freewind 你这几千条标签递归查估计也就 1ms 之内的事情
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
@wxf666 这个索引占用 9G 左右,pg 的 GIN 是通用反向索引,并不是直接按照这样展开存的,原理类似 es 的反向索引
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
@freewind 可以这样,也可以像#7 说的一样,每次用递归 CTE 把所有子层级标签查出来作为条件,这样标签层级可以更新,存储容量也可以小点,你们标签少可以考虑用更小的 int 做标签,也能省
191 天前
回复了 wanniwa 创建的主题 PostgreSQL Java 有没有针对 PostgreSQL 好用一点的 ORM
一般 ORM 都有 raw sql 的模式吧
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
实测来了,
创建测试表,并插入 1 亿条测试数据,每一条包含 50 个随机标签,每个标签有 4000 种可能
create table tags_test(id serial primary key,tags array[int]);
create function random_array() returns int[] as $$ select array_agg((4000*random())::int) from generate_series(1,50)) $$;
insert into tags_test(tags) select random_array() from generate_series(1,100000000);
创建 GIN 索引
//最好临时增加 maintenance_work_mem ,会加快索引构建
//set maintenance_work_mem to 1GB;
create index ON tags_test using gin(tags);
简单查个包含几个 tags 的数据
postgres=# select count(*) from tags_test where tags @>array[1,2,3,4];
count
-------
2
(1 row)

Time: 135.185 ms
postgres=# select count(*) from tags_test where tags @>array[1,2,3];
count
-------
190
(1 row)

Time: 123.327 ms
当然,实际情况下标签肯定不是随机分布的,可能会更快或者更慢,也可以试试用 jsonb 来存和查,结果应该差不多
191 天前
回复了 1800x 创建的主题 Go 编程语言 有没有轻量级分布式消息队列
nats jetstream 只有 6 大概没有其他全符合
数据的话,用数据库原生的 publish 、subscribe 是最简单最优的,但是不能自动同步 DDL ,发生 DDL 后需要先在从库中更新 DDL 再继续订阅
191 天前
回复了 freewind 创建的主题 数据库 请教多标签查询怎么做效率高?
你这样完全没用上索引,你这个场景,最好就使用 postgresql ,使用 array 或者 json 存 tags ,然后建立 GIN 索引,然后每次查询把标签和子标签组成目标 tags ,然后用 select * from xxx where tags @> ARRAY[tag1,tag2,tag3],就可以用上 GIN 索引,一个亿数据也没啥
192 天前
回复了 qbmiller 创建的主题 Java 有 内嵌的简单 mysql 版本的 MQ 吗
也可以试试 nats jetstream ,部署极简单,可单机可集群,性能也很高
192 天前
回复了 qbmiller 创建的主题 Java 有 内嵌的简单 mysql 版本的 MQ 吗
redis 也能当 mq 用啊
看来 oracle 的优化器和性能都是有点挫了,pg 下毫无问题
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2862 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 14:09 · PVG 22:09 · LAX 06:09 · JFK 09:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.