技术开发 频道

金官丁:伪分布式数据架构助力企业发展

  【IT168 专稿】4月20日消息,2011年4月15—16日,DTCC 2011数据库技术大会成功举办,众多国内数据库工程师、架构师们欢聚一堂。数据库大会,已经成了数据库领域的一年一度的盛会。大会举办期间,我们很有幸采访了上海五分钟网络高级DBA金官丁先生。

金官丁:伪分布式数据架构助力企业发展
▲上海五分钟网络科技有限公司高级DBA金官丁先生

  金官丁先生目前主要致力于数据库领域的设计、优化、高可用性、数据层架构、运维自动化等方面应用研究。同时极力推广开源领域的数据库及相关技术产品,现主要贡献于MySQL开源领域。关注ITPUB MySQL版及其它开源数据库。除此之外,他还开通了纯技术分享网站:http://www.mysqlops.com,以帮助更多想进入此领域的技术人员,如何快速学习MySQL基础知识、掌握和正确使用MySQL产品,以及如何合理地利用MySQL降低公司成本和支撑公司业务发展。

  金官丁介绍说,上海五分钟网络科技有限公司(以下简称五分钟)致力于成为一家全球卓越的社交游戏开发与运营商。以“创造可分享的快乐”为使命,五分钟希望通过丰富多彩的“社交游戏”,让人们利用学习、工作和生活中的一个个“五分钟”,和亲朋好友保持互动,一起体验游戏的乐趣。五分钟的代表作品——开心农场,自2008年11月推出以来,迅速风靡中国大陆、台湾、 香港及全球其他地区,吸引了数千万玩家,成为全球范围内最受欢迎的社交游戏之一。五分钟目前全部使用MySQL数据库用以支撑公司的业务发展以及数据的存储。数据库架构是使用MySQL支持的双主复制模式,但玩家游戏数据部分采用了内部开发的伪分布式数据库架构。

  金官丁谈到伪分布式架构时说,目前,玩家游戏数据部分采用了内部开发的伪分布式数据库架构,这种架构带来的好处有以下几点:

  1>.对游戏玩家数据提供了水平、垂直拆分功能;

  2>.数据的拆分对前端应用程序透明;

  3>.有能力解决游戏玩家大量增加而带来的扩容问题,且不需要停机维护;

  4>.支持自动切换和人工干预切换模式,提供自动监控、探测等功能,从增加系统的可用性、可靠性;

  5>.游戏主开发人员,不需要关心MemCache、数据库操作,只需要跟伪分布式数据库架构系统通过约定的JSON协议通信即可,从而提高开发人员的效率,以及实现代码重用等,而减低产品开发周期。

  金官丁介绍他们在数据库维护、备份、迁移等工作上遇到的问题和解决办法。他介绍说,在数据库维护方面,主要是数据库表的变更操作,MySQL在此方面存在一些缺陷,为此我们做了数据库级别的拆分,对数据库内部数据量大(指容量,多少GB)的表,进行了内部再拆分,以减少DDL操作而锁表堵塞写业务的时间;

  在数据库备份方面,主要是使用mysqldump备份小型的库,对于增长到一定程度的则考虑使用xtrabackup工具;

  在数据库迁移上,由于自动迁移功能,在伪分布式数据库架构中还未实现,对于数据合并类操作,我们在部署的时候做一些措施规避,一台服务器起多个实例的模式,服务器压力大就迁移一些实例到新服务器上,当业务量下降之后,确定很难再增量就迁移到一台服务器上,继续多实例跑,这样就可以折中解决游戏的生命周期带来的成本问题。

  当谈到最关注数据库哪些方面时,金官丁表示,对产品的持续开发、改进、维护的技术能力,稳定性、功能是否满足业务需求、性能、可扩展性、依赖的硬件平台或条件等方面,非常看重。对于开源产品,一定是拥有大量使用者和贡献者的产品,以及清晰的开发路线图。

  另外就是针对不同业务可能使用不同的数据库产品支持,但是肯定不会超过3种,比如:计费系统、OLTP业务、OLAP业务,但是当条件有限的情况,可能不得不选择一款同时满足三种需求最高得分产品,或者偏向重点业务的产品。因为选择一款数据库产品,除了数据库产品自身的因素外,还跟公司业务需求、公司自身对产品维护能力、知识和人才储备的关系非常重大。但是有一点,数据库产品稳定性优先,对于价格,不是最主要的问题,但是我们会从多个角度综合考虑,且倾向于开源领域的产品,会选择收费版本,或者免费社区版本+收费项的方式。

0
相关文章