Large Writes in Exadata FlashCache

在 Exadata存储管理软件12.2.1.1.0中,flashcache开始支持复杂排序和大量的hash join产生的临时数据写入flashcache中,而不是直接写入SAS磁盘的tempfile中,以便后续从flashcache中读取这些临时数据,这种flashcache的增强,会使得一些特殊的SQL语句性能提升四倍以上(注意:这个特性必须基于writeback模式的flashcache)。

实际上,不仅仅是hash join的临时数据可以写入flashcache中,大的写入操作都支持写入flashcache,所谓"大的写入"主要指如下三大类型:

(1). Writes that are read once (Read Once Writes)

例如:排序 或 hash join 生成的中转数据。

(2).Writes that are unlikely to be read (Never Read Writes)

例如:写归档日志、flashbacklog日志 等等

(3).Writes that are maybe read (Maybe Read Writes)

例如:索引rebuild、直路径数据加载 等等

 

虽然允许大的写入操作直接使用flashcache资源,但前提条件是这些"大的写入"不允许影响到当前的工作负载。例如:需要防止OLTP命中率受到影响、防止出现数据库的"平均IO延迟"增加。

 

除此之外 ,"大的写入"还有如下限制:

(1). Large writes can use 20% of total Flash Cache size (default)

(2).Prevent interference with DW caching (default 50% of total Flash Cache size)

(3). Non-temp Large Writes only cached if disk is busy

posted @ 2017-09-01 20:47  石云华  阅读(125)  评论(0编辑  收藏  举报