บล็อกนี้กล่าวถึงคุณลักษณะ Oracle Exadata Smart Flash Cache และสถาปัตยกรรมของมัน ซึ่งรวมถึงคุณลักษณะแฟลชแคชเขียนกลับ
แนะนำตัว
ฟีเจอร์ Exadata Smart Flash Cache มีประโยชน์หลักดังต่อไปนี้:
-
Exadata Smart Flash Cache มอบความสามารถในการจัดระยะวัตถุฐานข้อมูลที่ใช้งานอยู่ในแฟลช
-
Exadata Smart Flash Logging ช่วยเพิ่มความเร็วให้กับฟังก์ชันสำคัญของการบันทึกฐานข้อมูล
ไรท์แบ็คแฟลชแคช
แคชแฟลชเขียนกลับ ซึ่งใช้สำหรับการปรับปรุงการดำเนินการที่เน้นการเขียน เนื่องจากการเขียนไปยังแฟลชแคชเร็วกว่าการเขียนไปยังฮาร์ดดิสก์ ซึ่งมีประโยชน์ในการรันงานหนักกับฐานข้อมูล ตามข้อมูลของ Oracle ประสิทธิภาพการเขียนอาจเร็วกว่าดิสก์ถึง 20 เท่า (วัดจากการดำเนินการอินพุต/เอาต์พุตต่อวินาที (IOPS)) และ IOPS ในการเขียนมากกว่าดิสก์ 10 เท่า
แอตทริบิวต์ของเซลล์ flashCacheMode
กำหนดโหมดแคช ค่าที่เป็นไปได้ ได้แก่ “WriteThrough” และ “WriteBack”
หากต้องการค้นหาโหมดแคชปัจจุบัน ให้ใช้เครื่องมือ cellcli และ list cell
การดำเนินการดังแสดงในตัวอย่างต่อไปนี้:
CELLCLI> list cell attributes flashcachemode
แสดงรายการผลลัพธ์ของคำสั่งในเซลล์
หากต้องการแสดงรายละเอียด ให้ใช้list cell detail
คำสั่งดังตัวอย่างต่อไปนี้:
CELLCLI> list cell detail
แสดงรายการผลลัพธ์คำสั่งรายละเอียดเซลล์ ประโยชน์ของแคชแฟลชเขียนกลับ
แคชแฟลชเขียนกลับช่วยปรับปรุงการดำเนินการที่เน้นการเขียนมาก เนื่องจากการเขียนแคช toflash นั้นเร็วกว่าการเขียนไปยังฮาร์ดดิสก์มาก แคชแฟลชเขียนกลับเร่งความเร็วการอ่านและเขียนอย่างโปร่งใสสำหรับปริมาณงานทั้งหมดสำหรับการประมวลผลธุรกรรมออนไลน์ (OLTP) (การอ่านและเขียนแบบสุ่มที่เร็วขึ้น) และคลังข้อมูล fordata (DW) (การสแกนอัจฉริยะที่เร็วขึ้นตามลำดับ)
แคชแฟลชเขียนกลับยังช่วยลดเวลาแฝงของการเขียนบันทึกซ้ำเมื่อแชร์ดิสก์กับข้อมูล กู้คืนข้อมูลจากแคชแฟลชใน cellsrv restart
. พิจารณาใช้คุณลักษณะแคชแฟลชเขียนกลับหากคุณสังเกตเห็นเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้:
- เวลารอที่สำคัญสำหรับ “รอบัฟเฟอร์ว่าง”
หรือ
- I/O ครั้งสูงเมื่อตรวจสอบคอขวดการเขียนในรายงาน Automated WorkloadRepository (AWR)
ตารางต่อไปนี้แสดงประสิทธิภาพที่ Exadata Smart Flash Cache มีให้ที่ระดับฐานข้อมูลสำหรับการกำหนดค่า Exadata X4 ต่างๆ
ตารางประสิทธิภาพ Exadataที่มา:https://www.oracle.com/technetwork/database/exadata/exadata-smart-flash-cache-366203.pdf หน้า 7
แคชอัจฉริยะ
สมาร์ทแฟลชแคชมีประโยชน์ในการแคชอัจฉริยะดังต่อไปนี้:
- สมาร์ทแฟลชแคชเข้าใจ I/O ฐานข้อมูลประเภทต่างๆ
- บล็อกข้อมูลและดัชนีที่เข้าถึงบ่อยจะถูกแคชไว้
- การอ่านและเขียนไฟล์ Controlfile ถูกแคชไว้
- การอ่านและเขียนส่วนหัวของไฟล์ถูกแคชไว้
- ผู้ดูแลระบบฐานข้อมูลสามารถส่งผลต่อลำดับความสำคัญของแคชได้
น่าเสียดายที่ไม่มีวิธีง่ายๆ ในการตรวจสอบสิ่งที่อยู่ในแคช Oracle ได้จัดเตรียม list flashcachecontent
คำสั่งในเครื่องมือ cellcli แต่ไม่มีตัวเลือกการรวมและแสดงเฉพาะหมายเลขออบเจ็กต์
ทำความเข้าใจ Exadata Smart Flash Cache
Exadata Smart Flash Cache เป็นแคชบนเซิร์ฟเวอร์เซลล์ (ที่เก็บข้อมูล) เพื่อจัดเก็บข้อมูลการทำซ้ำจนกว่าข้อมูลนี้จะเขียนลงดิสก์ได้อย่างปลอดภัย เซิร์ฟเวอร์ Exadatastorage มาพร้อมกับที่เก็บข้อมูลแฟลชจำนวนมาก มีการจัดสรรจำนวนเล็กน้อยสำหรับการบันทึกฐานข้อมูล และส่วนที่เหลือจะใช้สำหรับการแคชข้อมูลผู้ใช้
บนเซิร์ฟเวอร์ exadata แบบเต็มแร็ค แฟลชแคช 5 TB สามารถจัดเก็บข้อมูลจำนวนมากได้
แคชแฟลชสามารถจัดการได้โดยอัตโนมัติเพื่อประสิทธิภาพสูงสุด ดังที่แสดงในกรณีการใช้งานต่อไปนี้:
– ผู้ใช้สามารถให้คำแนะนำเสริมเพื่อส่งผลต่อลำดับความสำคัญของแคชได้
- ผู้ดูแลระบบสามารถปิดใช้งานสมาร์ทแฟลชแคชสำหรับฐานข้อมูลเฉพาะได้
ซอฟต์แวร์ Exadata Storage Server
คุณสมบัติหลักสองประการของซอฟต์แวร์ Exadata Storage Server ใช้ประโยชน์จากฮาร์ดแวร์ ExadataFlash และทำให้เครื่องฐานข้อมูล Exadata เป็นระบบที่รวดเร็วในการปรับใช้ฐานข้อมูล Oracle ประการแรก Exadata Smart Flash Cache ให้ความสามารถในการจัดระยะวัตถุฐานข้อมูลที่ใช้งานอยู่ในแฟลช ประการที่สอง การบันทึก Exadata SmartFlash ช่วยเพิ่มความเร็วให้กับฟังก์ชันที่สำคัญของการบันทึกฐานข้อมูล
การปรับใช้ฐานข้อมูล Oracle ต้องใช้ความยืดหยุ่นที่สำคัญต่อภารกิจ การใช้ซอฟต์แวร์ ExadataStorage Server ร่วมกับฐานข้อมูล Oracle จะทำให้เกิดความยืดหยุ่น
การสร้างกริดดิสก์ที่ใช้ FlashDisk
คุณไม่ควรใช้ Flash Cache ทั้งหมดสำหรับกริดดิสก์ เมื่อสร้าง Flash Cache ให้ใช้พารามิเตอร์ size เพื่อระงับพื้นที่บางส่วนที่จะใช้สำหรับ griddisks ดังที่แสดงในเครื่องมือ cellcli ต่อไปนี้ create flashcache
คำสั่ง:
CellCLI> create flashcache all size=300g;
สร้างกริดดิสก์โดยใช้พื้นที่ว่างที่เหลืออยู่บนแฟลชดิสก์ โดยใช้ create griddisk
ต่อไปนี้ คำสั่ง:
CellCLI> create griddisk all flashdisk prefix='RAMDISK‘;
ในการแสดงรายการรายละเอียดของกริดดิสก์ ให้ใช้ list griddisk
คำสั่งดังตัวอย่างต่อไปนี้:
CellCLI> list griddisk attributes name, diskType, size – where disktype='FlashDisk‘;
ข้อได้เปรียบที่ใหญ่ที่สุดของการกำหนดค่า Flash Cache คือสามารถทำได้ในขณะที่ระบบออนไลน์และให้บริการคำขอ I/O
วิธีเปิดใช้งานแคชแฟลชเขียนกลับ
ใช้หนึ่งในวิธีต่อไปนี้เพื่อเปิดใช้งานคุณสมบัติแคชแฟลชเขียนกลับ:
-
วิธีการรีด – วิธีนี้อนุมานว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) และอินสแตนซ์การจัดการพื้นที่เก็บข้อมูลอัตโนมัติ (ASM) เปิดใช้งานแล้วและกำลังเปิดใช้งานแคชแฟลชเขียนกลับในเซิร์ฟเวอร์เซลล์เดียวในแต่ละครั้ง
-
วิธีไม่กลิ้ง – วิธีนี้อนุมานว่าอินสแตนซ์ RDBMS และ ASM หยุดทำงานขณะเปิดใช้งานแคชแฟลชเขียนกลับ
ก่อนเปิดใช้งานแคชแฟลชเขียนกลับ ให้รันคำสั่งต่อไปนี้เพื่อตรวจสอบคุณสมบัติ griddisk “asmdeactivationoutcome” และ “asmmodestatus” ตรวจสอบให้แน่ใจว่ากริดดิสก์ทั้งหมดบนทุกเซลล์เป็น "ใช่" และ "ออนไลน์" ตามลำดับ และแฟลชแคชทั้งหมดอยู่ในสถานะปกติและไม่มีแฟลชดิสก์ใดเสื่อมคุณภาพหรืออยู่ในสถานะวิกฤติ:
# dcli -g cell_group -l root cellcli -e list griddisk attributes asmdeactivationoutcome, asmmodestatus
หากต้องการเปิดใช้งานรายการเซลล์ ให้เรียกใช้คำสั่งต่อไปนี้:
# dcli -g cell_group -l root cellcli -e list flashcache detail
exadata01cell01: WriteThrough
exadata01cell02: WriteThrough
exadata01cell03: WriteThrough
ในการเปิดใช้งานแคชแฟลชเขียนกลับ ให้เรียกใช้คำสั่งต่อไปนี้สำหรับแต่ละเซลล์:
-> Drop cache
CellCLI> drop flashcache;
Flash cache exadata01cell01 successfully dropped.
-> Shut down Cell service
CellCLI> alter cell shutdown services cellsrv;
Stopping CELLSRV services... The SHUTDOWN of CELLSRV services was successful.
-> Change Cell Flash Cache mode to Write Back
CellCLI> alter cell flashCacheMode=writeback;
Cell cel04 successfully altered
-> Restart the Cell Service
CellCLI> alter cell startup services cellsrv;
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
-> Recreate the Flash Cache
CellCLI> create flashcache all;
Flash cache cel04_FLASHCACHE successfully created
-> Check the State on all Cell Server
# dcli -g cell_group -l root "cellcli -e list cell attributes flashcachemode"
exadata01cell01: WriteBack
exadata01cell02: WriteBack
exadata01cell03: WriteBack
บทสรุป
ใช้คุณสมบัติแคชแฟลชเขียนกลับเพื่อใช้ประโยชน์จากฮาร์ดแวร์ Exadata Flash และทำให้เครื่องฐานข้อมูล Exadata เป็นระบบที่เร็วขึ้นสำหรับการปรับใช้ฐานข้อมูล Oracle ที่เก็บข้อมูลแฟลชภายในเครื่องฐานข้อมูล Oracle Exadata ถูกใช้โดยสมบูรณ์เป็นแฟลชแคชโดยค่าเริ่มต้น ซึ่งช่วยให้ทำงานได้อย่างมีประสิทธิภาพ asan ส่วนขยายของแคชบัฟเฟอร์ฐานข้อมูลและเพื่อให้เข้าถึงได้เร็วขึ้น ซึ่งรวมถึงอัตรา IOPS ที่สูงมาก ซึ่งมีความสำคัญเป็นพิเศษสำหรับ OLTP นอกจากนี้ คุณยังสามารถใช้ Flash Storage เพื่อสร้างกลุ่มดิสก์ ASM ได้ด้วย ไฟล์ที่วางอยู่บนกลุ่มดิสก์เหล่านี้จะอยู่ใน flashstorage อย่างถาวรโดยไม่จำเป็นต้องแคช
หากคุณมีคำถามใดๆ ในหัวข้อนี้ โปรดแสดงความคิดเห็นในช่องด้านล่าง