关于是否上 ES 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hikarisama
V2EX    Elasticsearch

关于是否上 ES 的问题

  •  
  •   hikarisama 2019-03-07 11:13:58 +08:00 5608 次点击
    这是一个创建于 2409 天前的主题,其中的信息可能已经有所发展或是发生改变。
    业务场景
    1. 每天数据量 100w 左右
    2. 数据量有时间顺序的特性
    3. 数据查询低频率,基本都是历史版本数据
    4. 如果查询,大概率是定位到单条或者同批次(10w 左右)

    请教各位大神上什么持久合适,暂时觉得 ES 不错,考虑到写入的并发量不大可控,对于查询的并发量可能大一些,暂时想到的方法是 应用层 mysql, 大数据持久层 es,靠谱吗?还请各位大神帮忙看看或者推荐推荐
    20 条回复    2019-03-08 09:14:38 +08:00
    superrz
        1
    superrz  
       2019-03-07 12:11:21 +08:00   1
    典型的时序数据特性,大量写,少量查。推荐 influxdb
    iyaozhen
        2
    iyaozhen  
       2019-03-07 12:16:30 +08:00 via Android
    其实吧,没上亿都可以用 MySQL

    还得看现在和未来的规模
    hikarisama
        3
    hikarisama  
    OP
       2019-03-07 12:53:59 +08:00
    @superrz 谢谢推荐,influxdb 确实是一个可以考虑的 db。有个问题请教一下,我忘记罗列在上面了,我们这里可能还有部分查询是模糊查询,这个 influxdb 的表现也不错吗?
    hikarisama
        4
    hikarisama  
    OP
       2019-03-07 12:55:04 +08:00
    @iyaozhen 谢谢回答,眼前规模可能不大,但是后期数据肯定会上亿的,预计年数据量 5 亿~10 亿,所以对我们来讲 mysql 持久并不是一个很好的选择
    ibreaker
        5
    ibreaker  
       2019-03-07 12:56:50 +08:00
    @iyaozhen 三个月就上亿了
    lyc1116
        6
    lyc1116  
       2019-03-07 13:26:03 +08:00
    数据量大的话建议 ES 只 store primary key,然后拿着 PK 到 mysql 中取数据
    hikarisama
        7
    hikarisama  
    OP
       2019-03-07 13:52:34 +08:00
    @lyc1116 你好,你的意思是还是用 mysql 去 store data 吗?如果是这样,分库分表去存一些不是很常用的历史数据太占地方了有点,而且增加了维护的工作量。
    hxt
        8
    hxt  
       2019-03-07 14:38:04 +08:00
    单用 es 吧,按时间段分索引库,要查询的字段用 index 类型,其他详情字段就只用存储类型。分下片,多设几个副本,可靠。用消息队列异步写入吧,不过一天 100w 数据量峰值也就几百 tps。
    misaka19000
        9
    misaka19000  
       2019-03-07 14:42:55 +08:00 via Android
    我们每天 2 亿写入用的 es 没啥问题

    不过你这个数据量如果对搜索没有要求的话选用 MySQL 应该也可以
    zhchyu999
        10
    zhchyu999  
       2019-03-07 14:45:43 +08:00
    试试 NewSQL 的 TiDB
    hikarisama
        11
    hikarisama  
    OP
       2019-03-07 14:49:58 +08:00
    @hxt 你好,单用 es 指的是数据持久层吧,应用逻辑层主要还是关系型的就丢在 mysql,持久层按照你提议的感觉是比较可靠的,我打算测试一下 es 和 influxdb 的可行性
    hikarisama
        12
    hikarisama  
    OP
       2019-03-07 14:51:47 +08:00
    @misaka19000 ok~ 搜索的话主要三种场景

    1. 模糊搜索做分析使用
    2. 精确提取某一个指标值
    3. 按照批次查询某一批数据

    Mysql 性能上感觉不是很乐观,其实也在接收的范围内啦,但是它的存储真的很大,亿级别就快上 T 了
    hikarisama
        13
    hikarisama  
    OP
       2019-03-07 14:54:27 +08:00
    @zhchyu999 你好,这个 tidb 符合当前我描述的场景吗,还没有深入了解过这款
    hxt
        14
    hxt  
       2019-03-07 15:05:43 +08:00   1
    @hikarisama 嗯,指历史版本数据。业务复杂的数据是不太适合存 es 的。
    wph95
        15
    wph95  
       2019-03-07 15:22:49 +08:00   1
    > 1. 每天数据量 100w 左右
    每条数据多大,存几天啊

    2. 数据量有时间顺序的特性
    > 说明可以按时序优化

    3. 数据查询低频率,基本都是历史版本数据
    > 历史版本数据没太懂

    4. 如果查询,大概率是定位到单条或者同批次(10w 左右)
    > 同批次(10w 左右) 指的是搜索到的结果有 10w+ 还是 搜索的范围里 有 10w

    ---
    首先 这个量不大,好的机器一天 1B/1TB 量 es 都能随便写入
    其次 推荐 influxdb 感觉推荐错了,influxdb 是 metric 不是 log 感觉 lz 要的是一个能查到指定一条数据的 db,而不是对某一时间段做聚合。

    Tidb 和 ES 在 lz 描述的情况里感觉都能用,感觉 tidb 更适合。

    当然 如果模糊搜索 ~= 要有分词 ~= 全文搜索, 那就老实用 es。
    没有分词没全文搜索需求就 tidb。毕竟是个 DB 用起来简单运维起来也舒服些。
    如果不用 log search,只需要时序聚合,influxdb / prometheus
    lyc1116
        16
    lyc1116  
       2019-03-07 16:09:40 +08:00   1
    @hikarisama 是的,这样可以最大化查询性能,先 query 再 facet 分析的话,还是免不了要把数据放在 ES。后面提到 influxdb,ES 基于 inverted index,influxdb 基于 LSM tree,单从两个数据结构看 ES 的查询性能会比 influxdb 好。
    hikarisama
        17
    hikarisama  
    OP
       2019-03-07 16:29:39 +08:00
    @wph95 你好

    1. 每条数据暂定 5 列左右, 有两个 varchar(50) 剩下都 int,暂定存 5 年
    2.
    3. 简单解释就是每次提交 10w 批次的数据生成一个版本,一个版本查询就是 10w 条
    4. 结果有 10w+

    是的,需要定位到一条,某段时间的聚合有,但是场景比较少。

    模糊搜索目前是会有的,不过我可以看下是否可以通过系统和业务优化解决掉模糊搜索场景。
    感谢,我会参考一下 Tidb 的。
    yuankui
        18
    yuankui  
       2019-03-07 16:46:09 +08:00
    es 很棒,记得按天分索引
    JonyOang
        19
    JonyOang  
       2019-03-07 17:06:22 +08:00
    mark 学习,准备入门了解 ES 做日志存储分析。
    ducklyl
        20
    ducklyl  
       2019-03-08 09:14:38 +08:00
    solr,es 都可以,mysql 不太适合查询
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     901 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 20:49 PVG 04:49 LAX 13:49 JFK 16:49
    Do have faith in what you're doing.
    ubao 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