您当前的位置: 首页 > 军事

站长窥探QQ基础数据库架构演变史

2018-10-26 14:09:06

15:33 来源:腾讯大讲堂 :fengqiyue【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

作为腾讯不断增长的过程中,它经历了那些困难,又是如何解决的?如今,它的架构是怎么样的?4月10日晚,腾讯大讲堂《基础数据库架构演变之路》活动在武汉人文馆主厅举办。超过1000位学生和业内人士到场参加,整个会议厅人山人海。

廖念波先生从 Basic DB是什么讲起,开始了本次的讲座。

Basic DB是什么?是用户帐号(用户密码与资料)与关系链等基础数据的分布式海量存储集群。是 IM业务的后台DB;是腾讯几乎所有其他业务的基础,提供用户帐号和关系链服务。它与 IM 集群并列为腾讯核心、历史久的两大集群。

早期的难题

在2000年, Basic DB将每300万连续号码存储在一个机器上。我们碰到的问题是在登录比较频繁的情况下,磁盘非常忙,登录超时。找到了影响磁盘随机寻址能力的因素,我们提出了解决方案在进程空间内,动态分配一些内存,将用户热点数据cache到内存中。使得处理能力显着提升,单机能够处理千次每秒的请求。

时间进入2002年,随着机器台数增多,死机是家常便饭。 Basic DB通过IDC级容灾、数据复制等方法将(500+)*2台机器;数百亿的关系链,数十亿的账户数;每秒上百万次读,数万次写的数据库的全年可用性做到了99.99%。

如何做到高可用?

1、IDC级的容灾

2、灰度发布

3、强监控,及时处理

Bison提到,随着时代的变迁,需求不断增加, Basic DB走入了V2.0。当前的需求与DB能力的脱节;一地的机房已饱和,异地部署逼在眉睫!新增一个帐号相关字段,需要2个月,把内存全部重新load一遍,风险极高。老的架构不能很好的支持异地部署,因此 Basic DB V2.0应运而生。

在演讲中Bison特别强调,要做到产品特性灵活扩展,关键的是用户数据结构的灵活性! Basic DB在V2.0版本中,对数据结构扩展性上进行了大量优化。现场Bison例举了一个很简单的例子:采用XML开式存储用户数据的优劣性。存储海量数据的 Basic DB,不适宜采用类似XML方式进行存储,原因是当存储量超过亿级时,冗余信息将极大占用通讯带宽!团队通过tag整数化、必选的定长字段共用一个tag等手段,终让DB有效载荷相对XML模式提升了 10倍,pack/unpack效率提升了100倍!

Bison列举的一个简单XML存储例子

在下一个部分,Bison主要提到了大家比较关心的 Basic DB安全性问题,其中一个非常重要的点就是异地部署。他特别强调,数据安全关键的是有一套简单健壮、适应窄带化的数据复制机制。 Basic DBV2.0通过类似mysql复制机制做到了简单健壮,带宽占用窄带化,在专线故障情况下,流量可以在内外灵活切换。目前在全国各地都有部署。

接下来,廖念波先生给大家介绍了优化了分片(sharding)方式、超长关系链解决方法、过载保护等方面的内容,给大家全面展示了腾讯的一些技术积累和总结。

文章来源:腾讯大讲堂

查看更多相似文章

蒲可可好不好
养森瘦瘦包代理
数控弯箍机
推荐阅读
图文聚焦