HA3搜索引擎梳理与分析

HA3搜索引擎技术体系包括内核、组件、架构和插件,强调计算与存储分离,以降低运维成本和提高稳定性。内核支持热数据缓存、分层存储、计算优化等功能。针对超内存数据,HA3通过自适应bitmap和数据压缩等手段提升检索性能。文章探讨了存储计算分离的本质、涉及的问题,提出小数据量的解决方案,涉及网络IO、CPU开销和数据分布等挑战。
摘要由CSDN通过智能技术生成

HA3搜索引擎梳理与分析

一、HA3技术体系梳理

HA3搜索引擎技术体系图
在这里插入图片描述

1.1 内核
  • 网络访问存储:通过网络访问盘古系统(集中式存储)实现存储与计算分离,支持独立扩展,降低运维成本,提高稳定性
  • 热数据cache:支持使用mmap(lock/非lock方式)、blockcache对数据进行加载,实现对热数据的memcache
  • 自适应bitmap:支持根据检索热度自动将部分token转换为bitmap倒排
  • 分层存储:对于超内存数据量、高性能检索、有持久化需求场景,通过将数据根据热度分层,进行不同程度的压缩并存放在不同存储介质的方式,平衡检索性能、存储成本等需求
  • 短链优化:将链长较短的倒排链自动转换为kv存储,提高检索性能
  • 检索性能优化:在主键检索时,用hashtable替换二分查找,以可以接受的空间成本换取时间;range索引在建库的时候,把每一个整数按位拆分成多个倒排的term然后建立倒排索引, 每个range索引目录下,包括两个子目录,分别是低4位和高60位的term建立的倒排索引, 查询的时候会合并二者的结果。
  • 数据压缩:针对数据重复等场景进行优化,减少冗余存储
  • 数据分片:通过数据分片的设计,提高离线/实时数据任务的并行度,从而提高数据实时性
  • 持久化:优化数据从内存dump至磁盘的过程中存在的性能问题
  • 动态索引配置:支持动态新增正排、倒排字段,降低运维成本

红色字体为业务需要但artis体系不具备的能力。

1.2 组件
  • 检索过滤:支持交、并、过滤等检索语义
  • 全量/增量更新:支持全量/增量数据的离线全局计算
  • doc截断/回收:在全量/增量任务中,可以根据一定规则,将无效的doc丢弃,也可以根据定制的排序结果,将部分doc截断
  • doc聚合:根据doc中包含的token将doc排序,使建立倒排时
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值