es 查询一定比 mysql 快吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
546L5LiK6ZOt
V2EX    问与答

es 查询一定比 mysql 快吗

  •  
  •   546L5LiK6ZOt 2021-12-18 21:13:10 +08:00 2848 次点击
    这是一个创建于 1397 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前工作的项目中,es 是 10 分片、3 副本,上面有一个索引的文档数量是 1500 万左右,这个索引是聚合了多个库多个表的数据。我看代码里很多地方都是通过 id 来从 es 查询(当然也有些场景是复杂条件查询的)。我在想,通过 id 来查询的这种场景,能不能通过构造一张 mysql 的宽表,直接走数据库索引来查会不会更快一点呢?

    为什么会有这个想法呢?直觉告诉我同样配置(或同样价格)的机器下,mysql 性能会比 es 高。理由如下:

    1. mysql 是用 C++ 写的,没有 gc ,且内存消耗比基于 Java 的 es 要低
    2. es 查询时会路由转发请求给其它数据节点,这当中会有网络 io 消耗;而 mysql 可以直接单表存储 1500 万数据

    我在网上找不到关于 mysql 和 es 的 benchmark 对比,所以不是很肯定这个想法,请各位大神赐教

    7 条回复    2021-12-19 16:33:17 +08:00
    stabc
        1
    stabc  
       2021-12-18 21:21:14 +08:00
    Uber 就是用 mysql 做类似的事。
    3dwelcome
        2
    3dwelcome  
       2021-12-18 21:31:45 +08:00 via Android
    没实际测试过,我猜光查询 id ,mysql 肯定不差。
    但是通常情况下,业务逻辑都会包涵复杂查询的,而这部分逻辑,基本上都是整个项目的木桶短板。
    如果光一个 ID ,那无脑选 google 的 leveldb ,纯键值数据库,查询绝对最快了。
    512357301
        3
    512357301  
       2021-12-18 22:06:56 +08:00 via Android
    es 不清楚,但是之前最近用 clickhouse 测试过,同样的数据量,同样的三表 join ,MySQL 一小时,clickhouse 五秒钟,这还是 MySQL 建了索引 clickhouse 没建索引的情况下
    MySQL 单表性能确实不错,联查就有点吃力了,轻轻松松几十秒甚至几百几千秒
    eason1874
        4
    eason1874  
       2021-12-18 22:36:51 +08:00
    “我和同事们一直努力让 MySQL 优化器能够达到 2000 年初的标准设计水平,还做出了不少很好的调整,但也就是这样了。”

    看看一周前的业界新闻《 Oracle 大佬离职,怒喷 MySQL “糟糕的数据库”》
    https://www.infoq.cn/article/tkakzijrforgcyrhbytq
    bxb100
        5
    bxb100  
       2021-12-19 08:21:36 +08:00 via Android
    Es 热数据在内存里面啊
    lemonf233
        6
    lemonf233  
       2021-12-19 15:35:22 +08:00
    @bxb100 mysql 也有数据在内存的 buffer pool
    zmxnv123
        7
    zmxnv123  
       2021-12-19 16:33:17 +08:00
    这两应用场景都不一样,没啥可比较的。

    一个是搜索,主要是非结构话数据。另一个是 SQL(Struct Query Language)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1076 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:14 PVG 07:14 LAX 16:14 JFK 19:14
    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