用Nehalem、SSD和Solaris 打造完美阿里巴巴电子商务平台

时间:2010-03-02   来源:   网友评论:0   人气: 661 作者:

基于IT产业不断涌现的各种崭新技术,以及阿里巴巴电子商务业务的不断快速发展,阿里巴巴和英特尔合作对于互联网应用中数据库的新型应用平台展开探讨和研究,开拓了全新的数据库平台,并最终成功部署到阿里巴巴电子商务平台应用环境中,展现了高科技推动互联网生产力的典型驱动力。

本文从架构角度分析几种新技术(Nehalem, Solaris, SSD)的特点,并能够把它们有机的结合起来,充分发挥各自的潜力,相互配合,统一到一个高效的组合中。同时,基于一些测试数据和真实的实际运营的情况,给出较令人信服的论据。最后,本文对将来的发展做进一步展望。

背景介绍

数据库系统的发展,特别是高端数据库,一直是小型机的天下。基于PC服务器解决方案成本低,但往往被认为单台系统性能不能满足大规模系统的要求,更主要的是系统的稳定性和可靠性常常为人诟病。

人脉通是阿里巴巴今年推出的电子商务领域的SNS平台,背靠阿里巴巴强大的交易平台和丰富的用户数目,其对性能的要求在规划时期就被明确地提了出来。同时,基于成本和可扩展性的考虑,阿里巴巴也打算尝试新的数据库平台系统架构,而不是单一的使用小型机。

阿里巴巴数据库平台的特点和业务

数据库系统是典型的IO密集型应用系统,其系统压力瓶颈最容易出现在IO操作方面。对于 Oracle 数据库,由于其优异的实现机制的设计,shared pool 的高效实现,大大降低了解析 SQL 语句所需要的资源。同时,对即使像 MySQL 这样没有 shared pool 机制的数据库,只要访问的数据稍微离散一些,性能瓶颈很快就会出现在 IO 操作上面了。当然,如果系统的访问集中在相对静止的少部分数据的话,瓶颈可能还是会出现在CPU以及其与内存的交互方面,但是这样的系统已经很稀少了。

随着 Web2.0 的流行,互联网信息量的增长简直可以用爆炸式来形容。而 此类Web2.0 类型的应用,由于用户交互性非常高,正是典型的高并发高离散的实时性数据请求类应用,自然就会给数据库带来直线上升的压力。

对于阿里巴巴这样的典型电子商务类型的网站应用,其实质可以被认为是较早涉及Web2.0的应用,也是非常典型的OLTP数据库应用。其最显著的特点就是每个事务处理单元都比较小,即每个事务请求涉及的数据量都很小,但是并发量非常高,而且要求响应时间要非常短。对应到数据库就是会产生大量的离散IO操作,这对于传统的机械硬盘来说无疑是非常致命的,因为硬盘的机械原理决定了离散的小IO请求会让大部分服务时间花在磁头寻道上面。所以,对于高并发的 OLTP 数据库系统,为了解决苛刻的 IOPS 量,不得不使用大量的机械硬盘,通过 RAID 技术将数据进行 strip 处理,来提高存储系统的并发 IO 处理能力,进而提高整个存储系统的 IOPS 能力,以满足前端应用对每次请求的响应时间要求。

另一方面,当传统大规模数据库的IO请求由昂贵的机械硬盘存储设备来满足的时候,处理器的压力也进而增加。现有的解决方案往往是寻求大型的服务器系统,包括多路的小型机等来满足。这样的方案也许能解决一时的需求,但在系统的可扩展性,针对阿里巴巴不断增长的业务数据需求来说,总是会达到瓶颈而无法顺利的满足要求。

最后,对数据库系统,特别是阿里巴巴这样的电子商务类系统,数据的安全性、一致性和可靠性是最重要的。现有的一些方案比如PC服务器配合Linux的方案,在操作系统本身以及文件系统上,确实在这方面要比小型机系统都要逊色。

阿里巴巴人脉通数据库体系架构

综合考虑以上因素,在阿里巴巴规划新的开放平台人脉通系统的时候,恰逢一些新技术的出现和成熟,我们为其推出了全新的体系架构:使用英特尔高性能SSD作为IO存储设备,运行在英特尔全新一代Nehalem服务器平台上,同时采用高可靠的Solaris作为操作系统。下面分别对这个数据库系统的体系结构,使用的新技术以及其和阿里巴巴数据库系统的结合分别进行介绍。


 

文章评论