Beaver Vs ES 优势劣势分析

摘录来自互联网备忘

Beaver VS ESESBeaver
实时性高1.准实时索引检索引擎
2.模拟实时需要定期Flush将数据转化成磁盘结构(Refresh),会消耗大量IO
1.纯实时索引检索引擎
2.内存原地检索不必耗费I/O
并发写入效率高
写入效率beaver比es提升
400% - 500%
1.Segment只能由一个线程写
2.产生的Segment的数目极多,每个Segment的DOC数目少,严重依赖Merge
3. Merge会占用大量的IO和CPU
4. Merge不及时会导致低性能
1.Segment支持内部并发写
2.单Segment更大,减少Segment数量
3.Merge的规模小,正常情况下因Merge产生的IO和CPU消耗很低
搜索性能高
查询性能beaver比es提升50%
统计性能beaver比es提升
100% - 200%
1.实时系统中会导致负载的Global Ordinal失效和重建
2.由于Segment频繁变动导致Global Ordinal大量失效
3.每次检查都需要检索全部的Segment
4.按时间排序取Top N的算法不够高效
1.Global Ordinal能长期使用
2.可以根据时间戳和Query的范围排除大量不需要检索的Blick
3.某些情况下可以优化Query,不进行时间戳过滤
4.随时间戳排序取Top N时排除大量的Block
有效的内存控制
能同时打开更多索引
1.能同时打开的索引目录有限
2.所有打开的Segment都需要加载全部数据的Meta
3.Meta往往小号大量的内存
1.选择性加载Meta
2.可以管理的Segment没有内存限制
3.Meta消耗的内存可以控制
要有效冷温热索引分层控制1.长期保留索引时,需要把所有索引源数据打开,带来极大资源消耗
2.需要上层干预索引打开和关闭
3.无法自动进行索引分级控制
1.对索引打开的数量不敏感
2.引擎会自动根据ssd,sata,nas不同级别存储完成热,温,冷索引迁移和控制
采用性能更优,内存控制更好的
C++语言开发
1.采用Java开发
2.高性能以来JIT编译器
3.容易引起GC
1.无GC风险
2.性能优化可以做到极致
3.内存使用完全可控
节省硬件成本同样入库和查询条件下,beaver比es要节省一半硬件成本
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的窝窝牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值