BigData复习笔记00:系统架构与常见业务

数据行业常用工具及常见业务介绍


stephen-dawson-qwtCeJ5cLYs-unsplash

Chapter00. 软件架构与业务场景

系统架构

系统工具

  • 底层架构:分布式文件系统
  • 存储:分布式数据库
  • 计算框架:离线批量/在线实时
  • 工具:SQL封装查询/机器学习
  • 调度:分布式锁
  • 算法

系统架构

Lambda架构

离线批量+实时处理

批量计算:延时高,可使用复杂算法多次处理,结果相对精确

实时计算:延时低,能够对新Item进行处理,实时推荐

Lambda架构结合批量计算和实时处理,能够给出相对完整的推荐结果

未命名文件

数据

数据来源基本来自两类:

PGC:专业机构

UGC:用户

物品(item)数据拥有不同属性(名称/描述/…),统称为元数据(metadata)

用户(user)数据拥有不同行为(点击/收藏/支付…)

业务场景

场景1:推荐流程

第一阶段(召回):用Token检索Item/用Item检索Item,本质是找候选的过程【粗排

第二阶段(过滤):把候选集合中劣质的Item过滤掉

第三阶段(排序):把好的Item排在前面【精排

第四阶段(截断):取Top-N(和产品形态有关)

简易版

  1. 用户User点击物品ItemA,触发埋点

  2. 推荐系统引擎接收到埋点信息,发出请求,在索引数据库寻找与ItemA相关的ItemB、ItemC、ItemD…,并将结果取Top-N返回推荐给User

  3. 索引数据库(NoSQL)日常维护

    1. 使用分词技术,将物品库中Item划分出各个特征,构建出正排表Item -> TokenA, TokenB, TokenC…

    2. 根据正排表特征,构建出倒排表Token -> ItemA, ItemB, ItermC…

      方式1:将倒排表写入索引库(搜索引擎搜索时根据分词token实时计算得出相关Item)

      方式2:根据正排表与倒排表,构建出ItemA -> ItemB, ItemC, ItermD… 写入索引库(索引库维护时根据Item分词token离线计算得出相关Item)

进阶版

  1. 用户User点击物品ItemA,触发埋点

  2. 推荐系统引擎接收到埋点信息,发出请求,在索引数据库A寻找与ItemA相关的ItemB、ItemC、ItemD…以算法1打分排序取Top-N1,在索引数据库B寻找与ItemA相关的Item1、Item2、Item3…以算法2打分排序取Top-N2,在索引数据库C寻找与ItemA相关的Item-I、Item-II、Item-III…

  3. 将不同索引库所得结果Item去除分数放入打分模型,按打分高低取出Top-N结果返回推荐给User

  4. 每个索引数据库(NoSQL)日常维护

    1. 使用分词技术,将物品库中Item划分出各个特征,按打分高低排序,构建出正排表Item -> TokenA: ScoreA, TokenB: ScoreB, TokenC: ScoreC

    2. 根据正排表特征,按打分高低排序,构建出倒排表Token -> ItemA: Score1, ItemB: Score2, ItermC: Score3

      方式1:将倒排表写入索引库(搜索引擎搜索时根据分词token实时计算得出相关Item)

      方式2:根据正排表与倒排表,构建出ItemA -> ItemB: Score-I, ItemC: Score-II, ItermD: Score-III… 写入索引库(索引库维护时根据Item分词token离线计算得出相关Item)

推荐流程

场景2:搜索引擎

常用搜索场景:人与内容(PC时代) -> 人与服务(移动时代)

各大门户网站利用平台优势聚合大量信息,为用户提供桥梁,“有求必应”

连接用户与内容,连接用户与服务

搜索引擎解决方案Demo:使用的基于MapReduce的建库系统(建库流)

  • 目的:构建供检索使用的索引和摘要
  • 输入:网页
  • 输出:索引和摘要
  • 处理方法:多轮Map-Reduce
  • 页面解析并处理
  • 页面属性输出正排表
  • 分析构建倒排表
  • 结果分析Merge合并

搜索引擎三段式结构

场景3:广告系统

  • 参与者:网民/广告主/平台
  • 广告触发:Keyword Targeting
    • 广告主/网民通过关键字表达需求
    • 网民输入query与广告主购买的Keyword进行匹配
  • CTR点击率预估:机器学习
    • 点击率用于广告排序
    • 提升搜索引擎收益
    • 保护网民利益
  • 广告排序:关键词广告拍卖
    • 每次动态广告展现都是一次动态的拍卖
    • 排序函数

基本流程:

  1. 产品发布,广告主向平台购买相对应关键词Token
  2. 平台将产品加入广告库,同时更新广告索引库
  3. 索引库维护,更新倒排表中产品排序
  4. 平台根据索引库产品排序,在平台展现产品广告给网民
  5. 网民主动点击广告,或根据网民搜索输入的query与广告库索引进行匹配检索,展现给网民

项目结构Demo

项目结构Demo



Alessa0 wechat
(> <)  中国儿童少年基金会  &  Alessa0.cn  谢谢您的帮助!
--------- 本文结束 感谢您的阅读 ---------

本文标题:BigData复习笔记00:系统架构与常见业务

文章作者:Alessa0

发布时间:2019年07月17日 - 16:07

最后更新:2019年08月05日 - 15:08

原始链接:https://alessa0.cn/posts/92bad4a9/

版权声明: CC BY-NC-ND 4.0 转载请保留原文链接及作者。

0%