Youku summary

Youku

statistics

2010年,pv达到17亿。

database evolution

  • 单台数据库服务器
  • 主从复制
  • SSD优化
  • 垂直分库
  • 水平分库

The master and slave duplication can bring some performance bottleneck.

  • 写入无法扩展
  • 写入无法缓存
  • 复制延时
  • 锁表率上升
  • 表变大,缓存率下降

vertical sharding

优点:业务切割,不同的业务数据放到不同的数据库服务器。不会有影响,并且有负载分流作用,大大提升了数据库的吞吐能力。

缺点:某些业务或多或少的存在联系,并且不能解决单张数据表数据暴涨问题。

horizontal sharding

将用户按照一定的规则(id hash)分组,一组用户的数据放到一个数据库分片中,即一个shard。这样随着用户增多,只需更多的服务器。


查找用户所属sharding,可以建立一张用户和shard关系的表,每次先去查询获得所在的shard id。

水平分库,带来另外一个问题,如何解决跨shard的查询,尽量不夸shard查询,也可以通过多维分片索引、分布式索搜引擎,最差的可以通过分布式数据库查询(这个性能消耗比较大)。

cach

youku没有使用内存缓存,内存缓存缺点如下。

  • 内存拷贝,内存锁
  • 删除内容时,缓存的处理比较麻烦

CDN

youku采用了CDN确保用户访问质量。CDN可以保证分布在各地的用户进行就近访问。

posted @ 2015-12-10 22:13  sam_rui  阅读(141)  评论(0编辑  收藏  举报