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

ปลดล็อก Query ความเร็วแสงกับ Oracle In-Memory Advisor

โพสต์นี้อธิบาย Oracle In-Memory Advisor (IMA) ฟีเจอร์ของ Database 12c และประโยชน์ มีให้ใช้งานตั้งแต่ Oracle Database 12.1.0.2 ขึ้นไป

ประโยชน์ของ IMA

  • Analytical queries เร็วขึ้น
  • OLTP transactions เร็วขึ้น
  • ไม่ต้องเปลี่ยนแอปพลิเคชัน
  • ลดงาน manual ของ DBA ในการ optimize database performance

ก่อนมี IMA DBA ต้องระบุตารางที่จะวางใน In-Memory Column Store (IMCS) เอง IMA กำจัดงาน manual นี้โดยวิเคราะห์ analytical workload และสร้างรายงานแนะนำ (รวมคำสั่ง SQL สำหรับวางตารางใน IMCS)

IMA ให้คำแนะนำเฉพาะเจาะจงเรื่องการตั้งค่า Oracle Database In-Memory สร้างรายงานระบุออบเจ็กต์ที่ควรวางใน IMCS เพื่อประโยชน์สูงสุด พร้อม SQL*Plus script ที่ implement คำแนะนำเหล่านั้น

IMA Installation Package

ไฟล์ zip และคำแนะนำติดตั้งอยู่ใน My Oracle Support (MOS) Doc ID 1965343.1 สคริปต์ติดตั้ง IMA ที่ระดับฐานข้อมูล IMA รันได้บน Oracle Database 11.2.0.3 แต่แนะนำให้ใช้ 12.1.0.2 ขึ้นไป

DBMS_INMEMORY_ADVISOR package ให้คำแนะนำเกี่ยวกับ analytic workloads ที่ได้ประโยชน์จาก In-Memory option โดยวิเคราะห์ Active Session History (ASH) และ Automatic Workload Repository (AWR) data สร้างรายงานและ script file ที่มี SQL สำหรับรันบน target databases สคริปต์วางออบเจ็กต์ที่แนะนำใน In-Memory พร้อม compression types ที่แนะนำ

IMA Dual-Format Architecture

โดยปกติ Oracle เก็บข้อมูลใน row format แต่ละ transaction เก็บเป็น row ใหม่ เหมาะกับ OLTP เพราะเข้าถึงทุกคอลัมน์ใน record ได้เร็ว Column-format database เก็บแต่ละ attribute ในโครงสร้างคอลัมน์แยกกัน เหมาะกับ analytics เพราะดึงคอลัมน์น้อยกว่า สำหรับ DML (insert, update, delete) row format มีประสิทธิภาพเพราะ update ทั้ง record ในครั้งเดียว ถ้ารัน operations เดียวกันกับ column format ต้องเปลี่ยนโครงสร้างคอลัมน์ทั้งหมด ไม่มีประสิทธิภาพสำหรับ row-wise DML

ใน Oracle Database 12c ข้อมูลสามารถ populate ตารางในทั้ง In-Memory row format และ In-Memory column format เรียกว่า dual-format architecture ให้ประสิทธิภาพดีกว่า Buffer cache ที่มีอยู่ดูแล row format และ In-Memory column store ใหม่ดูแล column format IM column store เป็นส่วนประกอบของ Oracle Database SGA

หากมีตารางกว้างหลายร้อยล้านหรือพันล้าน rows สามารถ scan และ filter ได้เร็วมาก แม้ใน data warehousing environment สามารถ join คอลัมน์จาก fact table ไป multiple dimension tables ด้วยความเร็วที่ไม่น่าเชื่อ เนื่องจากข้อมูลอยู่ใน columnar format แทน row-major format เข้าถึงข้อมูลได้เร็วกว่ามากเพราะขจัดคอลัมน์กลางที่ไม่จำเป็นออกไป

IMA และ OLTP

IMA ช่วยปรับปรุง queries บน OLTP และ data warehouse operations ด้วยความสามารถหลัก:

  • ช่วยเลือก In-Memory size
  • แนะนำ tables, partitions, sub-partitions สำหรับ In-Memory size ที่กำหนด
  • ใช้ workload และ performance data จัดลำดับความสำคัญออบเจ็กต์
  • รองรับความแตกต่างของ disk/memory footprint และ compression ratios
  • Cost/benefit analysis: Cost = estimated memory size พร้อม compression options, Benefit = estimated database time-reduction metrics
  • In-memory area population plan
  • Reporting รวม top SQL benefits จาก configuration ใดๆ
  • ปรับ In-Memory size เพื่อรับ loading plan เฉพาะ
  • Generate DDL scripts พร้อม tables, partitions, sub-partitions ที่แนะนำ

สรุป

ด้วย In-Memory option สามารถเร่ง analytical queries และ OLTP รวมถึง optimize database performance ได้ง่ายด้วยการเกี่ยวข้องของ DBA น้อยลง จากมุมมองธุรกิจ: ตัดสินใจได้ดีขึ้นแบบ real-time, เพิ่ม productivity, เพิ่ม competitiveness, ลดต้นทุน