大数据查询
需求:有 10 亿左右的数据需要做查询,想在毫秒内返回匹配结果
存入的内容如下
id
cardno
name
short
createtime
1
Dkmy48k7afjsG9T75BtTHOdssqCIyKtt
Jack Ma
DKyKtt
nowtime
数据库存入的是这些数据,但是我匹配的话是通过 short 来匹配的,有什么好用的软件或方法吗?
付费求指导
short 没啥含义直接 kv 查询的? redis ?
单表大数据? clickhouse
10 亿上 ES 吧
不一定单表,可以多表 可以用 short 的 前后来分一两百个表
可以用分表,10 亿条,es 能干毫秒内吗 铁铁
short 是要查询的内容,要么查全部 要么查后面四位, 只有这两个查询要求
redis 10 亿级的数据 带不动吧?
是 short like 还是需要怎么查?单列查询感觉 clickhouse 的 prewehre 场景蛮合适的
like 应该不行吧,因为我的想法是 先查全部,如果不满足就只要后面 4 个
以我举例的为例,先查询 DKyKtt ,如果没查到则查询 yKtt 的数据 给返回
你可以用 ck 测下,short 一列,sub_short 后 4 位一列。理论上适合 clickhouse 单列 prewhere 应该很快,但是 ck 的 qps 支持不会特别高,qps 比较高的场景建议你试试看 doris
内存给够,有啥不行的
加一列 short_reversed 存数据 reverse(short), 分别给 short 和 short_reversed 加索引。10 亿数据洒洒水啦
不需要 qps 很高,一天可能就最多几千次请求
HAHA 是是是 内存够 啥都能干 ,哪像这种 10 亿级的数据,128g 的内存够不
用 mysql 吗
你要分表的话,如果能保证均匀分布,100 张表,单表不就 1kw 了,索引直出问题不大了吧。。如果你说 1ms 以内,感觉必须得内存了吧。。
#14 任意支持 btree 的数据库
mysql 分表,单表 1kw 的数据,100 张就够了 。但是你的意思是这种情况下最好就是数据能均匀分布到每个表里,如果想提高查询效率,我服务器的内存得拉起来吗
数据在硬盘里的话,怎么估计也不能 1ms 以内,你拉高内存加快本质上不就是从内存出。。
上云也可以,只要做到响应毫秒级内返回就行
铁铁方便 v X 吗 付费求指导 哈哈
我看看 pgsql
建议上 ES 吧 。
毫秒内还是毫秒级别啊- -,你说的 1s 以内的话,单表 1000w ,走索引应该都行,关键在于你怎么尽量保证他均匀分布,常见的列式存储和倒排查询比如 ES CH 1s 以内还是比较轻松的
1s 不是 1ms 哈哈 1 秒内
不是用以太网 Wake on LAN 的方法。 是用个 USB 硬件(带 WiFi ),通过 WiFi 控制这个硬件,用键盘的方法唤醒 Linux 台式机。优点是:比较小巧,只…
写游戏写一半不知道按到了哪个快捷键开启了这个 Windows 自带功能,正准备把它给关掉,结果第一个界面就一样看到了一处 typo 这已经是以稳定为卖点的 Windows 1…
有时候不在家想有个远程桌面用,这样在公共电脑上不用装软件登录啥的。 用途就是看看微信,WPS 编辑文档,访问访问网页,用什么样的系统可以最小化资源?毕竟虚拟机要 24 小时开启…