SlideShare a Scribd company logo
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

More Related Content

PDF
C store底层存储设计
PPT
内存数据库[1]
PPT
数据库高可用架构
PPTX
大型电商的数据服务的要点和难点
PPTX
数据架构方面的一些探讨
PDF
Mysql HandleSocket技术在SNS Feed存储中的应用
PDF
No sql@vip new
PDF
自助工具助Dba提升效率
C store底层存储设计
内存数据库[1]
数据库高可用架构
大型电商的数据服务的要点和难点
数据架构方面的一些探讨
Mysql HandleSocket技术在SNS Feed存储中的应用
No sql@vip new
自助工具助Dba提升效率

What's hot (8)

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

Viewers also liked (16)

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

Similar to 基于 MySQL 的B2C电商系统前端数据层架构 (20)

PPT
大规模网站架构
PDF
基于My sql的分布式数据库实践
PPT
手机之家新系统介绍及架构分享
PPT
淘宝网架构变迁和挑战(Oracle架构师日)
PDF
Dreaming Infrastructure
PPT
Java@taobao
PPT
imobile-beta技术沙龙
PPTX
Ocean base 千亿级海量数据库-日照
PPTX
淘宝双11双12案例分享
PPTX
浅析分布式存储架构—设计自己的存储- 58同城徐振华
DOC
3.架构设计篇2
PDF
美丽说的架构发展与变迁 New
PPT
如何架构和开发高性能,高伸缩性Web 应用系统
PPT
低成本和高性能MySQL云架构探索
PDF
高可用可扩展数据层 - MySQL架构实践
PPTX
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
PDF
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
PDF
大众点评网的技术变迁之路
PPTX
05 杨志丰
PPTX
海量数据计算架构实现
大规模网站架构
基于My sql的分布式数据库实践
手机之家新系统介绍及架构分享
淘宝网架构变迁和挑战(Oracle架构师日)
Dreaming Infrastructure
Java@taobao
imobile-beta技术沙龙
Ocean base 千亿级海量数据库-日照
淘宝双11双12案例分享
浅析分布式存储架构—设计自己的存储- 58同城徐振华
3.架构设计篇2
美丽说的架构发展与变迁 New
如何架构和开发高性能,高伸缩性Web 应用系统
低成本和高性能MySQL云架构探索
高可用可扩展数据层 - MySQL架构实践
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
大众点评网的技术变迁之路
05 杨志丰
海量数据计算架构实现

More from Sky Jian (9)

PPSX
MySQL性能调优最佳实践
PDF
浅谈 MySQL 性能调优
PPTX
浅谈数据库优化
PPT
MySQL Explain
PDF
My sql cluster 基础
PDF
高可用可扩展数据库架构方案探讨
PDF
Life Of A Dirty Page Inno Db Disk Io
PDF
My Sql Performance In A Cloud
PPT
Oracle Data Buffer Cache
MySQL性能调优最佳实践
浅谈 MySQL 性能调优
浅谈数据库优化
MySQL Explain
My sql cluster 基础
高可用可扩展数据库架构方案探讨
Life Of A Dirty Page Inno Db Disk Io
My Sql Performance In A Cloud
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