วิธีใช้ ArangoDB สำหรับการเชื่อมต่อ Nosql

เผยแพร่แล้ว: 2023-01-03

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

Facebook สร้างภาษาคิวรีที่เรียกว่า GraphQL สำหรับเว็บและแอปพลิเคชันมือถือสมัยใหม่ ขณะนี้คุณสามารถใช้ GraphQL ในฐานข้อมูล ArangoDB 2.8 โดยใช้บริการ Foxx (JavaScript ในฐานข้อมูล) ข้อความค้นหาทั้งหมดได้รับการจัดการโดยจุดสิ้นสุดเดียวกันใน GraphQL และโปรโตคอลทั้งหมดนั้นไม่เชื่อเรื่องพระเจ้า ตรงกันข้ามกับ REST API แบบดั้งเดิม ซึ่งโดยปกติแล้วผู้ใช้ต้องทำการเรียก API เพิ่มเติมเพื่อเข้าถึงชื่อเพื่อนของพวกเขา ตัวอย่างเช่น การสืบค้น GraphQL อาจส่งคืนการตอบกลับต่อไปนี้ ตรงกันข้ามกับ HTTP API, GraphQL หลีกเลี่ยงการทำซ้ำโดยไม่จำเป็นและข้อบกพร่องที่อาจเกิดขึ้นโดยใช้ API เดียวแทนที่จะเป็นสอง ไม่จำเป็นต้องใช้ฐานข้อมูลแบบสคีมาและภาษาที่พิมพ์แบบไดนามิกด้วย GraphQL แทนที่จะต้องกระจายการตรวจสอบความถูกต้องและตรรกะการให้สิทธิ์ไปยังปลายทาง HTTP ที่แตกต่างกัน สคีมาสามารถอธิบายปัญหาเหล่านี้ได้โดยใช้ GraphQL เมื่อใช้งานส่วนหลังโดยตรงภายในฐานข้อมูล ผลกระทบของการมีคำขอ GraphQL เดียวส่งผลให้คำขอฐานข้อมูลจำนวนมากอาจมีนัยสำคัญน้อยกว่ามาก

Arangodb Nosql คืออะไร?

Arangodb Nosql คืออะไร?
ภาพโดย: arangodb

ใช่ ArangoDB เป็น ฐานข้อมูล nosql

หากคุณสนใจเรียนรู้เพิ่มเติมเกี่ยวกับ ArangoDB Cloud คุณสามารถทำได้ฟรี 14 วัน หลังจากเสร็จสิ้นการทดลองใช้ฟรี ให้ป้อนข้อมูลบัตรเครดิตของคุณเพื่อใช้ Arango DB Cloud ต่อไป ภาษาเคียวรี AQL ช่วยให้คุณเข้าถึงข้อมูลเดียวกันได้โดยไม่คำนึงว่าข้อมูลนั้นอยู่ที่ใดโดยการจัดเตรียมรูปแบบการเข้าถึงแบบประกาศ เช่น การแวะผ่าน การเข้าร่วม การค้นหา และการแมป

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

Arangodb เป็นฐานข้อมูลที่เหมาะกับคุณหรือไม่?

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


ฉันจะเชื่อมต่อกับ Arangodb ได้อย่างไร

ฉันจะเชื่อมต่อกับ Arangodb ได้อย่างไร
ภาพโดย: githubusercontent

ในการเชื่อมต่อกับ ArangoDB คุณจะต้องดาวน์โหลดและติดตั้งเซิร์ฟเวอร์ ArangoDB เมื่อเซิร์ฟเวอร์เปิดใช้งานแล้ว คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้โดยใช้ arangosh shell หรือ ไคลเอ็นต์ ArangoDB อื่นๆ

เซิร์ฟเวอร์ ArangoDB สามารถโต้ตอบได้หลายวิธี งานสำคัญทั้งหมดของคุณ เช่น การสร้างคอลเลกชั่น การดูเอกสาร และการดำเนินการสืบค้น จะดำเนินการผ่านเว็บอินเตอร์เฟส นอกจากนี้ คุณสามารถดูกราฟ ดูบันทึกเซิร์ฟเวอร์และเมตริก และจัดการบัญชีผู้ใช้ การโต้ตอบกับเซิร์ฟเวอร์ทั้งหมดดำเนินการโดยใช้ REST API

Arangodb Shell ให้การสนับสนุน Bash And Go

เชลล์ ArangoDB สามารถใช้เป็นสคริปต์เชลล์ Bash หรือเป็นโปรแกรมภาษา Go

Arangodb เร็วกว่า Mongodb หรือไม่?

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

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

Arangodb เป็นเรื่องใหญ่ต่อไปในฐานข้อมูลหรือไม่?

ฐานข้อมูล ArangoDB ได้รับการยอมรับอย่างกว้างขวางว่าเป็นหนึ่งในฐานข้อมูลที่ทรงพลังที่สุดในตลาด จากการวัดประสิทธิภาพพบว่ายังคงมีประสิทธิภาพดีกว่า ฐานข้อมูลรุ่น เดียวเช่น MongoDB, Neo4j และ PostgreSQL รวมถึงฐานข้อมูลหลายรุ่นเช่น OrientDB นอกจากนี้ ArangoDB ยังมีอินเทอร์เฟซที่ใช้งานง่ายและเหมาะอย่างยิ่งสำหรับการสำรวจกราฟที่ซับซ้อน แม้ว่าจะไม่ได้รับความนิยมเท่ากับฐานข้อมูลอื่นๆ แต่ก็ยังสามารถเป็นเครื่องมือที่มีประสิทธิภาพสำหรับธุรกิจได้

