应对海量数据 Oracle数据库机青睐至强(1)(2)
打破数据库应用I/O瓶颈
我们知道,服务器从内到外的数据传输过程要经过“CPU—缓存—内存—内部存储—外部存储”等环节。对于传统数据仓库应用来说,大量数据需要从存储系统读取到服务器内存,是其最大的瓶颈所在。为了打破这一瓶颈,“减少数据传输量、增加I/O通道、提高I/O带宽”是通常需要考虑的方法,Oracle Exadata正是从这三个方面着手解决问题。
首先我们来看一下,Oracle Exadata是一台什么样的机器。
据了解,Oracle Exadata数据库机(数据库云服务器)主要针对在线事务处理 (OLTP)、数据仓库 (DW) 和混合工作负载整合在内的所有数据库应用环境,把数据库服务器、存储服务器、InfiniBand交换机、以太网交换机、KVM、电源等模块在出厂时就在机柜中配置好,并经过严格测试。用户拿到机器之后即可使用Oracle数据库11g、存储管理等软件,不必再重新进行服务器、存储的配置。以一个机柜的满配置来看,Oracle数据库机拥有8台基于英特尔至强7500的数据库服务器和14台存储服务器,总存储容量可以达到100TB,IOPS可以达到每秒100万次I/O操作。根据企业业务量的规模不同,可以从1/4机柜扩展到8个整机柜,最大可以管理到多个PB级数据库。下图显示的是每二版Exadata系统的架构:
针对上面提到的I/O瓶颈问题,Oracle Exadata将应用进行分隔运行,让计算和内存密集型的数据处理类应用在数据库服务器上执行,而让I/O密集型的搜索类应用直接在存储服务器上执行。在这一理念指导下,Oracle在存储服务器上,通过智能扫描SmartScan、混合型列压缩技术、自动透明的存储索引、数据挖掘模型评价等技术,在存储端就实现数据密集型的处理,从而可以将发送到数据库服务器的数据量减少10倍。而传统的做法是,全部的数据库只能存在于数据库主机,来源于存储端的数据大部分会被数据库主机所丢弃,而这些大量的废弃数据会占用宝贵的数据库主机资源,如I/O、CPU、内存等,进而严重影响其它任务的执行,处理变得缓慢。
▲Smart Scan技术让搜索在存储端进行
另外,Oracle Exadata通过模块化设计,在通过增加存储单元时,提高整机的数据吞吐量;并采用每秒40Gb的InfiniBand做系统内部互连,其带宽比传统的光纤通道要快10倍。正是通过一系列技术创新,Exadata系统化地解决了数据库应用中让人头疼的存储I/O瓶颈问题。