如何处理庞大的短网址数据库

  mrw.so短网址运营已经超过3年,随着用户的逐渐增多,每天新生成的短链接数量接近200多万条。这是一个什么样的水平呢?也就是说每年新增短链接数量要接近10亿条。对于web服务器来说,没什么压力。但是一亿条数据对于数据库的调整真的是无比的艰难。目前mrw短网址数据库中总计有将近300亿条数据,三百亿条数据全部查询一遍大概需要5秒左右。但是,对于短网址用户来说,打开一天短链接费时5秒是一个无法接受的时间。短网址的核心就是快,稳定,安全。如果无法缩短短链接打开时间,提升用户体验,那么这个短网址就是一个失败的产品。所以我们从以下几点对数据进行了优化。

  首先,清理数据库中常年累月无人访问的短链接数据。在三百亿条短网址中,有超过50%的短链接超过2年了没有任何访问记录。这些数据占用着资源,浪费了广大用户的时间,所以我们首先对其进行了备份,然后删除这些数据。这个操作一下子使短网址的数据库从3百亿条缩减到了150亿条。(当然,我们事先备份了数据库,如果某些用户申请恢复这些短链接的访问,我们可以第一时间核实和处理)

  其次,web服务器和mysql服务器分离,因此我们选择了阿里云的RDS数据库。这样做的好处有很多:其一,减轻服务器的压力,是网站的运营更加的稳定,短链接打开速度非常快;其次,RDS数据有实时备份功能,万一网站崩溃,也能及时恢复数据库,保证用户数据的安全。

  最后,我们优化了数据库的字段和逻辑。原先设计的短网址数据非常复杂,功能繁多。但是我们发现很多功能基本上没有用户去使用。所以我们对其进行了精简。通过这个操作,我们将数据库的大小从2G缩减到了1个G,效果很明显。另外,我们也从web逻辑方面进行了优化,减少了数据库的访问频次,平均每条短链接的生成和访问能减少3次对数据库的请求。

  经过了以上几个方面的优化了改进,目前mrw短网址绝对可以满足任何用户的需求。