ข้อเสียของ Arangodb

MongoDB Aggregation Framework มีข้อบกพร่องบางประการ เช่น การรวมที่ขาดหายไป เราขาด ACID (แม้ว่าจะมีการวางแผนใน MongoDB 4.0) ไม่มี ภาษาเคียวรีแบบเฉพาะเจาะจง ที่แสดงออกชัดเจน และมีเพียงเคียวรี JSON

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

เป็นเวลานานแล้ว เราใช้ไลบรารียอดนิยมจำนวนหนึ่ง เช่น Lodash ซึ่งยอดเยี่ยมแม้ในเซิร์ฟเวอร์ฐานข้อมูล ด้วยเฟรมเวิร์ก HTTP ชื่อ Foxx คุณสามารถสร้างไมโครเซอร์วิสที่จะสื่อสารกับมันโดยใช้ ArangoDB ควรใช้ ArangoDB เหนือ MongoDB Aggregation Framework (MongoDB, MongoDB + MoJos ) หรือการเชื่อมต่อโดยตรงระหว่างส่วนหน้าและ CouchDB REST API การสืบค้นฐานข้อมูลนั้นเขียนและดีบักได้ยากกว่ามาก เนื่องจากมีไลบรารีเช่น Lodash ที่สามารถใช้สำหรับโค้ด JavaScript บนเซิร์ฟเวอร์ฐานข้อมูล จึงใช้งานได้ง่ายกว่า MongoDB

แม้จะได้รับความนิยม แต่ ArangoDB ก็ไม่ได้รับความนิยมมากนัก ดังนั้นการค้นหานักพัฒนาที่มี ประสบการณ์ด้านฐานข้อมูล แทบจะเป็นไปไม่ได้เลย ในระหว่างนี้ ไม่ควรลดราคา ArangoDB สำหรับโครงการถัดไปของคุณ ฐานข้อมูลนี้ถูกใช้โดย 27 บริษัทในกลุ่มเทคโนโลยีของพวกเขา ซึ่งรวมถึง bigin, LeanIX API Backend และ AresRPG เนื่องจากแต่ละบริษัทมีข้อกำหนดและความต้องการที่แตกต่างกัน การเลือก ArangoDB ที่เหมาะสมสำหรับโครงการของคุณจึงเป็นสิ่งสำคัญ แม้ว่าคุณจะไม่สามารถหานักพัฒนาที่มีทักษะได้ ArangoDB ก็ยังเป็นตัวเลือกที่เหมาะสมสำหรับโครงการต่อไป

ประสิทธิภาพของ Arangodb

การแสดงของ Arangodb นั้นยอดเยี่ยมมาก ฉันไม่เคยเห็นฐานข้อมูลทำงานได้ดี ทุกข้อความค้นหานั้นรวดเร็วมาก และการจัดทำดัชนีก็ยอดเยี่ยมมาก ฉันไม่เคยเห็นฐานข้อมูลที่สามารถจัดทำดัชนีได้อย่างรวดเร็วและแม่นยำ

เอเธล พิหาริ วัจปายี. สถาบันเทคโนโลยีสารสนเทศ. วิทยาลัยวิศวกรรมศาสตร์ Gwalior BMS Basavanagudi, Bangalore และ Dhirubhai Ambani Institute of Info ผู้จัดการทั่วไป สถาบันหลายแห่งเป็นพันธมิตรกับมหาวิทยาลัยเทคโนโลยีแห่งเดลี (DTU) รวมถึงคณะเทคโนโลยีและวิศวกรรมศาสตร์แห่งเดลี (MSU) คณะเทคโนโลยีและวิศวกรรมวโททระ (GIA) มหาวิทยาลัยธรรมสินธุ์เดไซ (DDU) และมหาวิทยาลัยเทคนิครัฐบาล Nadiad (NGTU) ). มีสถาบันชั้นนำหลายแห่งในอินเดีย รวมถึงสถาบันเทคโนโลยีสารสนเทศแห่งอินเดีย (IIIT) และการออกแบบ มีวิทยาลัยสี่แห่งในบังกาลอร์และอีกหนึ่งแห่งในอัห์มดาบาดที่เปิดสอนหลักสูตรวิศวกรรมศาสตร์: RV College of Engineering, RV College of Engineering, Vallabhbhai National สำนักวิชาวิศวกรรมศาสตร์และวิทยาศาสตร์ประยุกต์สุราษฎร์. Shri Vile Parle Kelvani วิทยาลัยวิศวกรรมศาสตร์ Dwarkadas J. Sanghvi เมือง Vileparle เมืองมุมไบ

Sri Sivasubramaniya Nadar College Of Engineering (ANC) เป็นวิทยาลัยวิศวกรรมที่ก่อตั้งขึ้นในรัฐทมิฬนาฑู ซอร์เป็นสถาบันแห่งชาติสำหรับซอร์ BIT อยู่นอกเหนือจาก IIT และ NIT