几十亿数据,提交一条数据,判断字段内容是否重复。 直接加索引,怕几十亿数据撑不住。
![]() |
1
ericls 117 天前 via iPhone
benchmark 了吗?
|
![]() |
2
BrettD 117 天前 ![]() bloom filter
|
3
kera0a 117 天前 via iPhone ![]() 布隆过滤器,但会有一点点误判率。
误判率越小占用内存越大,速度非常快 O(1) |
![]() |
4
wellsc 117 天前
文本段?分词+倒排索引
|
![]() |
6
levelworm 117 天前 via Android
不用全部对比吧,如果是分布式的话。更怕的是技术上不重但是业务上重。
|
![]() |
7
levelworm 117 天前 via Android
对了,op 用的是什么数据库呐?
|
![]() |
8
LeeReamond 117 天前
@kera0a 布隆过滤器一个问题是无法应对动态数据,实际业务里比如原先拦截 1 ,2 ,3 ,结果第二天业务上 2 从列表里删除了,布隆过滤器就比较吃瘪了
|
![]() |
9
murmur 117 天前
几十亿数据有分表或者分库么
|
![]() |
11
shawndev 116 天前
Cuckoo Filter?
|
![]() |
12
ElmerZhang 116 天前
分表+唯一索引
|
![]() |
13
ElmerZhang 116 天前
当前表不好拆的话,就专门为这个索引建个新表,给这个表分表+唯一索引。
写数据的时候用事务,两个表一起写。 另外,你只是担心抗不住,到底抗不抗得住还是要看压测,说不定就抗得住了呢。不过这么大的表改索引也得费点劲。 |
15
ghoul5426 115 天前
居然没人说哈希,为每个数据计算一个哈希值,crc32 ( 32 位)、md5 ( 128 位)、sha1 ( 160 位)、sha256 ( 256 位)等都可以,可以把哈希值做主键或者唯一索引,可以用这个值来做分库分表的依据。
|