บทนำ
Exadata Smart Flash Cache มีประโยชน์หลัก 2 ประการ:
- Stage Active Database Objects ใน Flash
- Exadata Smart Flash Logging เร่ง Critical Database Logging Function
Write-back Flash Cache
Write-back Flash Cache ใช้สำหรับ Write-intensive Operations เพราะเขียน Flash Cache เร็วกว่า Hard Disks เหมาะกับ Heavy Jobs ต่อ Database ตาม Oracle: Write Performance เร็วกว่า Disk สูงสุด 20 เท่า (วัดใน IOPS) และ Write IOPS มากกว่า Disk 10 เท่า
Cell Attribute flashCacheMode กำหนด Cache Mode ค่า: WriteThrough (Default) และ WriteBack
ตรวจสอบ Cache Mode ปัจจุบัน:
CELLCLI> list cell attributes flashcachemode
ดูรายละเอียด:
CELLCLI> list cell detail
ประโยชน์ Write-back Flash Cache
- เร่ง Write-intensive Operations (เขียน Flash เร็วกว่า Disk)
- Transparent Acceleration Reads/Writes ทุก Workloads: OLTP (Random Reads/Writes เร็วขึ้น) และ Data Warehouse (Sequential Smart Scans เร็วขึ้น)
- ลด Latency ของ Redo-log Writes เมื่อ Share Disks กับ Data
- Data Recoverable จาก Flash Cache หลัง
cellsrv restart
พิจารณาใช้ Write-back Flash Cache หากพบ:
- Significant Wait Times สำหรับ "free buffer waits"
- High I/O Times ใน AWR Reports (Write Bottlenecks)
Intelligent Caching
Smart Flash Cache เข้าใจ Database I/O Types ต่างๆ:
- Cache Frequently Accessed Data & Index Blocks
- Cache Controlfile Reads/Writes
- Cache File Header Reads/Writes
- DBA สามารถ Influence Caching Priorities ได้
ข้อจำกัด: ไม่มีวิธีง่าย Monitor Cache Contents list flashcachecontent แสดง Object Numbers เท่านั้น ไม่มี Summation
ทำความเข้าใจ Exadata Smart Flash Cache
Flash Cache บน Cell (Storage) Server เก็บ Redo-data จนกว่าจะเขียน Disk ได้ปลอดภัย Exadata Storage Server มี Flash Storage มาก ส่วนเล็กสำหรับ Logging ส่วนใหญ่สำหรับ Caching User Data
Full-rack Exadata: 5 TB Flash Cache เก็บข้อมูลได้มาก
Flash Cache จัดการอัตโนมัติเพื่อ Max Efficiency:
- Users ให้ Optional Hints 影響 Caching Priorities
- Admins ปิด Smart Flash Cache สำหรับ Specific Databases ได้
Exadata Storage Server Software
2 Key Features ใช้ Exadata Flash Hardware:
- Exadata Smart Flash Cache - Stage Active Objects ใน Flash
- Exadata Smart Flash Logging - เร่ง Database Logging
Deploy Oracle Database ต้องการ Mission Critical Resilience Exadata Storage Server Software + Oracle Database ให้ Resilience นั้น
สร้าง FlashDisk-based Grid Disks
ไม่ควรใช้ Flash Cache ทั้งหมดสำหรับ Grid Disks สร้าง Flash Cache แล้วคงพื้นที่บ้างสำห Grid Disks:
CellCLI> create flashcache all size=300g;
CellCLI> create griddisk all flashdisk prefix='RAMDISK';
CellCLI> list griddisk attributes name, diskType, size – where disktype='FlashDisk';
ข้อได้เปรียบ: Configure Flash Cache ได้ขณะ System Online และ Service I/O Requests
วิธี Enable Write-back Flash Cache
2 วิธี:
- Rolling Method: RDBMS & ASM Instances Up Enable Write-back ทีละ Cell Server
- Non-Rolling Method: RDBMS & ASM Instances Down ขณะ Enable Write-back
ก่อน Enable - ตรวจสอบ Griddisk Properties:
# dcli -g cell_group -l root cellcli -e list griddisk attributes asmdeactivationoutcome, asmmodestatus
# ต้องเป็น "Yes" และ "ONLINE" ทุก Griddisks ทุก Cells
# Flashcache ต้อง Normal State ไม่มี Degraded/Critical Flash Disks
Enable Write-back Flash Cache (ต่อ Cell):
1. Drop Cache: CellCLI> drop flashcache;
2. Shutdown Cell: CellCLI> alter cell shutdown services cellsrv;
3. Change Mode: CellCLI> alter cell flashCacheMode=writeback;
4. Startup Cell: CellCLI> alter cell startup services cellsrv;
5. Recreate Cache: CellCLI> create flashcache all;
6. Verify All: # dcli -g cell_group -l root "cellcli -e list cell attributes flashcachemode"
# ผล: WriteBack ทุก Cell
สรุป
ใช้ Write-back Flash Cache ใช้ประโยชน์จาก Exadata Flash Hardware ทำให้ Exadata Database Machine เร็วขึ้นสำหรับ Oracle Database Deployments Flash Storage ใช้เป็น Flash Cache Default ทำงานเป็น Extension ของ Database Buffer Cache ให้ Faster Access และ High IOPS Rate (สำคัญสำหรับ OLTP) นอกจากนี้ สามารถนำ Flash Storage ส่วนหนึ่งสร้าง ASM Diskgroups ไฟล์บน Diskgroups จะอยู่บน Flash Storage ถาวร ไม่ต้อง Cache