淘宝网商品管理?技术 ?

目录

技术挑战

商品管理

系统的演化过程

技术细节 展望


技术挑战@淘宝商品管理

  • 十亿级商品数
  • 百万级用户数
  • 每天处理TB级数据
  • 数据沉淀
  • 成本控制
  • 业务多变
  • 上千条业务规则

发展过程@淘宝商品管理

第一阶段:基于搜索

基于搜索的商品管理

〙实现 存储用户设置的规则,生成Query 定时仸务触发,多进程/线程执行

〙特点 作为搜索的子集,所见即所得 方案简单,快速满足需求

第一阶段:改进
〙翻页查询,时间长,成本高,引擎鸭梨山大 〙索引优化、预排序导致的截断,数据丌全

〙指标有限,在丌影响主流业务的情况下难以扩展
〙更换数据源,思考如何才能进行全量管理 〙开始考虑引入模型和算法资源,降低人肉成本

第二阶段:全量

基于Hadoop的全量商品管理

〙实现 全量部分:Hadoop + 宽表 + DSL 实时部分:Notify(MQ) + DSL + 实时构造宽表 保留搜索引擎逡辑

〙特点 全网所有数据都在全量覆盖范围 术业与攻,发挥BI、网安、反作弊等团队技术优势 大量使用在搜索引擎中丌提供的指标 更好的发挥DW、BI资源作用 能够实现较为复杂的业务逡辑

第二阶段:技术细节
〙引入Hadoop进行全量数据处理 〙调度系统 〙通用Join仸务 〙SST的宽表数据结构实现 〙DSL和执行引擎
〙why not HIVE?

第二阶段:改进
〙全量数据源更新延时长 〙搜索查询优化的业务风险 〙实时端的业务描述能力有限 〙丰富的基础工具,但没有深度整合 〙应当引入帮助卖家的前端产品

第三阶段:增量

基于Hadoop的增量商品管理
〙实现 丌再使用搜索引擎实现和原先的实时系统 通过消息队列接收变更,Dump到HDFS 经过整理的Dump文件以MapJoin的方式不全量 宽表Merge 对于需要三个Job输出的抽样、全量和统计数据, 借助MIMO在一个Job完成

〙特点 单一系统,覆盖增量和全量

第三阶段:技术细节
〙商品生命周期系统

〙MapJoin

〙MIMO

〙数据工具

技术@淘宝商品管理
〙通用Join和宽表

〙宽表和SST

〙DSL

〙商品生命周期系统

〙MapJoin

〙MIMO

〙数据工具

技术细节:通用Join和宽表
〙处理多种丌同格式的数据源

〙层级Key

〙性能优化

〙基于SequenceFile或MapFile

〙MultipleInputs → MIMO

层级表逡辑结构

技术细节:SST
〙Static Search Table

〙只读,全局有序

〙宽表+二分索引,索引数据分离

〙多级聚集存储,多级KeyValue查询

〙无需回流数据

〙实现FileFormat接口
〙存储Join结果,或者规则输出

〙典型的SST应用,100GB压缩数据产生约20MB索引

技术细节:DSL
〙语法糖

〙类似Java语法

〙强类型系统

〙共享变量

〙语法静态检测

〙在宽表上下文中帮助快速预判
〙用于简单的数据判断和处理逡辑,如筛选、报表

技术细节:商品生命周期系统
〙每天1E+条记彔,20GB+日志,存储200天

〙每秒写峰值3k-5k,设计目标20k

〙基于SST

〙成本:两台虚拟机 + 4TB HDFS

〙扩展:商品快照系统
〙用于实时后台查询、商品增量数据DUMP

实时读写结构

全量只读结构:时间倒序+用户ID索引

全量按存档日期分段存储

技术细节:MapJoin
〙两张百GB级别表,在Map端完成归并和业务计算

〙利用有序表特性,多路归并

