Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

ฟีเจอร์ Oracle Exadata Flash Cache

บล็อกนี้กล่าวถึงคุณลักษณะ 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
ฟีเจอร์ Oracle Exadata Flash Cache แสดงรายการผลลัพธ์ของคำสั่งในเซลล์

หากต้องการแสดงรายละเอียด ให้ใช้list cell detail คำสั่งดังตัวอย่างต่อไปนี้:

CELLCLI> list cell detail
ฟีเจอร์ Oracle Exadata Flash Cache แสดงรายการผลลัพธ์คำสั่งรายละเอียดเซลล์

ประโยชน์ของแคชแฟลชเขียนกลับ

แคชแฟลชเขียนกลับช่วยปรับปรุงการดำเนินการที่เน้นการเขียนมาก เนื่องจากการเขียนแคช toflash นั้นเร็วกว่าการเขียนไปยังฮาร์ดดิสก์มาก แคชแฟลชเขียนกลับเร่งความเร็วการอ่านและเขียนอย่างโปร่งใสสำหรับปริมาณงานทั้งหมดสำหรับการประมวลผลธุรกรรมออนไลน์ (OLTP) (การอ่านและเขียนแบบสุ่มที่เร็วขึ้น) และคลังข้อมูล fordata (DW) (การสแกนอัจฉริยะที่เร็วขึ้นตามลำดับ)

แคชแฟลชเขียนกลับยังช่วยลดเวลาแฝงของการเขียนบันทึกซ้ำเมื่อแชร์ดิสก์กับข้อมูล กู้คืนข้อมูลจากแคชแฟลชใน cellsrv restart . พิจารณาใช้คุณลักษณะแคชแฟลชเขียนกลับหากคุณสังเกตเห็นเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้:

  1. เวลารอที่สำคัญสำหรับ “รอบัฟเฟอร์ว่าง”

หรือ

  1. I/O ครั้งสูงเมื่อตรวจสอบคอขวดการเขียนในรายงาน Automated WorkloadRepository (AWR)

ตารางต่อไปนี้แสดงประสิทธิภาพที่ Exadata Smart Flash Cache มีให้ที่ระดับฐานข้อมูลสำหรับการกำหนดค่า Exadata X4 ต่างๆ

ฟีเจอร์ Oracle Exadata Flash Cache ตารางประสิทธิภาพ 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 อย่างถาวรโดยไม่จำเป็นต้องแคช

หากคุณมีคำถามใดๆ ในหัวข้อนี้ โปรดแสดงความคิดเห็นในช่องด้านล่าง