Oracle Analytics Cloud จะเก็บรักษาการแคชในระบบของชุดผลลัพธ์การสืบค้นในแคชการสืบค้น
หัวข้อต่างๆ มีดังนี้
แคชการสืบค้นช่วยให้ Oracle Analytics Cloud ดำเนินการตามคำขอการสืบค้นครั้งต่อมาโดยไม่ต้องเข้าใช้ที่มาข้อมูลแบ็คเอนด์ และช่วยเพิ่มประสิทธิภาพการสืบค้นของคุณ อย่างไรก็ตาม รายการแคชการสืบค้นอาจกลายเป็นข้อมูลเก่าหากมีการอัปเดตในที่มาข้อมูลแบ็คเอนด์
วิธีที่เร็วที่สุดในการประมวลผลการสืบค้นคือการข้ามการประมวลผลเป็นกลุ่มและใช้คำตอบที่คำนวณไว้ล่วงหน้า
ด้วยการแคชการสืบค้น Oracle Analytics Cloud จะจัดเก็บผลลัพธ์การสืบค้นที่คำนวณไว้ล่วงหน้าในแคชในระบบ หากการสืบค้นอื่นสามารถใช้ผลลัพธ์เหล่านี้ได้ การประมวลผลฐานข้อมูลทั้งหมดสำหรับการสืบค้นนั้นจะถูกกำจัดไป ซึ่งอาจส่งผลให้มีการปรับปรุงที่สำคัญในเวลาการตอบกลับเฉลี่ยของการสืบค้น
นอกจากการปรับปรุงประสิทธิภาพแล้ว การสามารถตอบรับการสืบค้นจากแคชภายในระบบยังเก็บรักษาทรัพยากรเครือข่ายและเวลาการประมวลผลในเซิร์ฟเวอร์ฐานข้อมูล ทรัพยากรเครือข่ายถูกเก็บรักษาไว้เนื่องจากผลลัพธ์ระดับกลางไม่แสดงใน Oracle Analytics Cloud การไม่รันการสืบค้นในฐานข้อมูลจะช่วยให้เซิร์ฟเวอร์ฐานข้อมูลมีพื้นที่ว่างสำหรับทำงานอื่น หากฐานข้อมูลใช้ระบบการเรียกชำระเพิ่ม การรันการสืบค้นน้อยอาจตัดต้นทุนในงบประมาณได้ด้วย
ประโยชน์อีกอย่างหนึ่งของการใช้แคชเพื่อตอบรับการสืบค้นคือการประหยัดเวลาการประมวลผลใน Oracle Analytics Cloud โดยเฉพาะอย่างยิ่ง หากมีการดึงข้อมูลผลลัพธ์การสืบค้นจากหลายฐานข้อมูล อาจพิจารณารวมและเรียงลำดับการประมวลผลในเซิร์ฟเวอร์ทั้งนี้ขึ้นอยู่กับการสืบค้น หากคำนวณการสืบค้นแล้ว ระบบจะหลีกเลี่ยงการประมวลผลนี้ ซึ่งจะทำให้มีทรัพยากรเซิร์ฟเวอร์ว่างสำหรับงานอื่น
สรุปแล้วการแคชการสืบค้นสามารถปรับปรุงประสิทธิภาพการสืบค้นได้มากและช่วยลดการรับส่งข้อมูลในเครือข่าย การประมวลผลฐานข้อมูล และค่าใช้จ่ายในการดำเนินการของการประมวลผล
การแคชการสืบค้นมีประโยชน์ต่างๆ ที่ชัดเจน แต่ก็มีต้นทุนเช่นกัน
มีความเป็นไปได้ที่ผลลัพธ์ที่แคชจะเป็นข้อมูลที่หมดอายุ
ต้นทุนด้านการดูแลระบบของการจัดการแคช
ด้วยการจัดการแคช โดยทั่วไปแล้วประโยชน์จะมีค่าเกินกว่าต้นทุน
งานการดูแลระบบบางรายการเชื่อมโยงกับการแคช คุณต้องตั้งค่าเวลาเวลาการเก็บข้อมูลแคชสำหรับตารางแบบฟิสิคัลแต่ละตารางอย่างเหมาะสม โดยทราบความถี่ที่ข้อมูลในตารางดังกล่าวจะได้รับการอัปเดต
เมื่อความถี่ของการอัปเดตแตกต่างกัน คุณต้องติดตามเวลาที่การเปลี่ยนแปลงเกิดขึ้นและล้างข้อมูลแคชด้วยตนเองเมื่อจำเป็น
หากไม่ได้ล้างข้อมูลรายการแคชเมื่อข้อมูลในฐานข้อมูลที่ใช้งานเปลี่ยนแปลง การสืบค้นอาจแสดงผลลัพธ์ที่ไม่ใช่ข้อมูลล่าสุด
คุณต้องประเมินว่าสามารถยอมรับได้หรือไม่ อาจเป็นที่ยอมรับได้ถ้ายอมให้แคชเก็บข้อมูลบางอย่างที่หมดอายุไว้ คุณต้องตัดสินใจระดับที่ยอมรับได้ของข้อมูลที่หมดอายุและคอนฟิเกอร์ (และใช้งาน) ชุดกฎเพื่อแสดงระดับดังกล่าว
ตัวอย่างเช่น สมมติว่าแอปพลิเคชันวิเคราะห์ข้อมูลองค์กรจากกลุ่มบริษัทขนาดใหญ่ และคุณกำลังทำข้อมูลสรุปรายปีของแผนกต่างๆ ในบริษัท ข้อมูลใหม่จะไม่มีผลต่อการสืบค้น เนื่องจากข้อมูลใหม่มีผลเฉพาะข้อมูลสรุปของปีถัดไปเท่านั้น ในกรณีนี้ ช่วงเวลาสำหรับการตัดสินใจว่าจะล้างข้อมูลแคชหรือไม่อาจทิ้งรายการข้อมูลไว้ในแคช
อย่างไรก็ตาม สมมติว่ามีการอัปเดตฐานข้อมูล 3 ครั้งใน 1 วันและคุณกำลังสืบค้นกิจกรรมของวันที่ปัจจุบัน ในกรณีนี้ คุณต้องล้างข้อมูลแคชบ่อยขึ้น หรืออาจพิจารณาไม่ใช้แคชเลย
อีกสถานการณ์หนึ่งคือคุณสร้างชุดข้อมูลไว้ล่วงหน้าตั้งแต่เริ่มต้นช่วงระยะเวลา (ตัวอย่างเช่น หนึ่งครั้งต่อสัปดาห์) ในตัวอย่างนี้ คุณสามารถล้างข้อมูลแคชทั้งหมดในกระบวนการการสร้างชุดข้อมูลใหม่ ซึ่งจะช่วยให้แน่ใจว่าคุณไม่มีข้อมูลที่หมดอายุในแคช
ไม่ว่าสถานการณ์ของคุณจะเป็นอย่างไร คุณต้องประเมินสิ่งที่สามารถยอมรับได้สำหรับข้อมูลที่ไม่เป็นปัจจุบันที่แสดงแก่ผู้ใช้
ใน Oracle Analytics Cloud แคชการสืบค้นจะใช้งานตามค่าดีฟอลต์ คุณสามารถใช้งานหรือเลิกใช้การแคชการสืบค้นได้ในเพจ การตั้งค่าระบบขั้นสูง
ในการจัดการการเปลี่ยนแปลงในฐานข้อมูลที่ใช้งานและเพื่อตรวจสอบรายการแคช คุณต้องพัฒนากลยุทธ์การจัดการแคช
คุณต้องการกระบวนการในการเลิกใช้รายการแคชเมื่อข้อมูลในตารางที่ใช้งานที่ประกอบด้วยรายการแคชเปลี่ยนแปลง และกระบวนการเพื่อตรวจสอบ ระบุ และย้ายรายการแคชที่ไม่ต้องการออก
ส่วนนี้ประกอบด้วยหัวข้อดังต่อไปนี้
ตัวเลือกกลยุทธ์การจัดการแคชจะขึ้นอยู่กับความผันผวนของข้อมูลในฐานข้อมูลที่ใช้งานและความสามารถในการคาดการณ์การเปลี่ยนแปลงที่ทำให้เกิดความผันผวนนี้
นอกจากนี้ ยังขึ้นอยู่กับจำนวนและประเภทการสืบค้นที่ประกอบด้วยแคชของคุณและการใช้งานที่การสืบค้นที่ได้รับ ส่วนนี้มีภาพรวมเกี่ยวกับวิธีการต่างๆ สำหรับการจัดการแคช
คุณสามารถเลิกใช้การแคชสำหรับระบบทั้งหมดเพื่อยุติรายการแคชใหม่ทั้งหมดและยุติการสืบค้นใหม่จากการใช้แคชที่มี การเลิกใช้แคชจะให้คุณสามารถใช้งานได้ในภายหลังโดยไม่สูญเสียรายการใดๆ ที่จัดเก็บไว้ในแคช
การเลิกใช้การแคชชั่วคราวเป็นกลยุทธ์ที่มีประโยชน์ในสถานการณ์ที่คุณอาจสงสัยว่ามีรายการแคชที่หมดอายุ แต่ต้องการตรวจสอบว่าจริงๆ แล้วข้อมูลนั้นหมดอายุก่อนที่จะล้างรายการข้อมูลนั้นหรือแคชทั้งหมด หากคุณพบว่าข้อมูลที่จัดเก็บไว้ในแคชยังมีความเกี่ยวข้องอยู่ หรือหลังจากที่คุณล้างข้อมูลรายการปัญหาเรียบร้อยแล้ว คุณสามารถใช้งานการแคชได้อย่างปลอดภัย หากจำเป็น ให้ล้างข้อมูลการแคชทั้งหมดหรือแคชที่เชื่อมโยงกับโมเดลธุรกิจเฉพาะก่อนใช้งานการแคชอีกครั้ง
คุณสามารถตั้งค่าแอททริบิวที่สามารถแคชได้สำหรับแต่ละตารางแบบฟิสิคัล ซึ่งช่วยให้คุณสามารถระบุว่าการสืบค้นสำหรับตารางนั้นเพิ่มในแคชหรือไม่เพื่อตอบรับการสืบค้นในอนาคต
หากคุณใช้งานการแคชสำหรับตาราง การสืบค้นใดๆ ที่เกี่ยวข้องกับตารางจะถูกเพิ่มในแคช ตารางทั้งหมดสามารถแคชได้ตามค่าดีฟอลต์ แต่บางตารางอาจไม่ใช่ตัวเลือกที่ดีในการรวมอยู่ในแคช เว้นแต่คุณจะตั้งค่าการเก็บข้อมูลแคชที่เหมาะสม ตัวอย่างเช่น สมมุตว่าคุณมีตารางที่จัดเก็บข้อมูลทริกเกอร์หุ้นที่มีการอัปเดตทุกนาที คุณสามารถระบุว่าคุณต้องการล้างข้อมูลรายการสำหรับตารางนั้นทุก 59 วินาที
นอกจากนี้ คุณยังสามารถใช้การตั้งค่าการเก็บข้อมูลแคชเพื่อระบุระยะเวลาที่รายการของตารางนี้จะได้รับการจัดเก็บในแคชการสืบค้น ซึ่งมีประโยชน์สำหรับที่มาข้อมูลมีการอัปเดตบ่อย
ใน Model Administration Tool ในเลเยอร์ฟิสิคัล ให้ดับเบิลคลิกตารางฟิสิคัล
หากคุณใช้ Semantic Modeler โปรดดู คุณสมบัติทั่วไปของตารางแบบฟิสิคัลคืออะไร
ในไดอะล็อกคุณสมบัติ ตารางแบบฟิสิคัล ในแท็บ ทั่วไป ให้เลือกรายการใดรายการหนึ่งต่อไปนี้:
ในการใช้งานการแคช เลือก สามารถแคชได้
ในการป้องกันไม่ให้แคชตาราง ให้ยกเลิกการเลือก สามารถแคชได้
ในการตั้งค่าเวลาหมดอายุแคช ให้ระบุ เวลาการเก็บข้อมูลแคช และระบุหน่วยวัด (วัน, ชั่วโมง, นาที หรือวินาที) หากคุณไม่ต้องการแคชรายการเพื่อให้หมดอายุโดยอัตโนมัติ เลือก แคชไม่หมดอายุ
คลิก ตกลง
เมื่อคุณแก้ไขโมเดลรูปแบบภาษาโดยใช้ Semantic Modeler หรือ Model Administration Tool การเปลี่ยนแปลงจะมีผลต่อรายการที่จัดเก็บในแคช ตัวอย่างเช่น หากคุณเปลี่ยนการกำหนดของออบเจกต์แบบฟิสิคัลหรือตัวแปรโมเดลรูปแบบภาษาแบบไดนามิค รายการแคชที่อ้างอิงออบเจกต์หรือตัวแปรนั้นอาจใช้ไม่ได้อีกต่อไป การเปลี่ยนแปลงเหล่านี้อาจทำให้จำเป็นต้องล้างแคช มีสองสถานการณ์ที่ต้องระวัง: เมื่อคุณแก้ไขโมเดลรูปแบบภาษาที่มีอยู่ของคุณ และเมื่อคุณสร้าง (หรืออัปโหลด) โมเดลรูปแบบภาษาใหม่
การเปลี่ยนแปลงกับโมเดลรูปแบบภาษา
เมื่อคุณแก้ไขโมเดลรูปแบบภาษาหรืออัปโหลดไฟล์ .rpd อื่น การเปลี่ยนแปลงใดๆ ที่คุณทำซึ่งมีผลต่อรายการแคชจะทำให้เกิดการล้างข้อมูลรายการแคชทั้งหมดที่อ้างอิงออบเจกต์ที่เปลี่ยนแปลงนั้นโดยอัตโนมัติ การล้างข้อมูลจะเกิดขึ้นเมื่อคุณอัปโหลดการเปลี่ยนแปลง ตัวอย่างเช่น หากคุณลบตารางแบบฟิสิคัลออกจากโมเดลรูปแบบภาษา รายการแคชทั้งหมดที่อ้างอิงตารางนั้นจะถูกล้างข้อมูลเมื่อเช็คอิน การเปลี่ยนแปลงที่เกิดขึ้นกับโมเดลรูปแบบภาษาในเลเยอร์แบบลอจิคัล จะเป็นการล้างข้อมูลรายการแคชทั้งหมดสำหรับโมเดลรูปแบบภาษานั้น
เปลี่ยนเป็นตัวแปรโมเดลรูปแบบภาษาร่วม
ค่าของตัวแปรโมเดลรูปแบบภาษาร่วมจะได้รับการรีเฟรชโดยข้อมูลที่ส่งกลับมาจากการสืบค้น เมื่อคุณกำหนดตัวแปรโมเดลรูปแบบภาษาร่วม คุณจะสร้างบล็อคการแสดงข้อมูลหรือใช้บล็อคการแสดงข้อมูลที่มีอยู่ก่อนหน้าซึ่งมีการสืบค้น SQL คุณยังจะต้องคอนฟิเกอร์กำหนดการเพื่อรันการสืบค้นและรีเฟรชค่าของตัวแปรเป็นระยะด้วย
หากค่าของตัวแปรโมเดลรูปแบบภาษาร่วมมีการเปลี่ยนแปลง รายการแคชใดๆ ที่ใช้ตัวแปรนี้มนคอลัมน์จะกลายเป็นข้อมูลเก่า และระบบจะสร้างรายการแคชใหม่เมื่อจำเป็นต้องใช้ข้อมูลในรายการนั้นอีกครั้ง รายการแคชเก่าจะไม่ถูกลบออกทันที แต่ยังคงอยู่จนกว่าจะถูกล้างข้อมูลผ่านกลไกลการแคชตามปกติ
ประโยชน์อย่างหนึ่งที่สำคัญของแคชการสืบค้นคือการปรับปรุงประสิทธิภาพการสืบค้นที่ชัดเจน
การแคชการสืบค้นอาจมีประโยชน์ในการสร้างแคชเป็นตัวเลือกในระหว่างชั่วโมงที่ไม่ได้ทำงานโดยรันการสืบค้นและแคชผลลัพธ์ กลยุทธ์การสร้างเป็นตัวเลือกที่ดีกำหนดให้คุณทราบเวลาที่การพบข้อมูลในแคชเกิดขึ้น
หากคุณต้องการสร้างแคชเป็นตัวเลือกสำหรับผู้ใช้ทั้งหมด คุณอาจต้องสร้างแคชเป็นตัวเลือกกับการสืบค้นต่อไปนี้
SELECT User, SRs
หลังจากที่สร้างแคชเป็นตัวเลือกโดยใช้ SELECT User, SRs
การสืบค้นต่อไปนี้คือการพบข้อมูลในแคช
SELECT User, SRs WHERE user = valueof(nq_SESSION.USER) (และผู้ใช้คือ USER1) SELECT User, SRs WHERE user = valueof(nq_SESSION.USER) (และผู้ใช้คือ USER2) SELECT User, SRs WHERE user = valueof(nq_SESSION.USER) (และผู้ใช้คือ USER3)
ส่วนนี้ประกอบด้วยหัวข้อดังต่อไปนี้
เมื่อใช้งานการแคช ระบบจะประเมินการสืบค้นแต่ละรายการเพื่อกำหนดว่ามีคุณสมบัติเหมาะสมสำหรับการพบข้อมูลในแคชหรือไม่
การพบข้อมูลในแคชหมายความว่า Oracle Analytics Cloud สามารถใช้แคชเพื่อตอบรับการสืบค้นและไม่ได้ไปที่ฐานข้อมูล Oracle Analytics Cloud สามารถใช้แคชการสืบค้นเพื่อตอบรับการสืบค้นในการสรุปรวมระดับเดียวกันหรือที่สูงกว่า
แฟคเตอร์ต่างๆ จะกำหนดว่าพบข้อมูลในแคชหรือไม่ ตารางด้านล่างจะอธิบายแฟคเตอร์ต่างๆ เหล่านี้
แฟคเตอร์หรือกฎ | คำอธิบาย |
---|---|
ชุดย่อยของคอลัมน์ในลิสต์ |
คอลัมน์ทั้งหมดในลิสต์ กฎนี้จะอธิบายข้อกำหนดขั้นต่ำสำหรับการพบข้อมูลในแคช แต่การตรงตามกฎนี้ไม่ได้รับประกันการพบข้อมูลในแคช กฎอื่นๆ ที่แสดงในตารางนี้จะใช้ด้วยเช่นกัน |
คอลัมน์ในลิสต์ |
Oracle Analytics Cloud สามารถคำนวณเอ็กซ์เพรสชันในผลลัพธ์ที่แคชเพื่อตอบรับการสืบค้นใหม่ แต่คอลัมน์ทั้งหมดต้องอยู่ในผลลัพธ์ที่แคช ตัวอย่างเช่น การสืบค้น SELECT product, month, averageprice FROM sales WHERE year = 2000 พบข้อมูลแคชในการสืบค้น: SELECT product, month, dollars, unitsales FROM sales WHERE year = 2000 เนื่องจาก |
ส่วนคำสั่ง |
สำหรับการสืบค้นเพื่อตรวจสอบคุณสมบัติเป็นการพบข้อมูลในแคช ข้อจำกัดของส่วนคำสั่ง ส่วนคำสั่ง
นอกจากนี้ คอลัมน์ที่ใช้ในส่วนคำสั่ง SELECT employeename FROM employee, geography WHERE region in ('EAST', 'WEST') ไม่ส่งผลให้มีการพบข้อมูลในแคชสำหรับการสืบค้นที่ให้เลือกในลิสต์ก่อนหน้า เนื่องจาก REGION ไม่ได้อยู่ในลิสต์การประมาณการ |
การสืบค้นไดเมนชันอย่างเดียวต้องเป็นแบบตรงกันทั้งหมด |
หากการสืบค้นคือไดเมนชันอย่างเดียวหมายความว่าจะไม่มีข้อเท็จจริงหรือการวัดรวมในการสืบค้น เฉพาะการจับคู่ที่ตรงกันทั้งหมดของคอลัมน์การประมาณการในการสืบค้นที่แคชจะพบข้อมูลในแคช ลักษณะนี้จะป้องกันไม่ให้มี false positive เมื่อมีหลายที่มาแบบลอจิคัลสำหรับตารางไดเมนชัน |
การสืบค้นที่มีฟังก์ชันพิเศษต้องเป็นแบบตรงกันทั้งหมด |
การสืบค้นอื่นๆ ที่มีฟังก์ชันพิเศษ เช่น ฟังก์ชันชุดเวลา ( |
ชุดตารางแบบลอจิคัลต้องเป็นแบบตรงกันทั้งหมด |
เพื่อให้มีคุณสมบัติเป็นการพบข้อมูลในแคชทั้งหมด การสืบค้นขาเข้าทั้งหมดต้องมีชุดตารางแบบลอจิคัลเดียวกันกับรายการแคช กฎนี้หลีกเลี่ยงการการพบข้อมูลในแคชที่ไม่ถูกต้อง ตัวอย่างเช่น |
ค่าตัวแปรเซสชันต้องตรงกันทั้งหมด รวมทั้งตัวแปรเซสชันการรักษาความปลอดภัย |
หากคำสั่ง SQL ลอจิคัลหรือ SQL ฟิสิคัลอ้างถึงตัวแปรเซสชันใดๆ ค่าตัวแปรเซสชันต้องตรงกันทั้งหมด มิฉะนั้น การแคชจะไม่พบข้อมูล นอกจากนี้ ค่าของตัวแปรเซสชันที่มีระบบการรักษาความปลอดภัยสูงต้องตรงกับค่าตัวแปรเซสชันการรักษาความปลอดภัยที่กำหนดในโมเดลรูปแบบภาษา แม้ว่าคำสั่ง SQL แบบลอจิคัลไม่ได้อ้างอิงตัวแปรเซสชัน โปรดดู ตรวจสอบให้แน่ใจว่าผลลัพธ์แคชถูกต้องเมื่อใช้การรักษาความปลอดภัยฐานข้อมูลระดับแถว |
เกี่ยวกับเงื่อนไขการรวมเทียบเท่า |
ตารางแบบลอจิคัลที่รวมที่เป็นผลลัพธ์ของคำขอสืบค้นใหม่ต้องเหมือนกับ (หรือเป็นชุดย่อยของ) ผลลัพธ์ที่แคชเพื่อให้มีคุณสมบัติเหมาะสมสำหรับการพบข้อมูลในแคช |
แอททริบิว |
หากการสืบค้นที่แคชกำจัดเรคคอร์ดที่ซ้ำกันด้วยการประมวลผล |
การสืบค้นต้องมีระดับการสรุปรวมที่ใช้ร่วมกันได้ |
การสืบค้นที่ขอระดับข้อมูลที่สรุปรวมสามารถใช้ผลลัพธ์ที่แคชที่ระดับการสรุปรวมต่ำกว่าได้ ตัวอย่างเช่น การสืบค้นต่อไปนี้ขอปริมาณที่ขายที่ระดับซัพพลายเออร์ และภูมิภาค และเมือง: SELECT supplier, region, city, qtysold FROM suppliercity การสืบค้นต่อไปนี้ขอปริมาณที่ขายที่ระดับเมือง: SELECT city, qtysold FROM suppliercity การสืบค้นที่สองส่งผลให้มีการพบข้อมูลในแคชในการสืบค้นแรก |
การสรุปรวมเพิ่มเติมแบบจำกัด |
ตัวอย่างเช่น หากมีการแคชการสืบค้นที่มีคอลัมน์ |
ส่วนคำสั่ง |
การสืบค้นที่สั่งโดยคอลัมน์ที่ไม่มีอยู่ในลิสต์ Select จะทำให้ไม่พบข้อมูลในแคช |
การวินิจฉัยลักษณะการพบข้อมูลในแคช |
เพื่อประเมินลักษณะการพบข้อมูลในแคชที่มีประสิทธิภาพยิ่งขึ้น ให้ตั้งค่าตัวแปรเซสชัน ENABLE_CACHE_DIAGNOSTICS เป็น 4 ตามที่แสดงในตัวอย่างต่อไปนี้: ENABLE_CACHE_DIAGNOSTICS=4 |
เมื่อใช้กลยุทธ์การรักษาความปลอดภัยฐานข้อมูลระดับแถว เช่น Virtual Private Database (VPD) ผลลัพธ์ข้อมูลที่แสดงจะขึ้นอยู่กับชื่อผู้ใช้และรหัสผ่านการให้สิทธิ์ของผู้ใช้
ด้วยเหตุนี้ Oracle Analytics Cloud ต้องทราบว่าที่มาข้อมูลใช้การรักษาความปลอดภัยฐานข้อมูลระดับแถวหรือไม่และตัวแปรใดที่เกี่ยวข้องกับการรักษาความปลอดภัย
เพื่อให้แน่ใจว่าการพบข้อมูลในแคชเกิดขึ้นเฉพาะในรายการแคชที่รวมและตรงกับตัวแปรที่ทั้งหมดที่มีข้อมูลความปลอดภัยที่ละเอียดอ่อน คุณต้องคอนฟิเกอร์ออบเจกต์ฐานข้อมูลและออบเจกต์ตัวแปรของเซสชันให้ถูกต้องใน Model Administration Tool ดังนี้:
ออบเจกต์ฐานข้อมูล ในเลเยอร์แบบฟิสิคัล ในแท็บทั่วไปของไดอะล็อกฐานข้อมูล เลือก Virtual Private Database เพื่อระบุว่าที่มาข้อมูลใช้การรักษาความปลอดภัยฐานข้อมูลระดับแถว
ถ้าคุณใช้การรักษาความปลอดภัยฐานข้อมูลระดับแถวที่มีการแคชที่ใช้งานร่วมกัน คุณ ต้อง เลือกตัวเลือกนี้เพื่อป้องกันการใช้รายการแคชร่วมกันซึ่งตัวแปรที่ไวต่อความปลอดภัยไม่ตรงกัน
ออบเจกต์ตัวแปรของเซสชัน สำหรับตัวแปรที่เกี่ยวข้องกับการรักษาความปลอดภัย ในไดอะล็อกตัวแปรของเซสชัน เลือก ข้อมูลความปลอดภัยที่ละเอียดอ่อน เพื่อระบุเป็นความอ่อนไหวต่อการรักษาความปลอดภัยเมื่อใช้กลยุทธ์การรักษาความปลอดภัยฐานข้อมูลระดับแถว ตัวเลือกนี้จะช่วยให้แน่ใจว่ารายการแคชมีการทำเครื่องหมายตัวแปรที่ไวต่อความปลอดภัย ซึ่งช่วยให้ตัวแปรที่ไวต่อความปลอดภัยตรงกับการสืบค้นที่เข้ามาทั้งหมด
เพื่อให้มีการพบข้อมูลในแคชที่เป็นไปได้มากที่สุด กลยุทธ์หนึ่งคือการรันชุดการสืบค้นเพื่อป็อปปูเลทแคช
ต่อไปนี้เป็นข้อแนะนำบางประการเกี่ยวกับประเภทการสืบค้นสำหรับใช้เมื่อสร้างชุดการสืบค้นที่มีการสืบค้นเพื่อสร้างแคชเป็นตัวเลือก
การสืบค้นทั่วไปที่สร้างไว้ล่วงหน้า การสืบค้นที่รันทั่วไป โดยเฉพาะอย่างยิ่งการสืบค้นที่มีราคาสูงในการดำเนินการ เป็นการสืบค้นที่สร้างแคชเป็นตัวเลือกที่ดี การสืบค้นที่ผลลัพธ์รวมอยู่ในแผงข้อมูลเป็นตัวอย่างที่ดีของการสืบค้นทั่วไป
ลิสต์ SELECT ที่ไม่มีเอ็กซ์เพรสชัน การกำจัดเอ็กซ์เพรสชันในคอลัมน์ลิสต์ SELECT
จะเพิ่มความเป็นไปได้สำหรับการพบข้อมูลในแคช คอลัมน์ที่แคชที่มีเอ็กซ์เพรสชันสามารถตอบรับการสืบค้นใหม่ที่มีเอ็กซ์เพรสชันเดียวกันได้ คอลัมน์ที่แคชที่ไม่มีเอ็กซ์เพรสชันสามารถตอบรับคำขอสำหรับคอลัมน์ที่มีเอ็กซ์เพรสชันใดๆ ได้ ตัวอย่างเช่น คำขอที่แคช เช่น:
SELECT QUANTITY, REVENUE...
สามารถตอบรับการสืบค้นใหม่ เช่น:
SELECT QUANTITY/REVENUE...
แต่ไม่ใช่การย้อนกลับ
ไม่มีส่วนของคำสั่ง WHERE หากไม่มีส่วนของคำสั่ง WHERE
ในผลลัพธ์ที่แคช จะสามารถใช้ผลลัพธ์เพื่อตอบรับการสืบค้นที่ตรงตามกฎการพบข้อมูลในแคชสำหรับลิสต์ที่เลือกที่มีส่วนของคำสั่ง WHERE
ที่รวมคอลัมน์ในลิสต์การประมาณการ
โดยทั่วไป การสืบค้นที่ดีที่สุดเพื่อสร้างแคชเป็นตัวเลือกคือการสืบค้นที่ใช้ทรัพยากรการประมวลผลฐานข้อมูลจำนวนมากและที่มีแนวโน้มจะออกใหม่ ระวังอย่าให้มีการสร้างแคชที่มีการสืบค้นทั่วไปที่แสดงแถวหลายแถวเป็นตัวเลือก การสืบค้นเหล่านี้ (ตัวอย่างเช่น SELECT * FROM PRODUCTS
โดย PRODUCTS
แมปโดยตรงกับตารางฐานข้อมูลเดียว) จะกำหนดให้มีการประมวลผลฐานข้อมูลน้อยมาก ค่าใช้จ่ายได้แก่ค่าใช้จ่ายดำเนินการเครือข่ายและดิสก์ ซึ่งเป็นแฟคเตอร์ที่การแคชมีค่าใช้จ่ายไม่น้อยลง
เมื่อ Oracle Analytics Cloud รีเฟรชตัวแปรโมเดลรูปแบบภาษา จะมีการตรวจสอบโมเดลธุรกิจเพื่อกำหนดว่าอ้างอิงตัวแปรโมเดลรูปแบบภาษานั้นหรือไม่ หากอ้างอิง Oracle Analytics Cloud จะล้างข้อมูลแคชทั้งหมดสำหรับโมเดลธุรกิจนั้น โปรดดู วิธีที่การเปลี่ยนแปลงของโมเดลรูปแบบภาษามีผลต่อแคชการสืบค้น
คุณสามารถคอนฟิเกอร์เอเจนต์เพื่อสร้างแคชการสืบค้น Oracle Analytics Cloud เป็นตัวเลือก
การสร้างแคชเป็นตัวเลือกสามารถปรับปรุงเวลาการตอบกลับให้ดีขึ้นสำหรับผู้ใช้เมื่อรันการวิเคราะห์หรือดูการวิเคราะห์ที่รวมในแผงข้อมูล คุณสามารถดำเนินการนี้ให้เสร็จสมบูรณ์ได้โดยการวางกำหนดการเอเจนต์ให้รันคำขอที่รีเฟรชข้อมูลนี้
ความแตกต่างเพียงอย่างเดียวระหว่างเอเจนต์การสร้างแคชเป็นตัวเลือกและเอเจนต์อื่นๆ คือการล้างแคชก่อนหน้านี้โดยอัตโนมัติและจะไม่ปรากฏบนแผงควบคุมเมื่อแจ้งเตือน
หมายเหตุ:
เอเจนต์การสร้างแคชเป็นตัวเลือกจะล้างข้อมูลการสืบค้นที่ตรงกันทั้งหมดเท่านั้น ดังนั้นข้อมูลที่หมดอายุจะยังคงอยู่ ตรวจสอบให้แน่ใจว่ากลยุทธ์การแคชมีการล้างข้อมูลแคชรวมอยู่ด้วยทุกครั้ง เนื่องจากการสืบค้นเอเจนต์จะไม่จัดการการสืบค้นเฉพาะกิจหรือข้อมูลเพิ่มเติมการล้างข้อมูลแคชจะลบรายการทั้งหมดจากแคชการสืบค้นและช่วยให้เนื้อหาของคุณเป็นข้อมูลล่าสุด คุณสามารถล้างข้อมูลรายการแคชสำหรับตารางที่กำหนดได้โดยอัตโนมัติ โดยการตั้งค่าฟิลด์ เวลาการเก็บข้อมูลแคช สำหรับแต่ละตารางใน Model Administration Tool
หมายเหตุ:
หากคุณใช้ Semantic Modeler โปรดดู คุณสมบัติทั่วไปของตารางแบบฟิสิคัลคืออะไร
ซึ่งมีประโยชน์สำหรับที่มาข้อมูลมีการอัปเดตบ่อย ตัวอย่างเช่น หากคุณมีตารางที่จัดเก็บข้อมูลทิกเกอร์หุ้นซึ่งมีการอัปเดตทุกนาที คุณสามารถใช้การตั้งค่า เวลาการเก็บข้อมูลแคช เพื่อล้างข้อมูลรายการสำหรับตารางดังกล่าวทุก 59 วินาที โปรดดู การกำหนดเวลาแคชและเวลาการเก็บข้อมูลแคชสำหรับตารางแบบฟิสิคัลที่กำหนด