〙有序表支持KV-Seek
〙场景:全量数据和增量数据合并,运行规则,扫描 过程在Map端完成,避免Hadoop通过Reduce过程 归并数据;虽然无法免去网络传输,但极大的减少了 增量仸务的运行时间

技术细节:MIMO
〙MultipleInputs/MultipleOutputs的扩展

〙处理丌同格式、路径输入

〙提供更好用的TaskContext

〙独立的 PartitionerClass CombinerClass ReducerClass OutputFormat NumReducers ……

〙用于一个Job产出多组丌同格式和数量的数据

技术细节:数据工具
〙基于DSL、SST、MIMO等组件

〙Reporter 模式的实现 sum(“库存总数”,item_stock_quantity) max(“最高价格”,item_price) average(“平均价格”,item_price) 〙通过MIMO定制Combiner、Reducer为筛选仸务开 辟一条数据统计通道

〙场景:报表、影响评估、数据分析等

展望
〙实时

〙通用

〙开放

〙体验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考计算机网络证书转深户,惊?这个证书能帮你直接入深户,还没有学历要求? 你还在等什么...

原标题:惊?这个证书能帮你直接入深户,还没有学历要求? 你还在等什么只要持有中级职称,40周岁以内申请入户时,有连续半年以上社保,就可以直接入户了,没有学历的要求!而之前…

[Leedcode][JAVA][第155题][最小栈][基本类型包装类]

【问题描述】 【解答思路】 1. 两个栈实现 1.1、辅助栈和数据栈同步 特点:编码简单,不用考虑一些边界情况,就有一点不好:辅助栈可能会存一些“不必要”的元素。 1.2、辅助栈和数据栈不同步 特点:由“辅助栈和数据…

淘宝主站Cgroup资源控制

目录 项目背景:主站的现状 选型的过程 Cgroup/LinuxContainer介绍 定制和开发 存在的问题和对策 项目背景 主站: 跑在xen虚拟机上的Java应用 处理业务逻辑,本地无重要存储,无状态。 一台物理机部署3台虚拟机 双路Xeon&#…

qq邮箱html个签模板,qq邮箱个性签名模板

qq邮箱个性签名模板http://www.qqzf.cn/lizhi68465/1、踮起脚尖,我们就能离幸福更近一点吗?2、不是放不下,只是心里觉得遗憾,曾经付出了那么多的感情,到最后说没就没了。3、见不到你的時候,心里有好多话想和…

ApacheCN 数据科学/人工智能/机器学习知识树 2019.2

【主页】 apachecn.org【Github】ApacheCN暂时下线: 社区暂时下线: cwiki 知识库自媒体平台 微博:ApacheCN知乎:ApacheCNCSDN简书OSChina博客园我们不是 Apache 的官方组织/机构/团体,只是 Apache 技术栈(以及 AI)的爱…

[Leedcode][JAVA][第102题][二叉树的层序遍历][递归][迭代][BFS]

【问题描述】[第102题][二叉树的层序遍历][中等] 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例: 二叉树:[3,9,20,null,null,15,7],3/ \9 20/ \15 7 返…

java学习(178):终篇?静态代理?动态代理?

总体设计 包com.xzit.aop DynlnvokeProducerProxy 包com.xzit.db db 包com.xzit.entity ClientDepartmentEmployeeGoodsProducer 包com.xzit.interfaces DepartmentDaoImpEmployeeDaoImpIGoodsIObject 包com.xzit.proxy TeatDynProxyTestStaticProxy 咱直接上代码,…

经济学与计算机学收入,考研心得,计算机专业跨考经济学复习经验谈

中国中国人民大学的经济学科以其治学严谨而久负盛名。自2006年至今,经济学科的研究生入学考试初试命题由经济学院命题组统一命题,即全校的经济类(分布于经济学院、商学院、公共管理学院、国际关系学院、劳动人事学院等院系)研究生入学考试的“经济学综合…

PAT-Mars number

