สำหรับ Oracle Database 23c นั้น Oracle ได้ตั้งเป้าไปที่การเสริมศักยภาพให้กับนักพัฒนาและทำให้การใช้ปัญญาประดิษฐ์ (AI) ในฐานข้อมูลง่ายขึ้น พร้อมด้วยการปรับปรุงด้านอื่นๆ ในฐานข้อมูล ไม่ว่าจะเป็นความพร้อมในการใช้งาน (High availability), ประสิทธิภาพในการทำงาน (Top-notch performance) และรวมไปถึงเรื่องของความปลอดภัย (ironclad security) ทำให้มีการเพิ่ม features ใหม่ๆ เข้ามา ดังนั้นจะขอยกคุณสมับติใหม่ที่เข้ามาเพิ่มเติมในบทความนี้
Innovation in AI
อาจเป็นเรื่องท้าทายสำหรับนักวิเคราะห์ข้อมูลและนักพัฒนา ในการสร้างแบบจำลองการวิเคราะห์ที่สะท้อนข้อมูลในฐานข้อมูลของตนอย่างแท้จริง ในปัจจุบัน ไม่ใช่เรื่องแปลกที่จะเห็นนักพัฒนาพยายามดึงชุดข้อมูลขนาดใหญ่จากฐานข้อมูล แล้วพยายามค้นหาโมเดล Machine Learning (ML) ที่ให้ผลลัพธ์ที่แม่นยำ ด้วยเหตุนี้ Oracle จึงได้สร้างอัลกอริธึม (Algorithm) การขุดข้อมูลและการเรียนรู้ของเครื่องโดยตรง ใน Oracle Database และมอบเครื่องมือที่จะช่วยค้นหาอัลกอริธึมที่ดีที่สุดเพื่อให้ได้ผลลัพธ์ที่รวดเร็วและแม่นยำ นอกจากนี้ยังมีการพัฒนาฟังก์ชันการทำงานของ ML เช่น การปรับปรุง XGBoost และอัลกอริธึม Generalized Linear Model เพื่อปรับปรุงความแม่นยำในการคาดการณ์
เพื่อช่วยนักพัฒนาและนักวิเคราะห์ในการใช้ประโยชน์จากฐานข้อมูล Oracle ได้ออกฟังก์ชันใหม่ที่ช่วยให้เข้าถึงประสิทธิภาพของ LLM ร่วมกับฐานข้อมูลโดยไม่กระทบต่อความปลอดภัยของข้อมูล โดยผู้ใช้งานสามารถ “แชท” กับฐานข้อมูล Oracle (หรือผ่าน API) เพื่อให้ระบบตอบคำถามที่ซับซ้อนโดยใช้บริบทของชุดข้อมูลที่มี
ปัจจุบันเราสามารถจัดเก็บและสืบค้นข้อมูลเวกเตอร์ (Query vectors) ภายใน Oracle Database 19c ได้ แต่ Oracle ได้เพิ่มประเภทข้อมูล Native Vector datatype ใน Oracle Database 23c พร้อมด้วยดัชนีการค้นหาความคล้ายคลึงกันของข้อมูลที่ได้รับการปรับปรุง เพื่อเพิ่มประสิทธิภาพการสืบค้นอย่างมาก ฟังก์ชันและตัวดำเนินการ SQL ใหม่นี้ จะทำให้การสร้าง การจัดการ และสืบค้นข้อมูล ง่ายขึ้น ร่วมกับโมเดลข้อมูลอื่นๆ ที่ได้รับการสนับสนุนอยู่แล้วใน Oracle Database รวมถึง JSON, Spatial, Graph ฯลฯ
Making the Developer’s journey simpler (SQL)
Oracle Database เป็นฐานข้อมูลที่ออกแบบโดยใช้มาตรฐาน SQLซึ่งทำให้การ Query ชุดข้อมูลขนาดใหญ่และซับซ้อนง่ายขึ้น และได้ปรับปรุงฐานข้อมูล เพื่อเพิ่มประสิทธิภาพการดำเนินการ ไม่ว่าจะเป็นการ Analytical หรือ Operational systems และเทคโนโลยีต่างๆ เช่น Parallel Query, Real-Time Materialized Views, In-Memory Columnar Store ฯลฯ เพื่อให้มั่นใจได้ว่า SQL ของนักพัฒนามีประสิทธิภาพอยู่เสมอและมีการดำเนินการที่รวดเร็วและปรับขนาดได้
JSON
ใน Oracle Database 23c ได้เพิ่มขีดความสามารถของ JSON ให้มีความยืดหยุ่นในการสร้างแอปฯ และรวมถึงการจัดการข้อมูลและการวิเคราะห์อีกด้วย ทั้ง JSON และ Relational ต่างมีจุดแข็งและจุดอ่อนอยู่ โดยเมื่อสร้างแอปฯ นักพัฒนามักจะต้องเลือกหนึ่งในสองโมเดลข้อมูล และอาจติดอยู่กับข้อบกพร่องหรือดูที่เฟรมเวิร์ก Object Relation Mapping รวมถึงความซับซ้อนและปัญหาอื่นๆ ที่อาจเพิ่มเข้ามา
ใน Oracle Database 23c ได้เปิดตัวมุมมองของ JSON Relational Duality ด้วยเทคโนโลยีที่ก้าวล้ำ ซึ่งช่วยให้นักพัฒนาใช้ประโยชน์จากจุดแข็งของโมเดลข้อมูลทั้งสองได้ นักพัฒนาสามารถสร้างแอปฯ ที่ใช้เอกสาร JSON เป็นโมเดลการคงอยู่ของข้อมูลหลัก โดยใช้โมเดลการเข้าถึงที่ต้องการ (PUT, GET, DELETE) นอกจากนี้ยังสามารถใช้ประโยชน์จากโมเดลเชิงสัมพันธ์ได้เมื่อจำเป็น เนื่องจากมีแหล่งข้อมูลเพียงแหล่งเดียวสำหรับทั้งโมเดลข้อมูลเชิงสัมพันธ์และข้อมูลเอกสาร ทำให้นักพัฒนาสามารถใช้ประโยชน์จากโมเดลใดโมเดลหนึ่งได้ตลอดวงจรการพัฒนา
Property Graphs
ฐานข้อมูลกราฟ หรือ Graph databases นำเสนอแนวทางที่แตกต่างในการสร้างแบบจำลองความสัมพันธ์ที่ซับซ้อน อย่างไรก็ตามเมื่อไม่นานมานี้ ภาษาที่นักพัฒนาใช้เพื่อนำทางความสัมพันธ์เหล่านี้และฐานข้อมูลที่ใช้ในการจัดเก็บเป็นภาษาที่เป็นกรรมสิทธิ์ สิ่งนี้ขัดขวางการนำเทคโนโลยีที่สำคัญมาใช้ ดังนั้น Oracle ได้เล็งเห็นความสำคัญนี้จึงได้พัฒนา Oracle Database 23c ซึ่งเป็นฐานข้อมูลตัวแรกที่ใช้มาตรฐานใหม่นี้ได้ และ Oracle มั่นใจว่าการเปลี่ยนแปลงเหล่านี้จะช่วยขับเคลื่อนฐานข้อมูลรูปแบบ Graph ให้เป็นหัวใจขององค์กร
ฟังก์ชันการทำงานใหม่นี้ ทำให้ง่ายต่อการกำหนดโหนด (Nodes)และ เส้นเชื่อม (Edge) ที่กำหนดโมเดลกราฟและส่วนขยาย SQL เพื่อสืบค้น ประสิทธิภาพของโซลูชัน Oracle Database 23c มาจากความสามารถในการเรียกใช้การวิเคราะห์กราฟ นอกเหนือจากข้อมูลการปฏิบัติงาน โดยก่อนหน้านี้จำเป็นต้องแยกข้อมูลไปยังฐานข้อมูลเพื่อปกปิดข้อมูลเฉพาะทางสองแห่ง ซึ่งส่งผลให้เกิดปัญหาที่เกี่ยวข้องกับการรักษาที่เก็บข้อมูลสองแห่งให้เชื่อมกัน (synchronized) รวมถึงต้นทุนของทรัพยากรการประมวลผลและการจัดเก็บเพิ่มเติม การเก็บข้อมูลไว้ในฐานข้อมูลเดียว นอกจากจะช่วยลดปัญหาดังกล่าวแล้ว ยังช่วยให้เราสามารถวิเคราะห์ข้อมูลกราฟแบบเรียลไทม์สำหรับกรณีการใช้งาน เช่น การตรวจจับการฉ้อโกง
Caching
การแคชข้อมูล (Caching data) ในระดับแอปฯ เป็นรูปแบบการพัฒนาที่จำเป็น เพื่อลบปริมาณงานส่วนที่ไม่สำคัญออกจากฐานข้อมูลของเราและอาจลดเวลาแฝงของการสืบค้นด้วย โซลูชันจำนวนมากในตลาดปัจจุบันบังคับให้นักพัฒนาต้องตัดสินใจว่าควรแคชอะไร ควรแคชนานแค่ไหน อะไรทำให้ข้อมูลถูกลบออกจากแคช เกิดอะไรขึ้นในกรณีที่แคชล้มเหลว รูปร่างตัวกลาง ของข้อมูลและการตัดสินใจอื่นๆ อีกมากมาย ส่งผลให้นักพัฒนาถูกบังคับให้พัฒนาโค้ดที่ซับซ้อนเพื่อจัดการแคชระดับกลาง
ใน Oracle Database 23c มีโซลูชัน True Cache ซึ่งโซลูชันนี้ ช่วยลดความยุ่งยากในการแคชกับฐานข้อมูลของ Oracle ด้วยการใช้เทคโนโลยี “Active Data guard” ทำให้ Oracle Database 23c พิจารณาว่าแคชสอดคล้องกับการเปลี่ยนแปลงล่าสุดในอินสแตนซ์หลักหรือไม่ และดึงข้อมูลหากไม่มีอยู่ในแคช (cache miss) ด้วยการเปลี่ยนแปลงโค้ดแอปพลิเคชันเพียงเล็กน้อย เพื่อทำเครื่องหมายว่าโค้ดใดควรใช้แคช การได้รับประโยชน์จากแคชประสิทธิภาพสูงและยืดหยุ่นที่ซิงค์กับเซิร์ฟเวอร์ฐานข้อมูลหลักก็ง่ายกว่าที่เคย
Database Security
Oracle Database เป็นหนึ่งในฐานข้อมูลที่ปลอดภัยที่สุดในโลก ลูกค้าหลายพันองค์กรทั่วโลกพึ่งพาระบบนี้เพื่อรักษาความปลอดภัยข้อมูลที่มีความสำคัญต่อธุรกิจมากที่สุด อย่างไรก็ตามไม่ใช่แค่การรักษาความปลอดภัยของข้อมูลแต่ยังทำให้สามารถทำได้ง่ายขึ้นอีกด้วย คุณสมบัติหนึ่งที่ได้รับความนิยมในรุ่นก่อนๆ คือ Oracle SQL Firewall ก่อนหน้านี้ ระบบทำงานบนระดับที่แยกจากกัน โดยสกัดกั้น SQL และอนุญาตเฉพาะ SQL ที่ได้รับการอนุมัติเท่านั้น แนวทางนี้ช่วยกำจัดหนึ่งในการโจมตีด้านความปลอดภัยที่พบบ่อยที่สุดบนฐานข้อมูลได้อย่างแท้จริง นั่นก็คือ SQL Injections
ใน Oracle Database 23c นี้ Oracle ได้สร้าง SQL Firewall เวอร์ชันใหม่ลงในฐานข้อมูลโดยตรง การบูรณาการเข้ากับฐานข้อมูลเคอร์เนล (database kernel) โดยตรง ทำให้มีโมเดลที่ปลอดภัยยิ่งขึ้นและจัดการได้ง่ายกว่า สิ่งที่ต้องทำเพื่อใช้ Firewall SQL คือเริ่มจับ SQL จนกว่าจะมั่นใจว่าระบบมี SQL ทั้งหมดที่ต้องการใส่ไว้ใน "รายการที่อนุญาต (allow list)" เมื่อสร้างรายการแล้ว ผู้ใช้สามารถเปิด Firewall SQL ได้ เพื่อป้องกันไม่ให้ SQL ของมิจฉาชีพทำงานกับฐานข้อมูลและยังสามารถเพิ่มกฎเพิ่มเติมให้กับ Firewall SQL ได้ เช่น การอนุญาตให้เรียกใช้งาน SQL จากที่อยู่ IP ที่รองรับหรือแอปพลิเคชันที่รองรับ
นอกจาก Firewall SQL แล้ว Oracle ได้เพิ่ม “DB_DEVELOPER_ROLE” ซึ่งเป็นการมอบสิทธิ์ที่จำเป็นทั้งหมดแก่นักพัฒนาในการออกแบบ สร้าง ปรับใช้ และบำรุงรักษาแอปพลิเคชันใน Oracle Database 23c ซึ่งจะช่วยลดการโจมตีโดยรวมของฐานข้อมูล และยังเพิ่มการสนับสนุนในการให้สิทธิ์ในระดับ schema อีกด้วย การเปลี่ยนแปลงนี้ออกแบบมาเพื่อให้การให้สิทธิ์ง่ายขึ้น แต่ยังทำให้การเก็บรักษาสคริปต์ (scripts) ง่ายขึ้นเมื่อมีการเพิ่มและลบ objects ออกจาก schema นอกจากนี้ Oracle ได้เพิ่มการปรับปรุงอีกมากมาย เช่น การรับรองความถูกต้อง (Authentication), การตรวจสอบ (Auditing) และการเข้ารหัส (Encryption) อีกด้วย
High Availability
Oracle Database มีโซลูชันที่มอบความพร้อมใช้งานในระดับสูงสุด ที่เรียกว่า High Availability โดยประกอบด้วยเทคโนโลยีต่างๆ เช่น Real Application Clusters (RAC), Data Guard, RMAN, Golden Gate และ Sharding ทำให้แน่ใจว่าผู้ใช้สามารถเข้าถึงข้อมูลได้ตลอดเวลา และในกรณีที่ฐานข้อมูลล้มเหลว (Infrastructure failure) ก็สามารถกลับมาออนไลน์ได้อย่างรวดเร็ว
Oracle Database 23c มีการปรับปรุงใหม่ๆ มากมายเพื่อทำให้ฐานข้อมูลมีความยืดหยุ่นต่อความล้มเหลวได้ดียิ่งขึ้น นอกจากนี้ยังเพิ่มคุณสมบัติอื่นๆ เช่น ความสามารถในการเปิดฐานข้อมูลแบบเสียบปลั๊กสแตนด์บายที่ทำงาน (standby pluggable Database) ที่ทำงานภายในคอนเทนเนอร์ และแบบ read-only ซึ่งช่วยให้สามารถถ่ายโอนการรายงานไปยังคอนเทนเนอร์สำรองได้ ซึ่งคล้ายกับฟังก์ชันที่พบใน Oracle Database 19c Active Data Guard สำหรับฐานข้อมูลที่ไม่ใช่คอนเทนเนอร์ (non-container databases) สำหรับ RAC และ RAC One Node Oracle ได้เพิ่มการรองรับสำหรับการบำรุงรักษาฐานข้อมูลแบบ Local Rolling Database ซึ่งจะสร้าง Oracle Home ที่สองได้ เพิ่มเติมจากเดิมที่มีอยู่บนเซิร์ฟเวอร์ (physical server) เดียวกับที่ฐานข้อมูลทำงานอยู่ จากนั้นจะเริ่มต้นอินสแตนซ์ที่สองของฐานข้อมูล เพื่อให้ผู้ใช้สามารถดำเนินการแก้ไขแบบต่อเนื่องภายในเครื่องได้ วิธีนี้สามารถบรรเทาการหยุดชะงักที่อาจเกิดขึ้น (disruptions caused) จากการย้ายข้อมูลจำนวนมากระหว่างเซิร์ฟเวอร์ได้ นอกจากนี้ยังมีการเพิ่ม การอัปเดตแบบ 2 ขั้นตอน (Two Stage Rolling Updates) ของ Oracle RAC เพื่อหลีกเลี่ยงการแพตช์ข้อมูลบางตัวที่ไม่สามารถนำมาใช้แบบต่อเนื่องได้ (rolling fashion) ซึ่งอาจส่งผลให้เกิดการหยุดทำงาน มีค่าใช้จ่ายสูงและกำหนดเวลาได้ยาก ใน Oracle Database 23c ผู้ใช้สามารถเลือกใช้แพตช์แบบไม่ต่อเนื่องเหล่านี้ได้หลังจากที่โหนดทั้งหมดในคลัสเตอร์ได้รับการแพตช์สำเร็จแล้ว วิธีการนี้จะช่วยลดปัญหาที่กล่าวมารวมไปถึงช่วงระหว่างไฟดับที่อาจเกิดขึ้นได้ และทำให้แพตช์ที่ไม่ได้ Rolling เกือบทั้งหมดทำงาน

