การเปิดตัว DBMS อเนกประสงค์ ซึ่งมีโมเดลที่ยืดหยุ่นสำหรับการจัดเก็บเอกสาร กราฟ และข้อมูลคีย์-ค่า การทำงานกับฐานข้อมูลดำเนินการผ่านภาษาคิวรีที่คล้ายกับ SQL หรือผ่านส่วนขยายพิเศษใน JavaScript วิธีการจัดเก็บข้อมูลเป็นไปตามมาตรฐาน ACID (อะตอมมิกซิตี ความสม่ำเสมอ การแยกตัว ความทนทาน) รองรับธุรกรรม และให้ความสามารถในการปรับขนาดทั้งแนวนอนและแนวตั้ง DBMS สามารถจัดการได้ผ่านทางเว็บอินเตอร์เฟสหรือคอนโซลไคลเอ็นต์ - รหัส ArangoDB ได้รับอนุญาตภายใต้ Apache 2 โครงการนี้เขียนด้วยภาษา C และ JavaScript
คุณสมบัติที่สำคัญของ ArangoDB:
- ความสามารถในการดำเนินการโดยไม่ต้องกำหนดสคีมาการจัดเก็บข้อมูล (ไม่มีสคีมา) - ข้อมูลมีโครงสร้างในรูปแบบของเอกสารซึ่งข้อมูลเมตาและข้อมูลเกี่ยวกับโครงสร้างจะถูกแยกออกจากข้อมูลผู้ใช้
- รองรับการใช้ ArangoDB เป็นเซิร์ฟเวอร์สำหรับเว็บแอปพลิเคชันใน JavaScript พร้อมความสามารถในการเข้าถึงฐานข้อมูลผ่าน REST/Web API
- การใช้ JavaScript สำหรับแอปพลิเคชันเบราว์เซอร์ที่เข้าถึงฐานข้อมูลและสำหรับตัวจัดการที่ดำเนินการทางฝั่ง DBMS
- สถาปัตยกรรมแบบมัลติเธรดที่กระจายโหลดไปยังคอร์ CPU ทั้งหมด
- โมเดลการจัดเก็บข้อมูลที่ยืดหยุ่นซึ่งสามารถรวมคู่คีย์-ค่า เอกสาร และพารามิเตอร์ที่กำหนดความสัมพันธ์ระหว่างบันทึก (มีเครื่องมือสำหรับการสำรวจจุดยอดของกราฟ)
- โมเดลการแสดงข้อมูลที่แตกต่างกัน (เอกสาร กราฟ และคู่คีย์-ค่า) สามารถผสมกันในการสืบค้นเดียว ซึ่งช่วยลดความยุ่งยากในการรวบรวมข้อมูลที่ต่างกัน
- รองรับการสืบค้นแบบรวม (JOIN);
- ความสามารถในการเลือกประเภทของดัชนีที่สอดคล้องกับงานที่ได้รับการแก้ไข (ตัวอย่างเช่น คุณสามารถใช้ดัชนีสำหรับการค้นหาข้อความแบบเต็ม)
- ความน่าเชื่อถือที่ปรับแต่งได้: แอปพลิเคชันสามารถกำหนดได้ว่าอะไรสำคัญกว่า: ความน่าเชื่อถือที่สูงขึ้นหรือประสิทธิภาพที่สูงขึ้น
- พื้นที่จัดเก็บข้อมูลที่มีประสิทธิภาพซึ่งใช้ประโยชน์จากฮาร์ดแวร์สมัยใหม่ได้อย่างเต็มที่ (เช่น SSD) และสามารถใช้แคชขนาดใหญ่ได้
- ธุรกรรม: ความสามารถในการเรียกใช้แบบสอบถามในเอกสารหรือคอลเลกชันหลายรายการพร้อมกันโดยมีความสอดคล้องและการแยกธุรกรรมที่เป็นตัวเลือก
- รองรับการจำลองและการแบ่งส่วน: ความสามารถในการสร้างการกำหนดค่าหลัก-รองและกระจายชุดข้อมูลไปยังเซิร์ฟเวอร์ที่แตกต่างกันขึ้นอยู่กับคุณสมบัติบางอย่าง
- มีการจัดหาเฟรมเวิร์ก JavaScript เพื่อสร้างไมโครเซอร์วิส ดำเนินการภายในเซิร์ฟเวอร์ DBMS พร้อมการเข้าถึงข้อมูลโดยตรง
เสนอในรุ่น ArangoDB 3.6:
- ประสิทธิภาพของแบบสอบถามย่อยตลอดจนการดำเนินการ UPDATE และ REPLACE ได้รับการปรับให้เหมาะสม
- ความสามารถในการดำเนินการแบบขนานของการสืบค้น AQL ได้ถูกนำมาใช้ ซึ่งช่วยลดเวลาในการรวบรวมข้อมูลที่กระจายไปยังโหนดคลัสเตอร์ต่างๆ
- ดำเนินการล่าช้าในการจัดทำเอกสารซึ่งช่วยให้ในบางสถานการณ์ไม่จำเป็นต้องดึงเอกสารที่ไม่เกี่ยวข้องอย่างสมบูรณ์
- เมื่อสแกนเอกสาร จะรับประกันการทิ้งเอกสารที่ไม่ตรงกับตัวกรองที่ระบุก่อนกำหนด
- เครื่องมือค้นหาข้อความแบบเต็มของ ArangoSearch ได้รับการปรับปรุง โดยรองรับการจัดอันดับตามความคล้ายคลึงกันของข้อมูล เพิ่มการสนับสนุนตัววิเคราะห์สำหรับการเติมข้อความค้นหาอัตโนมัติ ใช้ฟังก์ชัน TOKENS() และ PHRASE() สำหรับการสร้างข้อความค้นหาแบบไดนามิก
- เพิ่มการตั้งค่า maxRuntime เพื่อจำกัดเวลาดำเนินการแบบสอบถามแบบเลือก
- เพิ่มตัวเลือก “—query.optimizer-rules” เพื่อควบคุมการเปิดใช้งานการเพิ่มประสิทธิภาพบางอย่างเมื่อประมวลผลแบบสอบถาม
- มีการขยายความเป็นไปได้ในการจัดการการดำเนินงานของคลัสเตอร์ เพิ่มตัวเลือก “—cluster.upgrade” เพื่อเลือกโหมดการอัพเกรดสำหรับโหนดในคลัสเตอร์
- เพิ่มการรองรับ TLS 1.3 เพื่อเข้ารหัสช่องทางการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์ (โดยค่าเริ่มต้นไคลเอนต์ยังคงใช้ TLS 1.2 ต่อไป)
ที่มา: opennet.ru