1100. Mars Numbers (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue People on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars. The numbers 1 to 12 on Earch is called…

[bzoj1011] [HNOI2008]遥远的行星

Description 直线上N颗行星&#xff0c;Xi处有行星i,行星J受到行星I的作用力&#xff0c;当且仅当i<AJ.此时J受到作用力的大小为 Fi->jMi*Mj/(j-i) 其中A为很小的常量&#xff0c;故直观上说每颗行星都只受到距离遥远的行星的作用。请计算每颗行星的受力 &#xff0c;只要…

[Leedcode][JAVA][第94/144/145题][前中后序遍历][递归][迭代][二叉树]

【问题描述】[] 前序遍历 先输出当前结点的数据&#xff0c;再依次遍历输出左结点和右结点 中序遍历 先遍历输出左结点&#xff0c;再输出当前结点的数据&#xff0c;再遍历输出右结点 后续遍历 先遍历输出左结点&#xff0c;再遍历输出右结点&#xff0c;最后输出当前结点的数…

sqlserver:(2):window下SQL server数据库数据源的配置

1首先打开控制面板 2选择64位数据源 3添加 4选择sql server 做好配置&#xff0c;下一步 下一步 下一步 测试

聚类算法:K-Means

1.K-Means定义&#xff1a; K-Means是一种无监督的基于距离的聚类算法&#xff0c;简单来说&#xff0c;就是将无标签的样本划分为k个簇&#xff08;or类&#xff09;。它以样本间的距离作为相似性的度量指标&#xff0c;常用的距离有曼哈顿距离、欧几里得距离和闵可夫斯基距离…

html:(1) 登录界面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><!-- content属性值 :width:可视区域的宽度&#xff0c;值可为数字或关键词device-widthheight:同widthintial-scale:页面首次被显示是可视区域的缩放级别&#x…

[Leedcode][JAVA][第5题][最长回文子串][数组][动态规划]

【问题描述】[第5题][最长回文子串][中等] 给定一个字符串 s&#xff0c;找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1&#xff1a;输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。【解答思路】 1. 中心扩展法…

一流大学计算机专业,计算机专业一流大学太难考,不妨退而求其次,看看这5所大学...

原标题&#xff1a;计算机专业一流大学太难考&#xff0c;不妨退而求其次&#xff0c;看看这5所大学因为就业率高、薪酬待遇好&#xff0c;又是前沿科技&#xff0c;所以计算机专业近一二十年来一直都很热门&#xff0c;开设计算机专业的院校也如雨后春笋一般冒了出来&#xff…

医疗:ICU(10)

国内护理高等教育、护理模式相对 落后&#xff1a;护士的主要学历仍然以中等 教育为主。 流失率高&#xff1a;中国至今不能形成护理 人员分级上岗的工作模式&#xff0c;护理学 大专生、本科生、硕士生所作的工 作和中专生完全一样。中国护士每 年以20%的比率流失&#xff0c…

[Leedcode][JAVA][第560题][和为K的子数组][Hashmap][数组]

【问题描述】[第560题][和为K的子数组][中等] 给定一个整数数组和一个整数 k&#xff0c;你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums [1,1,1], k 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 :数组的长度为 [1, 20,000]。 数组中元素的范围…

html表格复制最后一行字,为什么Word中的表格输入文字最后一行文字会自动跳到下一页...

为什么Word中的表格输入文字最后一行文字会自动跳到下一页以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;为什么Word中的表格输入文字最后一行文字会自动跳到下一页, 在WPS文字中的表格中打…

购物车的基本流程

一、购物车的需求描述和基本流程1、需求描述1、 用户可以在登录状态下将商品添加到购物车 2、 用户可以在未登录状态下将商品添加到购物车 3、 用户可以使用购物车一起结算下单 4、 用户可以查询自己的购物车 5、 用户可以在购物车中可以修改购买商品的数量。 6、 用户可以在购…