淘宝亿级数据拆分全攻略:如何应对海量数据?

淘宝通过垂直拆分和水平拆分策略,有效地应对了亿级数据带来的挑战,下面我就重点来详解如何拆分亿级数据@mikechen

垂直拆分

首先,垂直拆分。

​垂直拆分:就是按照业务功能模块来拆分数据库。

比如:对于淘宝这种亿级数据的电商平台来说,垂直拆分是一种非常常见的数据库优化策略。

淘宝亿级数据拆分全攻略:如何应对海量数据?-mikechen

早期,淘宝将一个大的数据库拆分成多个小的数据库,每个数据库对应一个特定的业务模块,如:用户模块、商品模块、订单模块…等。

淘宝亿级数据拆分全攻略:如何应对海量数据?-mikechen

首先,对淘宝的业务进行细致的分析,明确各个业务模块之间的关系,以及每个模块需要存储哪些数据。

然后,开始拆分,拆分后变成:

用户模块

存储用户信息、用户行为数据…….等。

商品模块

存储商品信息、商品属性、商品评价…….等。

订单模块

存储订单信息、支付信息、物流信息…….等。

推荐模块

存储用户偏好、推荐结果…….等。

最后,各个业务模块的数据,独立存储在不同的数据库、或数据库表中。

 

水平拆分

当垂直拆分后,如果单个数据库仍然面临性能瓶颈,淘宝会进一步实施水平拆分。

水平拆分,是数据库优化的一种常见手段,尤其适用于数据量庞大的系统,如:淘宝…等等大型网站。

淘宝亿级数据拆分全攻略:如何应对海量数据?-mikechen

评论交流
    说说你的看法