检索技术
文章平均质量分 92
WanderingScorpion
DoIT.
展开
-
广告召回技术标准化进程
广告召回本质上是一种数据处理过程,可以使用常见的数据处理模型来分析其特性。原创 2022-10-07 12:37:09 · 1261 阅读 · 0 评论 -
经典论文研读:《Bigtable: A Distributed Storage System for Structured Data》
一 概述BigTable是以大神Jeffrey Dean为首的Google团队在2006年公开的分布式存储系统,是Google“三驾马车”论文中(GFS、MapReduce、BigTable)中最后公开的。在BigTable论文中,Google构思、设计并实现了一套支持结构化数据存储的超大容量分布式存储系统。BigTable中关于数据模型、底层存储技术和架构模型的设计思路直到今日仍被奉为经典,下面我们就按照这三个维度来看下BigTable的设计细节。二 数据模型BigTable本质上是一个为稀疏结构化原创 2021-11-06 23:27:50 · 2091 阅读 · 0 评论 -
大数据批流处理方案分析
一 Lambda架构与Kappa架构本章节内容大量摘自:https://docherish.com/post/da-shu-ju-chang-yong-de-jia-gou-lambda-he-kappa/1.1 Lambda架构Lambda架构基本介绍:Lambda架构最早是由storm的创始人,Nathan Marz进行提出并描述了我们目前所了解的lambda架构。Lambda架构先入为主,已经适用在了绝大部分的公司里面了。绝大部分公司从刚开始发展大数据技术为主,到现在都是采用的La原创 2021-10-28 14:20:34 · 750 阅读 · 0 评论 -
存储检索技术发展历史
1966年geoHash出现1970年B树Organization and Maintenance of Large Ordered Indices 一文中提出的[1]。它采用多叉树结构,降低了索引结构的深度,避免传统二叉树结构中绝大部分的随机访问操作,从而有效减少了磁盘磁头的寻道次数,降低了外存访问延迟对性能的影响。它保证树节点中键值对的有序性,从而控制search/insert/delete/update操作的时间复杂度在O(log(n))的范围内布隆过滤器布隆过滤器(Bloom Fi原创 2021-10-28 14:11:28 · 256 阅读 · 0 评论 -
广告检索内核设计
一 设计思路广告检索具有数据量较小、数据结构复杂、检索性能要求高、更新实时性要求高等特点。这要求设计者在进行内核整体设计时,需要做出倾向性的考量。本文介绍的检索内核在设计思路上的主要前提如下:纯内存存储对比于文档搜索动辄TB量级的数据量来说,广告场景的数据量一般在10GB至100GB量级。当前业界主流的资源划分方式均可以提供10G至100GB大小的内存,因此为了追求高性能,广告索引大都采用纯内存存储方案。本文设计的内核使用Linux提供的mmap进行文件映射,对索引文件进行类似于内存的直接操作,原创 2021-10-28 14:02:56 · 981 阅读 · 0 评论 -
高性能kv存储设计 之 cacheline对齐
最近在设计高读性能的kv存储,为了尽可能保证cache的命中,应尽可能将"同时读取"的数据放到一起,以此来保证数据大概率同时出现在高速cache中。当前大部分计算机的cacheline size为64字节对齐,即当读取地址0x403140(64的整数倍 + 0)的时候,会将0x403140 ~ 0x40317F(64的整数倍 + 63)中的内容都加载进缓存。以此为参考依据来设计数据结构的大小可以加强数据访问速率,在极端场景下获得较大收益。测试程序#include <stdio.h>#inc原创 2020-11-24 20:00:10 · 980 阅读 · 0 评论 -
超大规模检索中的索引设计
一 问题背景1.1 业务背景精准广告场景中,人群定向的常用方法是:根据各种不同的规则,将每一个用户(User)打上丰富的标签。与此同时,广告主(Member)在根据规则圈选投放人群时,系统也会将广告(Ad)打上各种的标签。当一个Ad和一个User被打上同一个标签(Tag)时,就表示该Ad圈定了这个User,即该Ad会参与对该User的展现竞价。本次优化的难点出现在一个特定业务场景下,我们需...原创 2019-07-27 21:52:34 · 607 阅读 · 0 评论 -
Lucene内核索引实现方式简析
Lucene是apache软件基金会的一个子项目,是一个开源的的全文检索引擎工具包,是现在检索技术领域非常优秀的开源项目。本文针对Lucene倒排索引技术的特点进行了初步解析与分享。1 索引优化Lucene的倒排索引技术实现比关系型数据库要快很多,尤其是对多条件的过滤支持的非常好。传统关系型数据库采用B+树的方式存储索引,其主要目的是为了提高数据的更新效率。但当实际业务场景并不需要快速的更新...原创 2019-08-03 19:20:45 · 371 阅读 · 0 评论 -
artis索引体系梳理与分析
artis索引体系梳理与分析一 artis技术体系梳理artis目前主要使用场景是内存量级的存储,即数据文件可以完全存放在内存当中。1.1 内核1、支持关联表artis最大的特点是支持关联表的数据结构。其中每个表在逻辑和存储上是完全独立的,可以独立建立倒排。同时内核天然支持表间关联检索。2、mmap加载 + tmpfs加速artis采用mmap的方式打开索引文件。由于mmap加载的数据...原创 2019-06-13 22:50:38 · 477 阅读 · 0 评论 -
HA3搜索引擎梳理与分析
HA3搜索引擎梳理与分析一、HA3技术体系梳理HA3搜索引擎技术体系图1.1 内核网络访问存储:通过网络访问盘古系统(集中式存储)实现存储与计算分离,支持独立扩展,降低运维成本,提高稳定性热数据cache:支持使用mmap(lock/非lock方式)、blockcache对数据进行加载,实现对热数据的memcache自适应bitmap:支持根据检索热度自动将部分token转换为b...原创 2019-06-13 22:48:34 · 4464 阅读 · 0 评论