【51CTO特约报道】2013年7月13日, 由阿里巴巴集团主办的ADC·阿里技术嘉年华将在杭州海外海国际会展中心隆重开幕,本届大会设置了大数据技术与应用、无线技术、业务架构&后端技术、前端技术、搜索、广告、体验设计、互联网测试、系统开发和运维等九大分场,共有80多个主题,其中包括了阿里巴巴、腾讯、百度及更多知名的互联网公司的在实践中积累起来的技术经验。
来自阿里巴巴集团的数据库专家陈招尚(花名:胜通)给大家分享了“阿里去IOE实践”,吸引了众多IT技术人员的眼球。2007年,胜通加入淘宝数据库团队,负责过淘宝的所有的核心系统数据库,经历和参与了淘宝几乎所有核心数据库的改造升级过程,淘宝第一个分布式系统、第一个核心系统分布式改造,是历年双十一数据库主要负责人。他从去“IOE”背后的原因、去“IOE”架构难点和“去IOE”的实施难点等方面介绍了阿里的去IOE实践。
(陈招尚/胜通 阿里巴巴数据库专家)
去“IOE”的历程
胜通提到,从2010年开始着手做“去IOE”,历经两年时间,2012年完成。
去“IOE”背后的原因
据胜通介绍,阿里去“IOE”背后的原因主要有三个:
- 成本
- 集中式的严重制约
- 技术把控力降低
去“IOE”的架构难点
1、可用性
小型机存储的高冗余机制,要考虑到PC和MYSQL能否做到
2、一致性
Oracle物理级别一致性,要确定MYSQL语句模式是否问题
3、高性能
- 高端存储的IO能力很强,PC能否顶得过
- MYSQL和Oracle对SQL的处理性能是否相同
4、扩展性
- 分多少库多少表,按照什么维度分需要去考虑
- 后期二次拆分怎样才方便
#p#
去“IOE”的实施难点
1、数据迁移
对于异构数据迁移,全量怎么迁移,增量怎么迁移……这些都需要考虑到。胜通提醒到,“另外,还需要考虑到怎样才能实现无缝升级的问题。”
2、数据路由
如何屏蔽分表给应用带来的复杂性,维度查询问题,跨分表查询问题这些需要提前考虑到。
3、数据同步
当搜索、数据仓库、其它数据业务方面都有导出需求时,如何才能实现实时同步、并且只同步一次?这就需要提前预估了。
4、分布式事物
当一个事物涉及到两张不同的表时该怎么办?涉及到两个分库时该怎么办?这些问题也值得关注和重视。
5、规模化运维
如跨库数据订正怎么解决,DDL问题怎么处理等这类日常的运维工作。如何应对更多的业务需求变化,开发能否对DB的操作实现自助等问题也需考虑。
小结
胜通最后强调到,去“IOE”首先需建立战略性系统工程,深远影响公司思路,全方位的技术细节和架构的自主把控,并不是说去掉“IBM”,去掉“Oracle”,去掉“EMC”,而是技术上的革新,才会产生淘宝现在这么百花齐放盛景。