Smart Flash Cache on Exadata(2)—Write through

联系:QQ(5163721)

标题:Smart Flash Cache on Exadata(2)—Write through

作者:Lunar©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

每个Exadata配备的Flash disk,这些flash disk可以创建flash grid disks来存放频繁访问的数据,也可以做成Exadata Smart Flash Cache,然后将频繁访问的数据cache在Exadata Smart Flash Cache。

缺省情况下,Create Cell命令会创建create flash cell disks,然后在这些flash celldisk上创建Exadata Smart Flash Cache。下面是使用onecommand安装过程中创建celldisk和griddisk的步骤,缺省是将flash disk创建为 Exadata Smart Flash Cache(不同版本的onecommand执行情况稍有不同):

INFO: Running /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create celldisk all " to create all celldisks...

Smart_Flash_Cache4
Smart_Flash_Cache5
然后创建 flashlog:

INFO: Running /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create flashlog all " to create flashlog on cells...

然后创建 flashcache:

INFO: Running /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create flashcache all " to create flashcache

Smart_Flash_Cache6
当然,你可以根据情况创建为FlashDisk(而非Flash Cache):
Smart_Flash_Cache7
一般情况下,我们有这样的对比数据(多次测试对比的结果和个人经验值):

Disk的IO: 168块600G的光线盘, 容量大概 100TB, 吞吐量在 25GB/sec,左右
Flash的IO: 56 PCI Cards,每块96G,容量大概 22.4TB, 吞吐量在 100GB/sec 左右
固态盘的IO: 16块256MB的 DIMM, 容量大概 4TB, 吞吐量在 200GB/sec 左右
当然具体场景要根据很多因素,比如性价比、应用场景,等等。

Flash PCI卡的作用就是消除磁盘控制器的瓶颈。根据Oracle官方的说明,Exadata上对Flash cache的使用对应用透明,且使用了比普通LRU更为优化的算法,他会自动判断哪些都像会被缓存,当然,也可以手工指定:

ALTER TABLE <表名> STORAGE (CELL_FLASH_CACHE KEEP)
ALTER INDEX <索引名> STORAGE (CELL_FLASH_CACHE KEEP)

Exadata Smart Flash Cache不能缓存的IO有如下类型:
 ASM的镜像的I/O
 Rman Backup、
 DataPump I/O
 表空间的格式化
 全表扫描(表没有被Keep的情况下)

Exadata Smart Flash Cache自动缓存的IO有如下类型:
 控制文件的Read/Write I/O
 文件头的Read/Write I/O
 Data Block与Index Block

Exadata Smart Flash Cache的读写流程(Write Through模式):
1.缓存对象时的Write动作
Smart_Flash_Cache8
2.不缓存对象时的Write动作
1)写入Disk
2)写完后返回ACK
(比如全表扫描的大表等等)

3.缓存数据的Read动作
Smart_Flash_Cache9
4.已缓存到Flash的数据Read动作
Smart_Flash_Cache10
通过上述流程,不难发现,Flash的使用特点:
1)Flash Cache不需要考虑数据的冗余,因为所有数据都在磁盘上保留了一份
2)Flash Cache可以结合磁盘扫表一起完成查询
3)考虑一下,如果压缩率为10:1,那么X3-2的Exadata 1/4Rack包含5.6T的闪存容量,可以总共可以缓存50T的数据

待续……

此条目发表在 FAQ, 体系架构, 硬件配置 分类目录,贴了 , 标签。将固定链接加入收藏夹。

Smart Flash Cache on Exadata(2)—Write through》有 1 条评论

  1. Pingback 引用通告: Smart Flash Cache on Exadata(3)—Write back | Lunar

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注