2020年终总结,主要是主导组内的TurboSearch磁盘检索的设计与实现,整个项目分为3个部分,分别为离线、在线、OSS三个部分,以下分别阐述。

离线

离线部分的主要工作是将一批海量的待检索数据(如30亿篇文档),转化成各个设计好的索引格式,简单点就是将顺排数据处理成倒排数据,主要包含以下工作:

  1. 设计各个磁盘索引的存储格式
  2. 实现各个磁盘索引生成单机版本
  3. 实现索引的其Map-Reduce版本
  4. 验证索引数据的正确性

在线

在线部分的主要工作是加载生成的索引数据,对外提供高性能的检索召回服务,主要包含以下工作:

  1. 将离线索引All2File包装成在线索引One4All,具体做法就是将离线索引的bkt数据加载到共享内存,其dat数据还是放在磁盘
  2. 开发基于磁盘的检索召回引擎,不同以往的基于内存的同步取索引,为了服务的高性能,设计了异步取索引数据的检索结构
  3. 开发适配已有服务框架Indexd
  4. 开发单独的取摘要服务模块Abstractd

OSS

基于磁盘的索引数据滚动流程相对于以往的基于内存版本有大量的入侵式改动,因此需要在适配磁盘索引数据的基础上,重构部分流程,此部分仅为参与,另有同事主导,不做详细阐述

总结

  1. 项目管理:慢慢找到了主导一个项目的感觉,不能太急躁,要掌握好节奏
  2. 技术深度:最大的感触是做工程也需要跟随前沿,比如,其中Linux内核最新支持的Uring_IO目前还没用起来,伤: (
  3. 技术宽度:学点机器学习知识总没错。系统地学习了吴恩达的机器学习课程视频,其中深度学习视频教程还没做完,花了320大洋得坚持
  4. 看书:总感觉最近到了一个瓶颈,对一些知识知道的模棱两可,无法非常准确清晰的梳理出来,需要看书重新梳理自己的知识体系,旧书新读
  5. 生活:愈发压抑,内心似乎不快乐,没了激情和动力,后续要找朋友多联络感情
  6. 身体健康:太放纵了,内脂肪太多,有肚子,有双下巴,每日6000步疾走+多吃膳食纤维类的食物
  7. 情感,计划明年结婚,感觉这辈子就她了,已被同化
  8. 展望,在新的一年里,把磁盘检索项目上线,然后年中答辩升9成功,加油!