Exadata V2 架构分析 (5)
Kaya 发表于 os2ora.com
Exadata上另一个聪明的软件设计是实现了storage index.
另一篇白皮书中有对Storage Index的一个描述 A Technical Overview of the Sun Oracle Exadata Storage Server and Database Machine
Storage Indexing
Storage Indexes are a very powerful capability provided in Exadata storage that helps avoid I/O operations. The Exadata Storage Server Software creates and maintains a Storage Index in Exadata memory. The Storage Index keeps track of minimum and maximum values of columns for tables stored on that cell. When a query specifies a WHERE clause, but before any I/O is done, the Exadata software examines the Storage Index to determine if rows with the specified column value exists in the cell by comparing the column value to the minimum and maximum values maintained in the Storage Index. If the column value is outside the minimum and maximum range, scan I/O for that query is avoided. Many SQL Operations will run dramatically faster because large numbers of I/O operations are automatically replaced by a few in-memory lookups. To minimize operational overhead, Storage Indexes are created and maintained transparently and automatically by the Exadata Storage Server Software.
如果Exadata给你的印象就是有很强大的硬件,却不会利用传统的性能优化方法,比如索引,去加快查询速度的话,那么Storage Index的出现或许会改变你的这种观念。而且,storage index是完全自动化的,它甚至不需要人工的干涉就能工作得很好。
Smart Scan之所以冠名以Smart,是因为它在扫描数据的时候同时做过滤操作,只把必需的数据返回给数据服务器端;而Storage Index在这里却直接避免了对Disks的访问,其Smart的程度与Smart Scan相比,或许已经到了超凡脱俗的境界了。
如果真要找一个类比的话,DB2中有个特性或许可以与Storage Index做下对比,那就是Multi Dimensional Clustering. 仔细阅读下MDC的介绍,两者真的有异曲同工之妙。

最近评论