SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
B2C电商系统前端数据层架构
            - 基于分布式 MySQL 数据库



                 简朝阳 @麦包包
                    2011.4.23
            http://www.mbaobao.com




2011/4/23             1
基于 MySQL 的 B2C电商系统前端数据层架构


       简朝阳(sky000)
       Oracle ACE (Expertise MySQL)
       技术保障部 @麦包包


       http://isky000.com
       http://twitter.com/sky000
       http://weibo.com/isky000




2011/4/23                     2
主题内容


      1. 基于MySQL的常见高可用可扩展方案
            业界常见高可用可扩展架构分析
      2. 基于日志解析的准实时同步对架构进行扩展

            结合 B2C 电商的特点,利用开放的复制协议对常规架构进行扩展
      3. 基于用户访问行为的实时推荐分析系统数据层

            作为电商,除了让用户方便的找到想要的产品的同时,还
            希望让用户尽可能多的看到可能感兴趣的产品。该如何构
            建一个分析推荐引擎的数据层?
      4. Q/A




2011/4/23                 3
常见架构-高可用


            • 硬件高可用
             • 冗余
             主机/储存/电源/网络 … …
            • 数据高可用
             • 共享
             SAN/NAS/iScsi/SAS … …
             • 冗余
             Replication/DadaSyncer … …




2011/4/23                  4
高可用架构 – 共享




2011/4/23       5
高可用架构 – 冗余




2011/4/23       6
高可用架构 – 冗余




2011/4/23       7
高可用架构 – 冗余




2011/4/23       8
高可用架构 – 冗余




2011/4/23       9
常见架构-可扩展


            • 向上扩展
             • 升级/增加/更换硬件
             CPU/内存/磁盘 … …
            • 向外扩展
             • Sharding
             垂直/水平/ … …
             • Replication
             • Cache/Search



2011/4/23                    10
可扩展架构 – Sharding




2011/4/23          11
可扩展架构 – Sharding




2011/4/23          12
可扩展架构 – Sharding




2011/4/23          13
可扩展架构 – Cache/Search




2011/4/23            14
架构扩展- B2C网站特点

      • 产品数量基数不大,变更频率较低
            • SKU数量基数不会太大,一般不会过千万级别
            • SKU信息变化频率较小,基本上都是公司内部运营人员操
              作,并发量小
      • 产品数据并发访问量大
            • 在线平台并发访问量大,且高峰时段集中
      • 系统整体读多写少
            • 读远远大于写,甚至超过10:1
      • 和后端仓储库存物流交互复杂
            • 和后端系统的交互较多,逻辑比较复杂,系统间数据同步
              实时性要求较高
      • ……
2011/4/23                15
架构扩展- B2C网站应对策略

      • 写入集中化,读取离散化
            • 写入操作集中到一个核心数据库,方便后台管理维护
            • 利用 MySQL 开发的复制协议,实时获取 MySQL Binlog
              信息按 模块/类别/… 将数据分发至各个提供读取服务
              的数据库节点
      • 交易库与产品库分离
            • 产品库读多写少,交易库写多读少,优化模型不一样,
              可用性要求也不一样。
            • 利用Binlog进行数据同步/分发,提高复制灵活度和效率
      • 减少和后端的交互节点
            • 跨系统交互维护成本高,开发复杂,出现异常的概率也
              高。减少交互节点可以充分极大减少系统异常概率和交
              互系统开发和维护成本

2011/4/23                   16
架构扩展- 写入集中,读取离散




2011/4/23          17
架构扩展- 交易库/产品库分离




2011/4/23          18
架构扩展- 减少和后端的交互节点




2011/4/23          19
分析推荐系统-必要性


      • 提升用户体验
            • 降低用户查找成本,节约用户搜索时间
            • 提升用户友好度,提升品牌形象
      • 提升销量
            • 提高滞销品曝光率,提高因曝光率不够导致滞销的产品
              销量。
            • 根据用户购买行为提升相关配套产品曝光率和销量
            • 根据用户兴趣推荐相关产品激发用户购买欲
      • … …




2011/4/23               20
分析推荐系统-技术难点

      • 基础数据难以收集
            • 该收集哪些数据?哪些有用哪些没用?
            • 数据量大,如何有效过滤无用数据?
            • 收集范围广,如何降低收集程序的影响?
      • 收集结果难以分析
            • 收集结果数据量大,通过传统的关系型数据库或者是常
              规日志分析工具难以处理。
            • 分析模型各家都不一,没有合适的商业软件满足需求。
      • 分析结果难以实时呈现
            • 数据分析运算复杂,分析需要消耗较大量资源
            • 用户在线时间不会太长,分析结果难以从离线分析系统
              及时反馈在前台应用

