V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
singerll
V2EX  ›  问与答

请教一下海量数据的查询方案

  •  
  •   singerll · 2021-08-06 18:53:19 +08:00 · 994 次点击
    这是一个创建于 966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在我手里的数据有以下几个特征

    1 、每个表几亿行数据

    2 、数据表均不是宽表,大概八九个字段

    3 、基本只有查询,偶尔有 join 的需求,没有数据聚合( sum,count 等)的需求

    我现在采用的方案是放到 mysql,但单表查询+where 条件,返回 10 行以内,需要 10 分钟。

    目前选定了几种方案

    1 、放到 es 里面,虽然速度上来了,但还是需要 10s-60s 不等

    2 、放到 clickhouse,目前还没做,但我看官网介绍,ck 好像适合数据分析,不适合单条数据查询。

    顺便,这不是公司系统,就是个人办公需要用到的数据,大数据组件啥的暂时上不了。各位老哥有什么好方案吗?

    8 条回复    2021-08-07 23:49:00 +08:00
    GM
        1
    GM  
       2021-08-06 19:15:20 +08:00
    单表几亿数据虽然挺多,但是如果做好索引,查询的时候利用好索引,不至于 10 分钟。如果查询不复杂,并且有效利用索引,可能还能秒级返回。
    singerll
        2
    singerll  
    OP
       2021-08-06 21:17:40 +08:00 via Android
    @GM 我试了就两个字段的表,加个索引还是慢。。
    512357301
        3
    512357301  
       2021-08-06 22:09:37 +08:00 via Android
    行数太多,得分表,保持一个表 200-600 万行,加索引,并且约束好要查询的范围,确定好要查询哪张表(一般对应分表方案有对应的中间件的吧),这样秒级是可以的,基本就是单机单表的标准速度了
    aaniao002
        4
    aaniao002  
       2021-08-07 01:27:31 +08:00 via Android
    oracle
    lucifer1108
        5
    lucifer1108  
       2021-08-07 17:02:01 +08:00
    建议贴一下字段和查询条件,不然很难给出有效意见
    singerll
        6
    singerll  
    OP
       2021-08-07 20:39:57 +08:00
    @512357301 个人办公电脑,分库分表太麻烦了。。。
    singerll
        7
    singerll  
    OP
       2021-08-07 20:50:25 +08:00
    @lucifer1108
    我是做业务方面的,不是开发人员。比如我有一个表,记录了用户在我们内部系统的编号及对应关系,我就想通过编号查询到这一行的信息。为了避免是我索引使用不当,目前我把表处理的就剩编号( 10 位数字,varchar 格式)+信息( varchar 格式,长度 20 左右)两个字段,结果加了索引还是慢。
    于是我就放到 es 里面(还是这两个字段),查询时间从 10 分钟降到了 30S 左右。我知道的是有没有 5s 以内的方案。。。。
    512357301
        8
    512357301  
       2021-08-07 23:49:00 +08:00 via Android
    @singerll 你想从北京去广州,偏要骑车去,还要一天到,哪有那好事?
    数据量大到一定程度就得换方案的,量变产生质变的,10 公里可以骑车,20 公里坚持一下可以骑车,1000 公里了,还要骑车,那就是自找苦吃了。
    mysql 本身性能就要次于 sqlserver,更次于 hive,你这数据量又这么大(标准容量的一百倍),怎么可能不卡。。。
    还有就是同样都是 ES 为什么京东的系统用起来不卡,你的卡,因为他们是集群,可以并发处理。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2761 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:58 · PVG 19:58 · LAX 04:58 · JFK 07:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.