淘宝通过垂直拆分和水平拆分策略,有效地应对了亿级数据带来的挑战,下面我就重点来详解如何拆分亿级数据@mikechen
垂直拆分
首先,垂直拆分。
垂直拆分:就是按照业务功能模块来拆分数据库。
比如:对于淘宝这种亿级数据的电商平台来说,垂直拆分是一种非常常见的数据库优化策略。

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

首先,对淘宝的业务进行细致的分析,明确各个业务模块之间的关系,以及每个模块需要存储哪些数据。
然后,开始拆分,拆分后变成:
用户模块
存储用户信息、用户行为数据…….等。
商品模块
存储商品信息、商品属性、商品评价…….等。
订单模块
存储订单信息、支付信息、物流信息…….等。
推荐模块
存储用户偏好、推荐结果…….等。
最后,各个业务模块的数据,独立存储在不同的数据库、或数据库表中。
水平拆分
当垂直拆分后,如果单个数据库仍然面临性能瓶颈,淘宝会进一步实施水平拆分。
水平拆分,是数据库优化的一种常见手段,尤其适用于数据量庞大的系统,如:淘宝…等等大型网站。