2011/4/23               21
分析推荐系统-架构组成


     • 以关系型结构化方式将用户行为记录在MySQL中

     • 以 BlackHole 存储引擎作为行为记录的基础表引擎

     • 以 MySQL Infobright 对行为数据进行存储/分析

     • 实时解析Binlog将行为数据发送至分析引擎数据中心

     • 应用以标准的 SQL 接口对行为数据进行分析




2011/4/23            22
分析推荐系统-数据层架构




2011/4/23        23
分析推荐系统-理由

     • 为什么不直接以文件存储用户行为信息
            • 统一存储,统一接口,统一维护

     • 为什么不用Hadoop/Greenplum等分布式计算系统

            • 离线运算能力强,并发能力弱

     • 为什么选择 MySQL Infobright
            • 标准 SQL 接口
            • 列式存储,压缩比大
            • 并发能力较高,可提供在线运算
            • 知识网格技术/先进的优化器
            • … …
2011/4/23                 24
分析推荐系统-Infobright




2011/4/23           25
END




                  Q/A

            http://isky000.com




2011/4/23           26

Weitere ähnliche Inhalte

Was ist angesagt?

基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开YANGL *
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践jackbillow
 
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.pptFrank Cai
 
高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍uptodate
 
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 SaacChao Zhu
 
新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍helbreathszw
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 
艺龙旅行网架构案例分享-Qcon2011
艺龙旅行网架构案例分享-Qcon2011艺龙旅行网架构案例分享-Qcon2011
艺龙旅行网架构案例分享-Qcon2011Yiwei Ma
 

Was ist angesagt? (8)

基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开基于My sql的分布式数据库实践 公开
基于My sql的分布式数据库实践 公开
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
 
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt
 
高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍高可用数据库平台及日常管理经验介绍
高可用数据库平台及日常管理经验介绍
 
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
 
新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍新浪高可用数据库平台及日常管理经验介绍
新浪高可用数据库平台及日常管理经验介绍
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 
艺龙旅行网架构案例分享-Qcon2011
艺龙旅行网架构案例分享-Qcon2011艺龙旅行网架构案例分享-Qcon2011
艺龙旅行网架构案例分享-Qcon2011
 

Andere mochten auch

基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展Sky Jian
 
MySQL Tuning For CPU Bottleneck
MySQL Tuning For CPU BottleneckMySQL Tuning For CPU Bottleneck
MySQL Tuning For CPU BottleneckSky Jian
 
Oracle my sql-or-nosql
Oracle my sql-or-nosqlOracle my sql-or-nosql
Oracle my sql-or-nosqlSky Jian
 
Linux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLLinux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLYoshinori Matsunobu
 
Moje poczatki-w-programie-partnerskim darmowy ebook pdf
Moje poczatki-w-programie-partnerskim darmowy ebook pdfMoje poczatki-w-programie-partnerskim darmowy ebook pdf
Moje poczatki-w-programie-partnerskim darmowy ebook pdfmazur16111
 
Global Strategy Elder Abuse
Global Strategy Elder AbuseGlobal Strategy Elder Abuse
Global Strategy Elder AbuseSilvia Straka
 
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...European School of Oncology
 
Bab i ka ijaaaaaaaaaaaaaa
Bab i ka ijaaaaaaaaaaaaaaBab i ka ijaaaaaaaaaaaaaa
Bab i ka ijaaaaaaaaaaaaaaAzmi Azmi
 
Evaluacion delprimer quimestre
Evaluacion delprimer quimestreEvaluacion delprimer quimestre
Evaluacion delprimer quimestremayurirami
 
Lesson plan week 5: Stella
Lesson plan week 5: StellaLesson plan week 5: Stella
Lesson plan week 5: StellaIrina K
 
루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날Sukjoon Kim
 
January 11, 2011
January 11, 2011January 11, 2011
January 11, 2011RAE0817
 

Andere mochten auch (16)

基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展
 
MySQL Tuning For CPU Bottleneck
MySQL Tuning For CPU BottleneckMySQL Tuning For CPU Bottleneck
MySQL Tuning For CPU Bottleneck
 
Oracle my sql-or-nosql
Oracle my sql-or-nosqlOracle my sql-or-nosql
Oracle my sql-or-nosql
 
Linux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQLLinux and H/W optimizations for MySQL
Linux and H/W optimizations for MySQL
 
Moje poczatki-w-programie-partnerskim darmowy ebook pdf
Moje poczatki-w-programie-partnerskim darmowy ebook pdfMoje poczatki-w-programie-partnerskim darmowy ebook pdf
Moje poczatki-w-programie-partnerskim darmowy ebook pdf
 
Global Strategy Elder Abuse
Global Strategy Elder AbuseGlobal Strategy Elder Abuse
Global Strategy Elder Abuse
 
