V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
luozhiyun
V2EX  ›  程序员

我想请问一下大家 ElasticSearch 的问题

  •  
  •   luozhiyun · 2019-03-11 23:45:16 +08:00 · 4022 次点击
    这是一个创建于 2083 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近我在做一个需求,这个需求需要用到千万级别的数据进行聚合统计做报表,这个报表的结果和前台的查询条件有关

    所以我突然想起了 ES,不知道有没有老哥做过千万级别的数据进行复杂的数据聚合,这个聚合 ES 能吃的消吗?性能怎么样?能实时进行计算吗?

    25 条回复    2019-03-12 16:13:21 +08:00
    notreami
        1
    notreami  
       2019-03-12 00:22:47 +08:00
    大数据聚合 跟 ES 有啥关系?
    cnnblike
        2
    cnnblike  
       2019-03-12 02:33:46 +08:00
    千万级别不算啥。
    我们在用的 ES 集群,部署在 AWS 上,因为是内部用的所以有折扣,
    Searchable documents 数量这会在 500,000,000。过几天可能会把 data retention 放宽到 15 倍,自然数据量也会增加到 15 倍。
    我觉得你与其考虑什么这个能不能吃得消。还不如考虑价格能不能吃得消。
    cnnblike
        3
    cnnblike  
       2019-03-12 02:36:03 +08:00
    我们组 10 台 AWS 的 EC2 在支撑这玩意儿,每台 m4.large 价格是 0.1 刀每个小时,也就是说一小时一刀,然后你自己算算吃不吃得消吧。
    0312birdzhang
        4
    0312birdzhang  
       2019-03-12 08:22:22 +08:00
    这对 es 来说简直是不值一提,毛毛雨啦
    kzfile
        5
    kzfile  
       2019-03-12 08:32:03 +08:00
    多弄几个节点,啥都不是事
    hotwater
        6
    hotwater  
       2019-03-12 08:32:40 +08:00
    看机器
    luozhiyun
        7
    luozhiyun  
    OP
       2019-03-12 09:14:09 +08:00 via iPhone
    @cnnblike 你们十台机器支撑的数据量多大呀?
    luozhiyun
        8
    luozhiyun  
    OP
       2019-03-12 09:16:50 +08:00 via iPhone
    @cnnblike 我觉得我们的数据量最多也就两千万,只不过要用这个数据进行实时计算,怕性能太差,等个几分钟才出结果,那就意义不大了
    naga1003
        9
    naga1003  
       2019-03-12 09:16:56 +08:00
    千万级别基本单机就搞定了
    limbo0
        10
    limbo0  
       2019-03-12 09:44:20 +08:00 via Android
    千万级别太小了…
    yghack
        11
    yghack  
       2019-03-12 09:45:27 +08:00
    千万级?单机单实例足够了。
    icegreen
        12
    icegreen  
       2019-03-12 11:18:20 +08:00
    想知道楼上各位支持到了多复杂程度的聚合分析。。。
    zcsz
        13
    zcsz  
       2019-03-12 11:22:40 +08:00
    千万级的应该还动用不到的 ES 吧,部门内部这样数量级的需求拿个有点老的 GreenPlum 跑,聚合起来效果非常好
    luozhiyun
        14
    luozhiyun  
    OP
       2019-03-12 12:44:38 +08:00 via iPhone
    @naga1003
    @limbo0
    我这里不光是查询出来呀,如果只是查询的话当然没问题,我要做的这个东西是千万级别的聚合,而且是面向用户的,每个用户的聚合条件不一样都需要重新去根据条件聚合,并发量可能有 100 多的样子。也就是说有 100 个用户同时在用 es 做千万级别的复杂聚合
    notreami
        15
    notreami  
       2019-03-12 13:12:40 +08:00
    @luozhiyun 所以,我才问,大数据聚合,跟 ES 有关系嘛?直接上 hive 啊
    airfling
        16
    airfling  
       2019-03-12 13:26:03 +08:00
    吃的消,千万级的数据文档没啥问题的,我测试的每天 6kw 条记录,聚合查询三天内都会很快返回
    bringyou
        17
    bringyou  
       2019-03-12 13:34:34 +08:00
    扛不扛得住还是看机器配置吧,我司数十亿的日志分析都是跑在 es 上的,只要配置够,别太抠就行。现在聚合查询、数据分析用 ELK 全家桶的很多,除了手写 es 查询,还可以看看 kibana
    https://www.elastic.co/products/kibana
    luozhiyun
        18
    luozhiyun  
    OP
       2019-03-12 14:22:47 +08:00
    @notreami 我这里有用 hive, hive 太慢了, 一个脚本跑下来基本半小时过去了
    luozhiyun
        19
    luozhiyun  
    OP
       2019-03-12 14:25:14 +08:00
    @bringyou 日志系统我也有做 , 用的就是 ELK ,但是用来做聚合分析没有试过这种在大数据量下还有并发要求的实时计算的情况
    notreami
        20
    notreami  
       2019-03-12 15:37:44 +08:00
    @luozhiyun 这样问题就很清晰了,你需要的是实时大数据聚合计算。对应的不就是 stream、FlinkSQL 之类。。。
    Wisho
        21
    Wisho  
       2019-03-12 15:43:30 +08:00
    讲道理,ES 的 aggregation 不是很快,也不是它的强项。以“实时”作为标准的话,当 aggregation 条件很复杂的时候 ES 还是挺慢的。
    luozhiyun
        22
    luozhiyun  
    OP
       2019-03-12 16:00:57 +08:00
    @notreami 你说的这两个没有研究过呀 ....
    fireapp
        23
    fireapp  
       2019-03-12 16:01:44 +08:00 via iPhone
    1 亿条,每条 1k,是 10G,单机 grep 加 awk 一两分钟的事,你们为啥要搞的那么复杂? 搞不懂
    liyer
        24
    liyer  
       2019-03-12 16:10:46 +08:00
    es 搭配 kibana
    完美
    90safe
        25
    90safe  
       2019-03-12 16:13:21 +08:00
    千万级别小玩意啦,我玩 ES 都是单机上亿查
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:58 · PVG 19:58 · LAX 03:58 · JFK 06:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.