码迷,mamicode.com
首页 > 其他好文 > 详细

OceanBase架构浅析

时间:2015-09-03 10:20:05      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

  OceanBase是阿里集团研发的可扩展的关系数据库,实现了数千亿条记录、数百TB数据上的跨行跨表事务,截止到2012年8月,支持了收藏夹、直通车报表、天猫评价等OLTP和OLAP在线业务,线上数据量已经超过一千亿条。

  从模块划分的角度看,OceanBase可以划分为四个模块:主控服务器RootServer、更新服务器UpdateServer、基线数据服务器ChunkServer以及合并服务器MergeServer。OceanBase系统内部按照时间线将数据划分为基线数据和增量数据,基线数据是只读的,所有的修改更新到增量数据中,系统内部通过合并操作定期将增量数据融合到基线数据中。

  淘宝应用背景:

  淘宝收藏夹是淘宝线上应用之一,淘宝用户在其中保存自己感兴趣的宝贝(即商品,此外用户也可以收藏感兴趣的店铺)以便下次快速访问、对比和购买等,用户可以展示和编辑(添加/删除)自己的收藏。淘宝收藏夹数据库包含了收藏info表(一条一条的收藏信息)和收藏item表(被收藏的宝贝和店铺)等:

●收藏info表保存收藏信息条目,数百亿条。
●收藏item表保存收藏的宝贝和店铺的详细信息,数十亿条。
●热门宝贝可能被多达数十万买家收藏。

●每个用户可以收藏千个宝贝。

●宝贝的价格、收藏人气等信息随时变化。

 

如果用户选择按宝贝价格排序后展示,那么数据库需要从收藏item表中读取收藏的宝贝的价格等最新信息,然后进行排序处理。如果用户的收藏条目比较多(例如4000条),那么查询对应的item的时间会较长:假设如果平均每条item查询时间是5ms,则4000条的查询时间可能达到20s,如果真如此,则用户体验会很差。
如果把收藏的宝贝的详细信息实时冗余到收藏info表,则上述查询收藏item表的操作就不再需要了。但是,由于许多热门商品可能有几千到几十万人收藏,这些热门商品的价格等信息的变动可能导致收藏info表的大量修改,并压垮数据库。

OceanBase架构浅析

标签:

原文地址:http://www.cnblogs.com/LiJianBlog/p/4779934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!