
上QQ阅读APP看书,第一时间看更新
第1章 智能扫描
在Oracle传统架构中,数据仓库类型的业务系统最常见的性能问题就是IO出现性能瓶颈,SQL语句大量的全扫描操作导致需要从存储子系统中扫描大量的数据块,并将这些数据块传送到数据库服务器上进行数据处理和加工,而最关键的问题是传输到数据库服务器上的这些数据块很可能绝大部分不是最终需要的数据,在数据处理和加工的过程中会被丢弃。
随着闪存技术的发展,存储子系统的IO性能有了大幅的提升,在一定程度上缓解了一部分IO压力。然而,就整个传统架构而言,IO性能瓶颈却仍然没有完全解除,数据库服务器与存储子系统之间的IO链路仍然是IO性能的瓶颈。同时,数据仓库类型的业务系统,其数据量极其庞大,动辄几十到几百TB,甚至到PB的数量级,将如此多的数据存放在这种昂贵的闪存上,其实也是一种极为奢侈和浪费的行为。
Oracle公司为了解决数据仓库类型的业务系统大量IO扫描与IO传输带来的性能问题,开发了Exadata。Exadata是一种软硬件相结合并预先进行了配置和优化的数据库架构,它完全颠覆了传统架构的一些设计思想和理念。在硬件层面上,数据库服务器与存储子系统之间的IO互联使用Infiniband交换机,将IO带宽提升至40Gb/s;在软件层面上,存储软件实现了智能扫描。所谓智能扫描,就是在数据扫描的过程中对数据进行过滤,只传输有用的数据到数据服务器参与计算,这将大大减少需要传输的数据量。对于数据仓库类型的业务系统,Exadata性能表现之所以如此出色,起决定作用的还是Exadata存储软件的智能扫描特性。