Tech

ภาษาแบบสอบถามฐานข้อมูลกราฟคืออะไร

Transform Technology Summits เริ่มต้นวันที่ 13 ตุลาคมด้วย Low-Code/No Code: เปิดใช้งาน Enterprise Agility สมัครตอนนี้!


ฐานข้อมูลกราฟรุ่นใหม่ได้เข้ายึดครองแล้ว และภาษาแบบสอบถามรุ่นต่างๆ ก็เข้ามาควบคู่ไปกับพวกเขา ภาษาการสืบค้นฐานข้อมูลกราฟแบบต่างๆ ได้แก่ Gremlin, Cypher และ GQL และให้บริการเพื่อแกะข้อมูลภายในกราฟ

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

ในโลกของฐานข้อมูลเชิงสัมพันธ์ SQL (ภาษาคิวรีที่มีโครงสร้าง) เป็นมาตรฐานที่โดดเด่นมานานหลายปี กำหนดวิธีการค้นหาแถวในตารางที่ตรงกับเกณฑ์เฉพาะ ถ้าข้อมูลครอบคลุมหลายตาราง ก็จะเสนอวิธีการจัดแนวตารางเพื่อให้ข้อมูลทั้งหมดถูกรวมเข้าด้วยกันเป็นคอลเลกชันเดียวที่สอดคล้องกัน เป็นการดีที่จะค้นหาชุดของรายการเฉพาะที่มีเขตข้อมูลเฉพาะที่ตรงกับกฎบางอย่าง แต่ก็ไม่ได้ทำอะไรมากไปกว่านั้น

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

ภาษาการสืบค้นกราฟถูกสร้างขึ้นเพื่อตอบที่ซับซ้อนมากขึ้น คำถามเช่น:

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

  • ในเครือข่ายคอมพิวเตอร์ การเชื่อมต่อใหม่ที่มีแบนด์วิดธ์สูงกว่าสามารถแก้ไขคอขวดได้ที่ไหน

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

      Gremlin — ภาษาที่ใช้ค้นหากราฟซึ่งเดิมพัฒนาขึ้นสำหรับโปรเจ็กต์ Apache Tinkerpop ที่อนุญาตการสืบค้นตามขั้นตอนหรือแบบประกาศ

    • Cypher — สร้างขึ้นครั้งแรกโดย Neo4J และต่อมาใช้โดยผู้อื่นในชื่อ OpenCypher ภาษาประกาศนี้ช่วยให้สามารถค้นหาโหนดและขอบที่ตรงกับคุณสมบัติเฉพาะ
    • GQL — ความพยายามมาตรฐานที่เสนอนี้เพื่อรวมรูปแบบของ Cypher, GSQL และ PSQL
    • SPARQL — มาตรฐานที่พัฒนาขึ้นสำหรับการสืบค้นกราฟความรู้ที่จัดเก็บไว้ในรูปแบบ RDF
    • PGQL — ภาษาดั้งเดิมของ Oracle สำหรับการค้นหาและรวบรวมข้อมูลจากโหนดที่ตรงกับข้อกำหนด
    • GSQL — ภาษาขั้นตอนดั้งเดิมของ TigerGraph AQL — ภาษาขั้นตอนดั้งเดิมของ ArangoDB GraphQL — แม้ว่าชื่อจะแนะนำว่าสนับสนุนการสืบค้นด้วยกราฟ แต่นี่เป็นภาษาที่ใช้ค้นหาทั่วไปมากขึ้นสำหรับการค้นหาเอกสารและฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่อย่างมีประสิทธิภาพ มันกำลังค้นหาการใช้งานบางอย่างกับฐานข้อมูลแบบกราฟ แต่เพื่อรองรับการสืบค้นทั่วไปที่เหมือนกันกับฐานข้อมูลเชิงสัมพันธ์เท่านั้น

      มีความแตกต่างที่สำคัญหลายประการระหว่างภาษาที่ใช้ค้นหา บางคนกล่าวว่าเป็น “การประกาศ” ในขณะที่คนอื่นเป็น “ขั้นตอน” นั่นคือบางคนปล่อยให้นักพัฒนาประกาศสิ่งที่พวกเขาต้องการโดยการเขียนกฎง่ายๆสำหรับการกำหนดชุดย่อย ฐานข้อมูลใช้กฎเกณฑ์ สร้างแผนการค้นหาโดยใช้ดัชนีที่มีอยู่ จากนั้นจึงค้นหารายการที่ตรงกันทั้งหมด

      อาจมีคนขอให้ค้นหาธุรกรรมธนาคารทั้งหมดที่มีมูลค่าเกิน $10,000 ที่อยู่ภายใน 10 ไมล์ของกันและกัน อีกคนอาจค้นหาผู้ใช้โซเชียลมีเดียทั้งหมดที่เชื่อมต่อกันและไม่ได้โพสต์ภายในสองสัปดาห์ กฎสามารถรวมการกรองค่าทั้งหมดที่พบในภาษาการสืบค้นมาตรฐาน (“อายุน้อยกว่า 20”) ตลอดจนกฎที่ซับซ้อนอื่นๆ เกี่ยวกับเครือข่ายการเชื่อมต่อ (“เกี่ยวข้องกับ”) โดยทั่วไป ภาษาที่ใช้ค้นหากราฟจะประสบความสำเร็จมากที่สุดเมื่อค้นหาผ่านกราฟความสัมพันธ์

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

      ความแตกต่างที่สำคัญอีกประการหนึ่งมาจากโครงสร้างของฐานข้อมูลเอง บางรุ่นรองรับโมเดล RDF ในขณะที่บางรุ่นรองรับกราฟคุณสมบัติที่เรียกว่า รุ่น RDF เป็นมาตรฐาน W3C ที่ออกแบบมาเพื่อเข้ารหัสข้อมูลเชิงความหมายเป็นครั้งแรก โมเดลกราฟคุณสมบัติมักจะเป็นแบบทั่วไปและยืดหยุ่นมากกว่า และบางฐานข้อมูลรองรับทั้งสองรุ่น

    • ธุรกิจ

        อาหาร

      • ชีวิต สไตล์
      • เทค
      • กลยุทธ์การตลาดดิจิทัล (Digital marketing)

      Back to top button