Milieu
MilieuMilieu
Milieu
 
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...
ECCLU 2011 - B. Tombal - Prostate cancer: From biology to live expectancy - S...
 
Utplassering 2012
Utplassering 2012Utplassering 2012
Utplassering 2012
 
Bab i ka ijaaaaaaaaaaaaaa
Bab i ka ijaaaaaaaaaaaaaaBab i ka ijaaaaaaaaaaaaaa
Bab i ka ijaaaaaaaaaaaaaa
 
Evaluacion delprimer quimestre
Evaluacion delprimer quimestreEvaluacion delprimer quimestre
Evaluacion delprimer quimestre
 
Lesson plan week 5: Stella
Lesson plan week 5: StellaLesson plan week 5: Stella
Lesson plan week 5: Stella
 
루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날
 
Aprendizaje autonomo
Aprendizaje autonomoAprendizaje autonomo
Aprendizaje autonomo
 
Temario taller 4
Temario taller 4Temario taller 4
Temario taller 4
 
January 11, 2011
January 11, 2011January 11, 2011
January 11, 2011
 

Ähnlich wie 基于 MySQL 的B2C电商系统前端数据层架构

MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例郁萍 王
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraJunchi Zhang
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdfmarkmind
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器Feng Yu
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多ITband
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优thinkinlamp
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Feng Yu
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍mysqlops
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pubChao Zhu
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研klandor
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconYiwei Ma
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路jeffz
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)Shanda innovation institute
 

Ähnlich wie 基于 MySQL 的B2C电商系统前端数据层架构 (20)

MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud era
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
Altibase介绍
Altibase介绍Altibase介绍
Altibase介绍
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qcon
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
 

Mehr von Sky Jian

MySQL性能调优最佳实践
MySQL性能调优最佳实践MySQL性能调优最佳实践
MySQL性能调优最佳实践Sky Jian
 
浅谈 MySQL 性能调优
浅谈 MySQL 性能调优浅谈 MySQL 性能调优
浅谈 MySQL 性能调优Sky Jian
 
浅谈数据库优化
浅谈数据库优化浅谈数据库优化
浅谈数据库优化Sky Jian
 
高可用可扩展数据层 - MySQL架构实践
高可用可扩展数据层 - MySQL架构实践高可用可扩展数据层 - MySQL架构实践
高可用可扩展数据层 - MySQL架构实践Sky Jian
 
MySQL Explain
MySQL Explain MySQL Explain
MySQL Explain Sky Jian
 
My sql cluster 基础
My sql cluster   基础My sql cluster   基础
My sql cluster 基础Sky Jian
 
高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨Sky Jian
 
Life Of A Dirty Page Inno Db Disk Io
Life Of A Dirty Page Inno Db Disk IoLife Of A Dirty Page Inno Db Disk Io
Life Of A Dirty Page Inno Db Disk IoSky Jian
 
My Sql Performance In A Cloud
My Sql Performance In A CloudMy Sql Performance In A Cloud
My Sql Performance In A CloudSky Jian
 
Oracle Data Buffer Cache
Oracle Data Buffer CacheOracle Data Buffer Cache
Oracle Data Buffer CacheSky Jian
 

Mehr von Sky Jian (10)

MySQL性能调优最佳实践
MySQL性能调优最佳实践MySQL性能调优最佳实践
MySQL性能调优最佳实践
 
浅谈 MySQL 性能调优
浅谈 MySQL 性能调优浅谈 MySQL 性能调优
浅谈 MySQL 性能调优
 
浅谈数据库优化
浅谈数据库优化浅谈数据库优化
浅谈数据库优化
 
高可用可扩展数据层 - MySQL架构实践
高可用可扩展数据层 - MySQL架构实践高可用可扩展数据层 - MySQL架构实践
高可用可扩展数据层 - MySQL架构实践
 
MySQL Explain
MySQL Explain MySQL Explain
MySQL Explain
 
My sql cluster 基础
My sql cluster   基础My sql cluster   基础
My sql cluster 基础
 
高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨
 
Life Of A Dirty Page Inno Db Disk Io
Life Of A Dirty Page Inno Db Disk IoLife Of A Dirty Page Inno Db Disk Io
Life Of A Dirty Page Inno Db Disk Io
 
My Sql Performance In A Cloud
My Sql Performance In A CloudMy Sql Performance In A Cloud
My Sql Performance In A Cloud
 
Oracle Data Buffer Cache
Oracle Data Buffer CacheOracle Data Buffer Cache
Oracle Data Buffer Cache
 

