elasticsearch 支持的数据量太小了,对 50 万行数据查询都是 1 秒多,有没有替代产品? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Reign
V2EX    Elasticsearch

elasticsearch 支持的数据量太小了,对 50 万行数据查询都是 1 秒多,有没有替代产品?

  •  
  •   Reign 2017-11-29 20:12:15 +08:00 15748 次点击
    这是一个创建于 2881 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,MySQL 总共 50 万行数据,30 个字段,全部存到 ES 中查询,平均耗时 1 秒,太慢了,虽然我的是渣渣机械盘,也不至于连 50 万行的数据都支撑不了吧,有没有比 ES 更优秀查询时间优化的更好的免费产品???

    第 1 条附言    2017-11-29 20:56:25 +08:00
    忘了加配置:i5+16G+2T 渣渣 HDD
    第 2 条附言    2017-11-30 08:30:24 +08:00
    是不是 30 个字段同时搜索太慢??我是采用 query_string 的搜索:
    'query' =>
    [
    'query_string'=>
    [
    'query'=>$item,
    "default_operator"=>"AND"
    ]
    ]
    第 3 条附言    2017-11-30 10:27:40 +08:00
    30 个字段是把主要的“ article ”字段翻译成了 29 种语言,大家觉得是不是我把 30 种语言揉和成 1 个大杂烩的字段来搜索,会不会变得更快一点???
    44 条回复    2017-12-01 11:42:03 +08:00
    pathbox
        1
    pathbox  
       2017-11-29 20:31:03 +08:00 via iPhone   1
    我相信不是 es 的锅,是你服务器配置太低,内存太少或是 es 查询姿势错误。
    ming2050
        2
    ming2050  
       2017-11-29 20:31:15 +08:00 via iPhone
    你需要怎么查询数据?
    dobelee
        3
    dobelee  
       2017-11-29 20:33:50 +08:00
    普通的全文搜索的话,1 亿数据也不用 1s。
    不说具体的需求就是乱投医。
    zn
        4
    zn  
       2017-11-29 20:34:19 +08:00 via iPhone
    我跟你讲,区区五十万数据我丢到十美元一年的 VPS 速度都比你这个快。

    这锅 ES 不背。
    winglight2016
        5
    winglight2016  
       2017-11-29 20:43:06 +08:00
    这个数量级即使放在 mysql 也不会这么久啊?
    pynix
        6
    pynix  
       2017-11-29 20:59:30 +08:00
    内存应该够了,hdd 的锅吧。。。。
    hljjhb
        7
    hljjhb  
       2017-11-29 21:59:07 +08:00
    先问是不是 再问有没有
    asuraa
        8
    asuraa  
       2017-11-29 22:05:30 +08:00
    没有吧 我 3000 多万条查询也不到三分之一秒啊
    iyaozhen
        9
    iyaozhen  
       2017-11-29 22:32:11 +08:00 via Android
    每天差不多上亿条。除了 SSD 装不下其它没事问题。
    xjqxz2
        10
    xjqxz2  
       2017-11-29 22:34:10 +08:00
    你是不是把 HEAP 设小了 o.o
    knightdf
        11
    knightdf  
       2017-11-29 22:38:52 +08:00
    这个锅 ES 可不背
    murmur
        12
    murmur  
       2017-11-29 22:51:07 +08:00
    怀疑你分词有问题
    Morriaty
        13
    Morriaty  
       2017-11-29 23:08:22 +08:00
    你 show 一下 query 啊,要是各种 aggs 当然慢啊
    locoz
        14
    locoz  
       2017-11-29 23:10:54 +08:00 via Android
    锅不要乱甩。。es 查几千万的数据也就 1 秒不到
    mengzhuo
        15
    mengzhuo  
       2017-11-29 23:37:42 +08:00 via iPhone
    索引要自己定义
    减少分析类的
    减少 shard
    bobuick
        16
    bobuick  
       2017-11-29 23:46:44 +08:00
    50w 数据能慢到 1 秒的话,es 早就在 0.5 版本前被市场喷死在窝里了。
    zhx1991
        17
    zhx1991  
       2017-11-30 00:42:25 +08:00
    你用的有问题

    而且就 50w 的数据, 扔在 mysql 里查也是 5ms 以内就能返回
    dangyuluo
        18
    dangyuluo  
       2017-11-30 00:50:25 +08:00
    感觉是你 mapping 不对
    lyhiving
        19
    lyhiving  
       2017-11-30 01:04:32 +08:00 via Android
    如果是 50 亿条数据我估计会信
    SharkIng
        20
    SharkIng  
       2017-11-30 01:51:01 +08:00
    ES 对于内存和硬盘要求很高的感觉
    我们的近百亿的数据在 15 个机子上,每个 32G 内存+ 8T 的 SSD,查询大量的时候基本平均 2 秒左右
    按理说你这个数据量应该没问题,试试换 SSD 看能快点不。
    alwayshere
        21
    alwayshere  
       2017-11-30 08:19:56 +08:00
    @zhx1991 你确定 50W 用 mysql 的 LIKE 查询能在 5ms ?
    fuxkcsdn
        22
    fuxkcsdn  
       2017-11-30 09:00:01 +08:00 via iPhone
    @alwayshere 听过 mysql 的全文索引吗?
    能否 5ms 我不确定,但 1s 内返回肯定是可以的,上家公司我们 300 万数据也是放 mysql 里用全文索引
    btw,mysql 全文索引和 like 查询是两码事
    kwklover
        23
    kwklover  
       2017-11-30 09:15:19 +08:00
    才 50 万的数据,这个机器配置不算低了,不过 30 个字段是个核心

    如果每个字段都是跟文章一样的长字段,那么其实 50 万数据跟一般概念的 1500 万数据量差不多,也不算小了。

    楼主的什么系统,要索引 30 个字段?
    janxin
        24
    janxin  
       2017-11-30 09:44:29 +08:00
    才 50w 数据,es 没问题的
    thinkmore
        25
    thinkmore  
       2017-11-30 10:05:37 +08:00
    应该是你姿势不对,我们几千万数据也才差不多一秒呢
    jyf
        26
    jyf  
       2017-11-30 10:08:02 +08:00
    跟你配置有关系 我这里 100 亿的数据 只有五六台机器 也就一秒左右
    vus520
        27
    vus520  
       2017-11-30 10:35:00 +08:00
    在 1 亿条数据里查找匹配内容,返回前 50 条。
    共有数据 :5392450 条,显示最新 50 条,用时 382 ms
    yanzixuan
        28
    yanzixuan  
       2017-11-30 10:47:11 +08:00
    @zn 10 刀一年的 VPS 多大内存? es 能跑得起来么?
    well
        29
    well  
       2017-11-30 10:52:21 +08:00   1
    5 台服务器,2600 亿,近 50TB,无 SSD,也就秒级能出。如果玩不转建议不要玩。
    vus520
        30
    vus520  
       2017-11-30 10:55:18 +08:00
    @well 50TB 原始数据,还是 50TB 索引之后的数据?我刚刚查了一下,我这不到百亿的数据就 20TB 了。
    well
        31
    well  
       2017-11-30 10:58:37 +08:00
    @vus520 有自己的数据特点,开启了 source。
    Juice520
        32
    Juice520  
       2017-11-30 11:33:40 +08:00
    我普通的全文搜索,1 亿数据耗时不到 100ms
    owenliang
        33
    owenliang  
       2017-11-30 12:04:06 +08:00
    50 万数据磁盘空间 du 看看占了多少,可能内存不太够。
    owenliang
        34
    owenliang  
       2017-11-30 12:04:25 +08:00
    @owenliang 可以压一点搜索流量,iostat 看看机器的 IO 情况。
    farseeraliens
        35
    farseeraliens  
       2017-11-30 12:20:49 +08:00 via iPhone
    楼主需要的是用一个 language model 先判别语言,再在该语言特定的列中检索。
    Reign
        36
    Reign  
    OP
       2017-11-30 12:21:58 +08:00
    @farseeraliens 没特别好用的语言检测代码,你推荐个?
    SoulSleep
        37
    SoulSleep  
       2017-11-30 12:23:25 +08:00
    自己不会用甩锅系列...
    50w 数据有几十个 G 嘛?
    4C 16G 服务器,0.0xs 跑的飞起
    omygod
        38
    omygod  
       2017-11-30 12:47:03 +08:00
    16G 内存你给 es 分了多少
    Reign
        39
    Reign  
    OP
       2017-11-30 13:25:10 +08:00
    @omygod 刚刚 export ES_HEAP_SIZE=10g,重启 ES,查询时间还不是一样,我估计用到假的 ES 了
    allenhu
        40
    allenhu  
       2017-11-30 16:30:38 +08:00
    每次看到楼主的帖子都想笑
    sunmonster
        41
    sunmonster  
       2017-11-30 19:13:07 +08:00
    50 万的话,mysql 查询都不用 1s
    jatesun
        42
    jatesun  
       2017-12-01 07:25:18 +08:00 via iPhone
    ES 配置问题吧?我们这每天两千多万数据查询都秒级响应
    gfh110
        43
    gfh110  
       2017-12-01 11:04:19 +08:00
    分词的问题吧
    armstrong
        44
    armstrong  
       2017-12-01 11:42:03 +08:00
    这锅 ES 不背
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2703 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:16 PVG 22:16 LAX 07:16 JFK 10:16
    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