บทนำ
ระบบ Oracle Exadata นำเสนอ Storage Index ซึ่งปรับปรุงประสิทธิภาพฐานข้อมูล Storage Index เป็นโครงสร้างที่จัดเก็บในหน่วยความจำซึ่งมีสถิติหลัก Storage Index นี้ช่วยให้ Exadata เร่งการดำเนินการ I/O ดิสก์และคิวรีโดยการตรวจสอบดัชนีก่อนเพื่อค้นหาข้อมูลที่เกี่ยวข้อง แทนที่จะอ่านทุกแถว
ข้อพิจารณาสำคัญหนึ่งกับ Storage Index คือ เพื่อให้ Exadata สร้างการประหยัด I/O ของ Storage Index ระบบต้องเขียนข้อมูลในดัชนีเหล่านี้ไปยังภูมิภาคจัดเก็บของดัชนี กล่าวอีกนัยหนึ่ง เพื่อให้ถูกใช้งาน ข้อมูล Storage Index ต้องถูก primed (เตรียมพร้อม) บนโครงสร้างหน่วยความจำดัชนีภูมิภาคของเซลล์เซิร์ฟเวอร์ เมื่อคุณรันคิวรีครั้งแรก คุณจะไม่เห็นการประหยัด I/O ของ Storage Index เนื่องจากดัชนีภูมิภาคมีข้อมูลที่เกี่ยวข้องไม่มี
Storage Index ทำงานอย่างไร
เป้าหมายหลักของ Storage Index คือลดปริมาณ I/O ดิสก์ที่จำเป็นในการให้บริการคำขอสำหรับ Exadata Smart Scan โดยพิจารณาจากแถวฐานข้อมูลจริงที่ถูกสแกน คุณสามารถวัดการประหยัด I/O ที่ได้จากการใช้ Storage Index Storage Index ถูกใช้ในระหว่างการดำเนินการอ่านแบบ direct-path เมื่อคิวรีมี predicate (คือ 子句 WHERE) และกลุ่มดิสก์ Automatic Storage Management (ASM) ที่อยู่ด้านล่างมีแอตทริบิวต์ cell.smart_scan_capable=TRUE กล่าวอีกนัยหนึ่ง Storage Index เสริม Exadata Smart Scan สำหรับคำสั่ง SQL ที่มี predicate ของคิวรี นอกจากนี้ Storage Index ให้การประหยัดประสิทธิภาพสูงสุดเมื่อข้อมูลของคุณจัดระเบียบอย่างดีเกี่ยวกับคอลัมน์ใน predicate ของคิวรีของคุณ
สถาปัตยกรรม Oracle Exadata
จากมุมมองการออกแบบ Storage Index แตกต่างจากดัชนี Oracle B*Tree แบบดั้งเดิมหรือประเภทดัชนีอื่นๆ Storage Index ไม่ใช่โครงสร้างทางกายภาพที่จัดเก็บเป็นเซกเมนต์ภายในฐานข้อมูลของคุณ แต่เป็นโครงสร้างหน่วยความจำที่อยู่บนเซลล์จัดเก็บ Exadata ในขณะที่เป้าหมายของดัชนีแบบดั้งเดิมคือช่วยให้ Oracle ค้นหาแถวในตารางได้อย่างรวดเร็ว เป้าหมายของ Storage Index คือให้วิธีที่มีประสิทธิภาพมากเพื่อสั่งให้ซอฟต์แวร์บริการเซลล์ข้ามการอ่านแถวฐานข้อมูลทางกายภาพ หากค่าใน Storage Index บ่งชี้ว่าข้อมูลที่ร้องขอไม่ได้อยู่ภายในแถวเหล่านั้น
หากข้อมูลในภูมิภาคจัดเก็บจัดระเบียบอย่างดีเกี่ยวกับคอลัมน์ที่ใช้ทั่วไปใน predicate ของคิวรี Storage Index จะชกระบวนการ Cell Server (CELLSRV) ข้ามคำขอ I/O ทางกายภาพและประหยัด I/O ดิสก์ cell physical I/O bytes saved by storage index เป็นสถิติระบบที่คุณสามารถใช้เพื่อวัดประโยชน์การประหยัด I/O นี้
หากข้อมูลไม่ได้จัดระเบียบอย่างดี Storage Index จะให้ประโยชน์จำกัดหรือไม่มีประโยชน์ เนื่องจากแต่ละภูมิภาคจัดเก็บมีความน่าจะเป็นสูงกว่าที่จะมีช่วงค่าที่เป็นไปได้มากสำหรับคอลัมน์หรือ predicate คิวรีที่กำหนด คล้ายกับดัชนี B*Tree แบบดั้งเดิม การจัดกลุ่ม (clustering) เป็นข้อพิจารณาสำคัญสำหรับ Storage Index หนึ่งในข้อเท็จจริงที่น่าสนใจเกี่ยวกับ Storage Index คือ กระบวนการ Exadata CELLSVR ใช้พวกเขาเฉพาะเมื่อค่า predicate ในคิวรีอยู่นอกค่าสูงและต่ำที่ติดตามในดัชนีภูมิภาคสำหรับแต่ละภูมิภาคจัดเก็บ ไม่ว่าภูมิภาคจัดเก็บจะมีข้อมูลภายในช่วงที่ติดตามจริงหรือไม่
พิจารณาตัวอย่างที่ภูมิภาคจัดเก็บมีข้อมูลสำหรับสิบแถวในตาราง ภายในสิบแถวนี้ สมมติว่ามีคอลัมน์ชื่อ FIRST_NAME และภายในคอลัมน์นี้ ภูมิภาคมีแถวที่ FIRST_NAME มี "john", "anto", "max", "leigh", "theo", "rachel", "lauren", "bob", "denise", และ "jen" หากคุณออกคิวรีค้นหา FIRST_NAME="chris" Storage Index ที่มีอยู่สำหรับตารางนี้จะไม่ทำให้ภูมิภาคนี้ถูกตัดสิทธิ์ออกจากการเข้าถึง เนื่องจาก "chris" อยู่ระหว่าง "anto" และ "theo" ตามลำดับตัวอักษร อย่างไรก็ตาม หากคุณรันคิวรีโดยอิงจาก FIRST_NAME="victor" CELLSVR จะข้าม I/O ทางกายภาพไปยังภูมิภาคจัดเก็บนี้ เนื่องจากค่าอยู่นอกค่าสูงและต่ำ
สรุปคือ หมายความว่าฟังก์ชัน Storage Index อาจส่งคืน false positives (เกี่ยวกับการอนุญาตให้ออกคำขอ I/O) แต่ไม่เคยส่งคืน false negatives
การข้าม I/O เทียบเท่ากับการข้ามการอ่านทางกายภาพ และการข้ามการอ่านทางกายภาพช่วยประหยัดเวลา ภาพต่อไปนี้ให้การแสดงอย่างสมเหตุสมผลของวิธีที่ Storage Index ทำงาน:
แหล่งที่มาของภาพ: Oracle Exadata Recipes โดย John Clarke
สรุป
Exadata ดูแล Storage Index แบบอิงเวลาอัตโนมัติตามการใช้งานแอปพลิเคชันของคุณ ไม่มีสิ่งที่ผู้ดูแลระบบฐานข้อมูล Exadata (DMA) สามารถทำเพื่อส่งผลต่อพฤติกรรม Storage Index นอกจากการจัดลำดับข้อมูลของคุณเพื่อส่งเสริมการใช้งาน หรือเปลี่ยน predicate คิวรีของแอปพลิเคชันของคุณ
พิจารณาใช้ Storage Index ในสถานการณ์ต่อไปนี้:
- ระหว่างการดำเนินการอ่านแบบ direct-path
- กับ Smart Scans
- เมื่อคิวรีมี predicates
Storage Index เป็นคุณสมบัติที่ฉลาดที่สุดที่มีในผลิตภัณฑ์ Oracle Exadata และช่วยให้คุณค้นหาข้อมูลในวิธีที่รวดเร็วและเหมาะสมที่สุด
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม
เพิ่มประสิทธิภาพสภาพแวดล้อมของคุณด้วยการจัดการ การกำหนดค่า และการบริหารจัดการโดยผู้เชี่ยวชาญ
ผู้เชี่ยวชาญด้านบริการแอปพลิเคชันของ Rackspace (RAS) ให้บริการมืออาชีพและบริการที่จัดการทั่วพอร์ตโฟลิโอแอปพลิเคชันที่กว้างขวาง:
- แพลตฟอร์มอีคอมเมิร์ซและประสบการณ์ดิจิทัล
- การวางแผนทรัพยากรองค์กร (ERP)
- Business Intelligence
- Salesforce Customer Relationship Management (CRM)
- ฐานข้อมูล
- โฮสติ้งอีเมลและประสิทธิภาพการทำงาน
เราให้บริการ:
- ความเชี่ยวชาญที่ไร้ความลำเอียง: เราลดความซับซ้อนและนำทางการเดินทางการทำให้ทันสมัยของคุณ โดยเน้นความสามารถที่ส่งมอบคุณค่าทันที
- Fanatical Experience™: เรารวมแนวทาง Process first. Technology second.® กับการสนับสนุนทางเทคนิคที่专心เพื่อให้โซลูชันที่ครอบคลุม
- พอร์ตโฟลิโอที่ไม่有对手: เราใช้ประสบการณ์คลาวด์ที่กว้างขวางเพื่อช่วยคุณเลือกและปรับใช้เทคโนโลยีที่เหมาะสมบนคลาวด์ที่เหมาะสม
- การส่งมอบที่คล่องตัว: เราพบคุณที่จุดที่คุณอยู่ในการเดินทางของคุณและปรับความสำเร็จของเราให้สอดคล้องกับของคุณ
แชทตอนนี้เพื่อเริ่มต้น