基于 MySQL 的B2C电商系统前端数据层架构

  • 1. B2C电商系统前端数据层架构 - 基于分布式 MySQL 数据库 简朝阳 @麦包包 2011.4.23 http://www.mbaobao.com 2011/4/23 1
  • 2. 基于 MySQL 的 B2C电商系统前端数据层架构 简朝阳(sky000) Oracle ACE (Expertise MySQL) 技术保障部 @麦包包 http://isky000.com http://twitter.com/sky000 http://weibo.com/isky000 2011/4/23 2
  • 3. 主题内容 1. 基于MySQL的常见高可用可扩展方案 业界常见高可用可扩展架构分析 2. 基于日志解析的准实时同步对架构进行扩展 结合 B2C 电商的特点,利用开放的复制协议对常规架构进行扩展 3. 基于用户访问行为的实时推荐分析系统数据层 作为电商,除了让用户方便的找到想要的产品的同时,还 希望让用户尽可能多的看到可能感兴趣的产品。该如何构 建一个分析推荐引擎的数据层? 4. Q/A 2011/4/23 3
  • 4. 常见架构-高可用 • 硬件高可用 • 冗余 主机/储存/电源/网络 … … • 数据高可用 • 共享 SAN/NAS/iScsi/SAS … … • 冗余 Replication/DadaSyncer … … 2011/4/23 4
  • 10. 常见架构-可扩展 • 向上扩展 • 升级/增加/更换硬件 CPU/内存/磁盘 … … • 向外扩展 • Sharding 垂直/水平/ … … • Replication • Cache/Search 2011/4/23 10
  • 15. 架构扩展- B2C网站特点 • 产品数量基数不大,变更频率较低 • SKU数量基数不会太大,一般不会过千万级别 • SKU信息变化频率较小,基本上都是公司内部运营人员操 作,并发量小 • 产品数据并发访问量大 • 在线平台并发访问量大,且高峰时段集中 • 系统整体读多写少 • 读远远大于写,甚至超过10:1 • 和后端仓储库存物流交互复杂 • 和后端系统的交互较多,逻辑比较复杂,系统间数据同步 实时性要求较高 • …… 2011/4/23 15
  • 16. 架构扩展- B2C网站应对策略 • 写入集中化,读取离散化 • 写入操作集中到一个核心数据库,方便后台管理维护 • 利用 MySQL 开发的复制协议,实时获取 MySQL Binlog 信息按 模块/类别/… 将数据分发至各个提供读取服务 的数据库节点 • 交易库与产品库分离 • 产品库读多写少,交易库写多读少,优化模型不一样, 可用性要求也不一样。 • 利用Binlog进行数据同步/分发,提高复制灵活度和效率 • 减少和后端的交互节点 • 跨系统交互维护成本高,开发复杂,出现异常的概率也 高。减少交互节点可以充分极大减少系统异常概率和交 互系统开发和维护成本 2011/4/23 16
  • 20. 分析推荐系统-必要性 • 提升用户体验 • 降低用户查找成本,节约用户搜索时间 • 提升用户友好度,提升品牌形象 • 提升销量 • 提高滞销品曝光率,提高因曝光率不够导致滞销的产品 销量。 • 根据用户购买行为提升相关配套产品曝光率和销量 • 根据用户兴趣推荐相关产品激发用户购买欲 • … … 2011/4/23 20
  • 21. 分析推荐系统-技术难点 • 基础数据难以收集 • 该收集哪些数据?哪些有用哪些没用? • 数据量大,如何有效过滤无用数据? • 收集范围广,如何降低收集程序的影响? • 收集结果难以分析 • 收集结果数据量大,通过传统的关系型数据库或者是常 规日志分析工具难以处理。 • 分析模型各家都不一,没有合适的商业软件满足需求。 • 分析结果难以实时呈现 • 数据分析运算复杂,分析需要消耗较大量资源 • 用户在线时间不会太长,分析结果难以从离线分析系统 及时反馈在前台应用 2011/4/23 21
  • 22. 分析推荐系统-架构组成 • 以关系型结构化方式将用户行为记录在MySQL中 • 以 BlackHole 存储引擎作为行为记录的基础表引擎 • 以 MySQL Infobright 对行为数据进行存储/分析 • 实时解析Binlog将行为数据发送至分析引擎数据中心 • 应用以标准的 SQL 接口对行为数据进行分析 2011/4/23 22
  • 24. 分析推荐系统-理由 • 为什么不直接以文件存储用户行为信息 • 统一存储,统一接口,统一维护 • 为什么不用Hadoop/Greenplum等分布式计算系统 • 离线运算能力强,并发能力弱 • 为什么选择 MySQL Infobright • 标准 SQL 接口 • 列式存储,压缩比大 • 并发能力较高,可提供在线运算 • 知识网格技术/先进的优化器 • … … 2011/4/23 24
  • 26. END Q/A http://isky000.com 2011/4/23 26