ArangoDB - ฐานข้อมูลแรกแบบหลายรุ่น

ArangoDB ได้รับการยกย่องว่าเป็นฐานข้อมูลแบบหลายรูปแบบโดยนักพัฒนา ซึ่งแตกต่างจากฐานข้อมูล NoSQL อื่น ๆ ในฐานข้อมูลนี้สามารถจัดเก็บข้อมูลเป็นเอกสารคู่คีย์ / ค่าหรือกราฟ และด้วยภาษาแบบสอบถามที่เปิดเผยเพียงภาษาเดียวข้อมูลใด ๆ หรือทั้งหมดของคุณก็สามารถเข้าถึงได้ นอกจากนี้ยังสามารถรวมโมเดลต่างๆในแบบสอบถามเดียวได้ และเนื่องจากรูปแบบหลายรูปแบบเราสามารถสร้างแอปพลิเคชันแบบลีนได้ซึ่งจะปรับขนาดได้ในแนวนอนด้วยแบบจำลองข้อมูลใด ๆ หรือทั้งหมดในสามแบบ

ฐานข้อมูลหลายรุ่นแบบหลายชั้นเทียบกับเนทีฟ

ในส่วนนี้เราจะเน้นความแตกต่างที่สำคัญระหว่างฐานข้อมูลแบบจำลองแบบเนทีฟและแบบหลายชั้น

ผู้จำหน่ายฐานข้อมูลหลายรายเรียกผลิตภัณฑ์ของตนว่า "หลายรุ่น" แต่การเพิ่มเลเยอร์กราฟให้กับคีย์ / ค่าหรือที่เก็บเอกสารไม่ถือเป็นแบบหลายรูปแบบดั้งเดิม

ด้วย ArangoDB ซึ่งเป็นแกนหลักเดียวกันที่มีภาษาแบบสอบถามเดียวกันเราสามารถรวมโมเดลข้อมูลและคุณลักษณะต่างๆไว้ด้วยกันในแบบสอบถามเดียวดังที่เราได้กล่าวไปแล้วในส่วนก่อนหน้า ใน ArangoDB ไม่มีการ“ สลับ” ระหว่างโมเดลข้อมูลและไม่มีการเปลี่ยนข้อมูลจาก A ไป B เพื่อดำเนินการสืบค้น ซึ่งนำไปสู่ข้อได้เปรียบด้านประสิทธิภาพของ ArangoDB เมื่อเปรียบเทียบกับวิธีการแบบ "เลเยอร์"

ความต้องการฐานข้อมูลหลายรูปแบบ

การตีความแนวคิดพื้นฐานของ [Fowler's] ทำให้เราตระหนักถึงประโยชน์ของการใช้แบบจำลองข้อมูลที่หลากหลายสำหรับส่วนต่างๆของเลเยอร์การคงอยู่ซึ่งเลเยอร์ที่เป็นส่วนหนึ่งของสถาปัตยกรรมซอฟต์แวร์ขนาดใหญ่

ตามนี้ตัวอย่างเช่นอาจใช้ฐานข้อมูลเชิงสัมพันธ์เพื่อคงอยู่ข้อมูลที่มีโครงสร้างเป็นตาราง ที่เก็บเอกสารสำหรับข้อมูลที่ไม่มีโครงสร้างเหมือนวัตถุ ที่เก็บคีย์ / ค่าสำหรับตารางแฮช และฐานข้อมูลกราฟสำหรับข้อมูลอ้างอิงที่มีการเชื่อมโยงสูง

อย่างไรก็ตามการนำแนวทางนี้ไปใช้แบบดั้งเดิมจะนำไปสู่การใช้ฐานข้อมูลหลายฐานข้อมูลในโครงการเดียวกัน อาจทำให้เกิดความไม่ลงรอยกันในการดำเนินงาน (การปรับใช้ที่ซับซ้อนมากขึ้นการอัปเกรดบ่อยขึ้น) รวมทั้งความสอดคล้องของข้อมูลและปัญหาการทำซ้ำ

ความท้าทายต่อไปหลังจากการรวมข้อมูลสำหรับโมเดลข้อมูลทั้งสามแบบคือการคิดค้นและใช้ภาษาแบบสอบถามทั่วไปที่สามารถช่วยให้ผู้ดูแลระบบข้อมูลสามารถแสดงข้อความค้นหาที่หลากหลายเช่นการสืบค้นเอกสารการค้นหาคีย์ / ค่าการสืบค้นแบบกราฟีและการรวมกันโดยพลการ ของเหล่านี้.

โดย graphy queriesเราหมายถึงข้อความค้นหาที่เกี่ยวข้องกับการพิจารณากราฟ - ทฤษฎี โดยเฉพาะอย่างยิ่งสิ่งเหล่านี้อาจเกี่ยวข้องกับคุณสมบัติการเชื่อมต่อเฉพาะที่มาจากขอบ ตัวอย่างเช่น,ShortestPath, GraphTraversalและ Neighbors.

กราฟเป็นแบบจำลองข้อมูลสำหรับความสัมพันธ์อย่างสมบูรณ์แบบ ในหลาย ๆ กรณีในโลกแห่งความเป็นจริงเช่นเครือข่ายสังคมระบบผู้แนะนำเป็นต้นแบบจำลองข้อมูลที่เป็นธรรมชาติมากคือกราฟ จับความสัมพันธ์และสามารถเก็บข้อมูลฉลากด้วยขอบแต่ละด้านและจุดยอดแต่ละจุด นอกจากนี้เอกสาร JSON ยังเหมาะอย่างยิ่งในการจัดเก็บข้อมูลจุดยอดและขอบประเภทนี้

ArangoDB ─คุณสมบัติ

ArangoDB มีคุณสมบัติเด่นหลายประการ เราจะเน้นคุณสมบัติที่โดดเด่นด้านล่าง -

  • กระบวนทัศน์หลายรูปแบบ
  • คุณสมบัติของกรด
  • HTTP API

ArangoDB รองรับโมเดลฐานข้อมูลยอดนิยมทั้งหมด ต่อไปนี้เป็นโมเดลบางส่วนที่รองรับโดย ArangoDB -

  • แบบจำลองเอกสาร
  • แบบจำลองคีย์ / ค่า
  • โมเดลกราฟ

ภาษาแบบสอบถามเดียวก็เพียงพอที่จะดึงข้อมูลออกจากฐานข้อมูล

คุณสมบัติทั้งสี่ Atomicity, Consistency, Isolationและ Durability(ACID) อธิบายการรับประกันธุรกรรมฐานข้อมูล ArangoDB รองรับธุรกรรมที่เป็นไปตาม ACID

ArangoDB อนุญาตให้ไคลเอนต์เช่นเบราว์เซอร์โต้ตอบกับฐานข้อมูลด้วย HTTP API API ที่เน้นทรัพยากรและขยายได้ด้วย JavaScript