登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发评论 > 正文

1200服务器,1000亿hits,揭秘新浪数据库

2017-05-09 16:18    it168网站原创  作者: 田晓旭 编辑: 田晓旭

  【IT168 评论】利用碎片化时间查看资讯已经成为互联网原住民的生活方式,据大数据服务QuestMobile报告称:2016年底,综合资讯行业规模已达5.3亿,同比增长率近70%,超过一半的移动网民都在使用新闻App。

  4月18日,QuestMobile发布了2017春季报告,新浪新闻App作为新浪网最重要的分支之一,月用户规模(月活)达6056万,同比增长138.3%,中高消费水平用户占比75.4%。面对如此体量,新浪网的后端数据库如何支持?在数据库选型上有哪些标准?数据安全又如何把控?带着这些疑问,我们访问了新浪数据库平台高级DBA赵景波。

1200服务器,1000亿hits,揭秘新浪数据库

  赵景波,先后就职于杭州沃趣科技、新浪网,从事Oracle、MySQL、Redis相关方面的运维工作。目前为新浪数据库平台高级DBA,主要负责新浪数据库平台Redis自动化运维、kafka运维等相关方面工作。

  揭秘新浪网的数据库构成

  据赵景波介绍,目前新浪网的数据库平台共有9个主要IDC,1200+服务器,7k+实例,1000+亿 hits/天,总存储容量1PB+。为了更好的满足公司业务需求,新浪网采取了不同的数据库平台和数据系统服务平台来提供相关的数据服务:

  ·基于MySQL的关系型数据库存储服务

  ·基于Redis的KV存储服务

  ·基于Mongodb的文档存储服务

  ·基于Hbase半结构化大数据存储服务

  ·基于Memcached的缓存服务

  ·基于mcq和kafaka的消息队列服务

  ·zookeeper服务,业务如果有数据发布/订阅、命名服务,选举等需求也可以申请使用。

  新浪网作为国内主流的新闻门户网站,业务场景繁多,不同的业务场景是如何进行数据库选型的呢?赵景波表示因为MySQL是一个很成熟的产品,其插件式的引擎特性也能满足大多数场景要求,再加上它的社区相当活跃,人才储备也最丰富,所以如果业务场景适合会优先选择MySQL。但是如果业务场景有某些特殊需求,我们也会考虑其他数据库,例如业务场景只是简单的kv存储模型、或者业务对于响应时间要求极高,再或者业务需要schemaless类型的数据库以便于业务快速开发迭代等等。

  目前新浪网平台不仅提供MySQL服务,还同时提供MongoDB、Redis、Memcached、Hbase等服务。赵景波为我们介绍了新浪网内部服务发布系统的变迁,早年新浪网发布的新闻都是用MySQL存储,随着业务发展,个性化的需求与日俱增,业务表结构变更(添加字段)的需求也越来越多,此时MySQL固定schema的存储模型无法满足业务快速开发迭代的需求,所以发布系统的新闻数据就从MySQL全部迁移到了MongoDB。另外,新闻推荐push等业务对部分接口的响应时间要求很高,所以就采用了Redis或者Memcached这种内存KV缓存来解决业务的需求。

  新浪网如何把控数据安全

  对于互联网公司来说,数据安全可以说是生命线,据相关媒体报告称仅在2016年前10个月,全球已约有3000起公开的数据泄漏事件,22亿条记录被披露,已经超过2015年全年。面对如此严峻的数据安全的局面,赵景波表示新浪网在数据安全性方面有很多硬性规定,并做了主机维度、业务维度和服务维度的层次划分。

  主机维度:制定了相关标准,给出了主机安全防护基线要求,主要有身份验证、访问控制、入侵防范等,对安装的软件、登陆使用的方式等等也都有严格的标准。

  业务维度:规定了新浪业务及应用的安全防护要求,主要约束了应用的上传下载、网站外链、恶意代码、信息加密等。

  数据服务维度:这一层面的安全性主要体现在数据库备份、存储可靠性、服务器资源使用(通过Cgroup隔离)、数据库访问帐号、SQL注入防范、数据加密、数据一致性等。

  ·建立了动态密码更新机制,对于非常核心的重点业务做到了数据库帐号密码动态更新,提高安全性;

  ·数据库的账号只保留了增、删、改、查的权限,其他的如truncate、drop等权限全部回收,大大减少了业务方通过此类危险命令误删除数据的机会;

  ·对内部管理数据库的账号做分级,只有少数资深高级DBA才有较大的权限来操作数据库,常规的DBA也只保有在固定服务器上的有约束性的权限

  ·数据存储安全主要做了两个事情,一个是针对涉密的数据,我们对备份的数据做了加密,除了对应的专职管理员有权限查看,其他人没有权限查看,另外一个就是我们备份的数据会存储到HDFS集群,保障数据的可靠性。

  在业务发展早期,为了更快的满足业务资源申请需求而忽视平台自身的规范建设是很多企业都面临或者正在经历的事情。在中国数据库技术大会(DTCC 2017)上,赵景波会以Redis服务为例,为我们讲述随着业务规模壮大,新浪网核心业务运维遇到了哪些痛点?当运维过程暴露出越来越多的问题时,新浪网又是如何去规范、完善Redis运维平台的。

标签: 数据库 , DTCC
相关文章
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

实时热点
编辑推荐
系统架构师大会
系统架构师大会
点击或扫描关注
IT168企业级微信关注送礼
IT168企业级微信关注送礼
扫描关注
首页 评论 返回顶部