ข้อจํากัดปัจจุบันของกราฟใน Microsoft Fabric

กราฟใน Microsoft Fabric มีข้อจํากัดด้านฟังก์ชันบางประการ บทความนี้เน้นข้อจํากัดหลักบางอย่าง แต่ไม่ใช่รายการที่ครบถ้วน ตรวจสอบการอัปเดตเป็นประจํา

สําหรับความช่วยเหลือเกี่ยวกับปัญหาทั่วไป โปรดดู การแก้ไขปัญหากราฟ

การสร้างแบบจําลองกราฟ

แหล่งข้อมูล

OneLake และฐานข้อมูลมิเรอร์เป็นแหล่งข้อมูลที่รองรับสําหรับกราฟ

ชนิดข้อมูล

โมเดลกราฟรองรับประเภทค่าคุณสมบัติดังต่อไปนี้

ประเภทค่า GQL คำอธิบาย
BOOLEAN ค่าคือ true และfalse
INT (หรือ INT64) ค่าเป็นจํานวนเต็มที่มีเครื่องหมาย 64 บิต
DOUBLE (หรือ FLOAT64) ค่าเป็นตัวเลขทศนิยมลอยตัว IEEE-754 ขนาด 64 บิต
FLOAT (หรือ FLOAT32) ค่าเป็นตัวเลขทศนิยมลอยตัวขนาด 32 บิต
STRING ค่าเป็นสตริงอักขระ Unicode ที่เข้ารหัส UTF-8 ขนาดคุณสมบัติสูงสุดคือ 65,535 ไบต์
ZONED DATETIME ค่าต่าง ๆ เป็นตราประทับเวลาพร้อมกับการเลื่อนเวลาโซน โดยมีความแม่นยําในระดับมิลลิวินาที

ประเภทคอลัมน์ OneLake และ Delta Lake ต่อไปนี้รองรับสําหรับการนําเข้าข้อมูลลงในกราฟ

ประเภท OneLake แมปกับประเภทคุณสมบัติ GQL
BooleanType BOOLEAN
ByteType INT (หรือ INT64)
IntegerType INT (หรือ INT64)
LongType INT (หรือ INT64)
FloatType DOUBLE (หรือ FLOAT64)
DoubleType DOUBLE (หรือ FLOAT64)
StringType STRING
DateType ZONED DATETIME
TimestampType ZONED DATETIME
TimestampNtzType ZONED DATETIME

Note

ไม่รองรับประเภททะเลสาบเดลต้าที่ซับซ้อนหรือซ้อนกัน (MapTypeStructTypeและ) คุณสามารถแยกวิเคราะห์คอลัมน์สตริงที่เข้ารหัส JSON ได้ในเวลาค้นหาโดยใช้ PARSE_JSON_STRING.

การประมวลผลกราฟและการขยายขนาด

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

ความสามารถในการประมวลผลกราฟในปัจจุบันรองรับกราฟที่มีองค์ประกอบกราฟสูงสุดประมาณ 2 พันล้านตัว (โหนดและขอบ) ความจุที่มีประสิทธิผลอาจแตกต่างกันไปตามโครงสร้างกราฟและขนาดของน้ําหนักบรรทุกสมบัติ หากภาระงานของคุณคาดว่าจะเกินขีดจํากัดเหล่านี้ กรุณาติดต่อ ฝ่ายสนับสนุนของ Microsoft เพื่อขอคําแนะนํา

คอลัมน์พาร์ติชัน

คอลัมน์พาร์ติชันเดลต้าเลคมีการรองรับจํากัดในฐานะคุณสมบัติกราฟ:

  • คอลัมน์พาร์ติชันที่ใช้เป็นคีย์หลักเพียงอย่างเดียวจะถูกปฏิเสธเสมอ
  • คอลัมน์พาร์ติชันที่สร้างขึ้นไม่รองรับ
  • ประเภทคอลัมน์พาร์ติชันที่ซับซ้อนและทศนิยม (Decimal, Binary, Array, Map, และ Struct) จะถูกตัดออกพร้อมคําเตือน

การเปลี่ยนเค้าร่าง

การเปลี่ยนแปลงสคีมาจะกระตุ้นให้โหลดกราฟใหม่

สอบ ถาม

เส้นทางที่มีความยาวแปรผัน

ตัวสร้างเส้นทาง Explore UI รองรับการกระโดดได้สูงสุดแปดขั้นสําหรับรูปแบบที่มีความยาวแปรผัน ข้อจํากัดในส่วนติดต่อผู้ใช้นี้ไม่ครอบคลุมคําสั่ง GQL ที่ป้อนในตัวแก้ไขโค้ด

กราฟรองรับALLANY SHORTESTคํานําหน้าการค้นหาและเส้นทาง ALL SHORTEST และไม่ ANY รองรับ

ตารางต่อไปนี้สรุปการรองรับ GQL แบบความยาวแปรผัน:

โหมดค้นหาเส้นทางและเส้นทาง ตัวบ่งชี้ปริมาณแบบคงที่หรือจํากัด ตัวบ่งชี้ปริมาณไม่จํากัด
ALL WALK (ค่าเริ่มต้น) ได้รับการสนับสนุน ไม่รองรับเพราะสมาชิกที่ซ้ํากันสามารถสร้างเส้นทางได้ไม่จํากัดจํานวน
ALL TRAIL, ALL SIMPLE หรือ ALL ACYCLIC ได้รับการสนับสนุน รองรับ แต่จํานวนเส้นทางก็ยังอาจเยอะอยู่
ANY SHORTEST WALK ได้รับการสนับสนุน รองรับการเข้าถึงปลายทางอย่างง่ายด้วยขอบที่กําหนดแบบไม่ระบุชื่อระหว่างโหนดสองโหนด เส้นทางที่ถูกจํากัดด้วยฟอร์มที่ไม่มีขอบเขตนี้สามารถใช้ได้เฉพาะกับ PATH_LENGTH(path) และ ข้าง ๆ กับมัน path IS NULL;เส้นทางสมบูรณ์จะไม่ถูกทําให้เป็นรูปธรรม ดู รูปแบบความยาวแปรผันที่ไม่มีขอบเขต
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE หรือ ANY SHORTEST ACYCLIC ได้รับการสนับสนุน สนับสนุน

ตัวบ่งชี้ปริมาณคงที่และจํากัดคือ {n}, {m,n}, และ {,n}. ตัวบ่งชี้ที่ไม่มีขอบเขตคือ {m,}, *, และ +. สําหรับข้อมูลเพิ่มเติม ดูที่รูปแบบกราฟ GQL

การวางตําแหน่งพรีดิเคตเส้นทาง

GQL แยกแยะพรีดิเคตที่จํากัดเส้นทางที่มีสิทธิ์ออกจากพรีดิเคตที่กรองเส้นทางหลังจากที่พรีฟิกซ์ค้นหาเส้นทางเลือกเส้นทางเหล่านั้น สําหรับ ANY SHORTEST รูปร่างบางประเภท Graph สามารถใช้เงื่อนไขระดับ MATCH ... WHERE คําสั่งก่อนการเลือกเส้นทางได้ในปัจจุบัน

เพื่อให้ขั้นตอนที่ต้องการชัดเจน ให้วางเงื่อนไขคุณสมบัติแบบอินไลน์ในรูปแบบโหนดหรือขอบ สําหรับการกรองหลังการเลือก ให้ใช้คําสั่งแยกต่างหากFILTERหลังMATCH ตัวอย่างเช่น ดูที่ พจน์ Place predicates ก่อนหรือหลังการเลือกเส้นทาง

ตัวกรองเงื่อนไขรายการ

ตัวกรองเงื่อนไขในรายการยังไม่รองรับ:

  • EXISTS ซับคิวรี
  • ฟังก์ชันรวมเหนือองค์ประกอบที่ถูกผูกติดในท้องถิ่น รองรับการรวมแนวนอนเหนือรายการกลุ่มที่ล้อมรอบ

สําหรับไวยากรณ์และความหมายผลลัพธ์ที่รองรับ ดูที่ ฟังก์ชัน List predicate

ขนาดของผลลัพธ์

กราฟจะตัดทอนการตอบกลับคําค้นเมื่อการแทนค่าไบนารีภายในเกิน 64 MB กราฟจะคืนแถวที่ตรงกันและรายงานคําเตือนเพิ่มเติมพร้อมรหัส 01000 สถานะสาธารณะและ GQLSTATUS 01M11แบบมาตรฐาน ผลลัพธ์ระหว่างทางจํากัดที่ 128 MB

คําตอบไม่ได้รวมโทเค็นต่อเนื่องสําหรับแถวที่ถูกตัดออกโดยการตัดทอน จํากัดผลลัพธ์ด้วยตัวกรอง การฉายภาพเฉพาะ หรือ LIMITจากนั้นรันคําสั่งอีกครั้ง

การหมดเวลา

การประมวลผล API ของคําสั่งค้นหามีเวลาหมดรวม 20 นาที รวมคําขอดําเนินการต่อ หากการทํางานเกินขีดจํากัดนี้ API จะคืนค่า HTTP 408 พร้อมรหัส QueryTimeoutข้อผิดพลาด

แบบสอบถามย่อย

CALLรองรับ subquery , OPTIONAL CALL, และ procedure-form EXISTS ซับคิวรีแบบอินไลน์ CALL สามารถซ้อนกันและนําเข้าตัวแปรจากขอบเขตที่ล้อมรอบได้โดยนัย ไม่รองรับการเรียก procedure ที่มีชื่อ รายการนําเข้าตัวแปรที่ชัดเจน เช่น CALL (p) { ... }, graph-pattern-only EXISTSและ scalar subqueries (VALUE { ... })

ฟังก์ชันการรวม

ฟังก์ชันการรวมข้อมูลต่อไปนี้รองรับ:

  • COUNT, COUNT(*), SUM, AVG, MIN, และ MAX
  • COLLECT_LIST, COLLECT_ONE, และ COLLECT_ELEMENTS
  • DISTINCT รูปแบบของฟังก์ชันทั้งหมดก่อนหน้านี้
  • รูปแบบแนวนอน (ตามแถว หรือกลุ่มตัวแปร/รายการ) ของทั้งหมดข้างต้น

ฟังก์ชันการรวมข้อมูลต่อไปนี้ยังไม่ได้รับการสนับสนุน:

  • PERCENTILE_CONT และ PERCENTILE_DISC
  • STDDEV_POP และ STDDEV_SAMP
  • PRODUCT

การดําเนินการชุด

UNION ALL และ UNION DISTINCT ได้รับการสนับสนุน INTERSECT, EXCEPT, และ OTHERWISE ยังไม่ได้รับการสนับสนุน

คําสั่งและคําสั่ง GQL ที่รองรับ

คําสั่งและข้อกําหนดหลักของ GQL ต่อไปนี้ได้รับการสนับสนุน:

  • MATCH และ OPTIONAL MATCH
  • WHERE ตัวกรอง
  • LET การผูกตัวแปร
  • FOR ... INการคลี่รายการพร้อมการจัดทําดัชนีเสริมORDINALITY
  • NEXT, รวมถึงขั้นตอนการค้นหาที่มี UNION, UNION DISTINCT, หรือ UNION ALL
  • RETURN และ RETURN DISTINCT
  • GROUP BY
  • ORDER BY กับ NULLS FIRST หรือ NULLS LAST
  • LIMIT และ OFFSET
  • UNION ALL และ UNION DISTINCT
  • CALL, OPTIONAL CALL, และ EXISTS
  • CAST ด้วยเมทริกซ์แปลงประเภทกว้าง
  • ฟังก์ชันสเกลาร์และรวมที่รองรับแสดงใน นิพจน์ GQL ตัวพจน์ และฟังก์ชัน

การดําเนินงานของ DML และ DDL

การดําเนินการในภาษาการจัดการข้อมูล (DML) เช่น INSERT, UPDATE, และ DELETE ไม่รองรับผ่าน GQL ไม่รองรับการดําเนินการ Data Definition Language (DDL) สําหรับการเปลี่ยนแปลงสคีมา

การส่งออกข้อมูลและการแสดงภาพ

การส่งออกผลลัพธ์คิวรีกราฟหรือโครงสร้างกราฟยังไม่ได้รับการรองรับในขณะนี้

การเชื่อมต่อ Power BI โดยตรงไปยังกราฟสําหรับสถานการณ์การแสดงภาพยังไม่รองรับในขณะนี้

ความสอดคล้องกันของ GQL

สําหรับการแมปโดยละเอียดของคุณลักษณะ GQL ที่รองรับกับมาตรฐาน ISO /IEC 39075:2024 รวมถึงความสอดคล้องต่ําสุด คุณสมบัติทางเลือกตามกลุ่มและคุณสมบัติที่ยังไม่ได้รับการรองรับ โปรดดูความสอดคล้องมาตรฐาน GQL

การปฏิบัติตามมาตรฐาน GQL ยังคงอยู่ในระหว่างดําเนินการสําหรับคุณสมบัติดังต่อไปนี้

ควบคุมการไหลและชุดปฏิบัติการ

  • EXCEPT ALL และ EXCEPT DISTINCT ข้อความ
  • INTERSECT ALL และ INTERSECT DISTINCT ข้อความ
  • OTHERWISE ถ้อยแถลง

การค้นหาเส้นทางและการจับคู่รูปแบบ

  • ALL SHORTEST การค้นหาเส้นทาง (ไม่รองรับ)
  • ANY การค้นหาเส้นทาง
  • เพรดิเคตรูปแบบที่ไม่จัดสรร
  • ความสอดคล้องทางโทโพธิวิทยาที่ผ่อนคลาย
  • อักขระตัวแทน

เพรดิเคต

  • เงื่อนไขการทดสอบฉลาก (IS LABELED)
  • IS DIRECTED เพรดิเคต
  • เพรดิเคตปกติ
  • เพรดิเคตต้นทาง/ปลายทาง
  • ALL_DIFFERENT เพรดิเคต
  • IS DISTINCT เพรดิเคต
  • SAME เพรดิเคต
  • REGEXP_CONTAINS เพรดิเคต

ประเภทค่ารันไทม์ที่รองรับ

ชนิดค่ารันไทม์ การแทนค่า/ช่วง ขีดจำกัด
BOOLEAN true และ false
INT (หรือ INT64) จํานวนเต็ม 64 บิตที่มีเครื่องหมาย
UINT (หรือ UINT64) จํานวนเต็ม 64 บิตที่ไม่มีเครื่องหมาย
DOUBLE (หรือ FLOAT64) IEEE-754 binary64 ไม่มีการตรวจสอบเฉพาะแบบจํากัด;ค่าไม่จํากัดได้รับการยอมรับ
STRING สตริงยูนิโค้ด 65,534 ไบต์ (ความยาวบนดิสก์ uint16)
ZONED DATETIME มิลลิวินาทีนับตั้งแต่ Unix epoch plus int32 UTC offset ช่วง int64 มิลลิวินาที
DURATION(DAY TO SECOND) ความแม่นยําระดับมิลลิวินาที
NODE uint64 raw
EDGE uint64 raw
LIST รายการชนิดเดียวกัน 65,534 องค์ประกอบ (ความยาวบนดิสก์ uint16)
RECORD โครงสร้างของฟิลด์ที่พิมพ์
PATH รายการโหนดและขอบสลับกันที่เริ่มต้นและสิ้นสุดด้วยโหนดเสมอ 65,534 องค์ประกอบ (ความยาวบนดิสก์ uint16)

ประเภทค่ารันไทม์ที่ยังไม่รองรับ

  • INT8, INT16, และ INT32 ประเภทค่า (INT64 รองรับ)
  • FLOAT16 และ FLOAT32 ประเภทค่า (FLOAT64 รองรับ)
  • UINT8, UINT16, และ UINT32 ประเภทค่า (UINT64 รองรับ)
  • ZONED TIME ประเภทค่า
  • DATE Value Type เป็นประเภทแบบสแตนด์อโลน วันที่ที่นําเข้าจะถูกแมปกับ Zoned DateTime
  • LOCAL DATETIME ประเภทค่า
  • LOCAL TIME ประเภทค่า
  • DURATION(YEAR TO MONTH) ประเภทค่า
  • BYTES ประเภทค่า รองรับการนําเข้าข้อมูล แต่ประเภทนี้ไม่สามารถสอบถามได้ในฐานะคุณสมบัติที่เก็บไว้
  • VECTOR ประเภทค่า

ฟังก์ชันและนิพจน์

  • ฟังก์ชัน PROPERTIES
  • NORMALIZEกับฟอร์ม และNFKCNFKD
  • ฟังก์ชัน DURATION_BETWEEN
  • นิพจน์ที่ CASE WHEN ค้นหา
  • คิวรีย่อยสเกลา
  • การเรียงต่อกันของค่าเส้นทาง
  • ฟังก์ชันการต่อสตริงไบต์, TRIM, และฟังก์ชันความยาว
  • ฟังก์ชันเรียบง่าย TRIM พร้อม TRIM ข้อกําหนด
  • ฟังก์ชันหลายตัวอักษรTRIM
  • CARDINALITY

การรวม

  • PERCENTILE_CONT ฟังก์ชันรวม
  • PERCENTILE_DISC ฟังก์ชันรวม
  • PRODUCT ฟังก์ชันรวม
  • STDDEV_POP ฟังก์ชันรวม
  • STDDEV_SAMP ฟังก์ชันรวม

อื่น ๆ

  • การส่งผ่านพารามิเตอร์ ($param การกําหนดพารามิเตอร์แบบไดนามิก)
  • ผู้ใช้เซสชัน (SESSION_USER)
  • CALL คําสั่งขั้นตอนที่ตั้งชื่อ
  • CALL ซับคิวรีที่มีรายการนําเข้าตัวแปรชัดเจน
  • การจัดการแคตตาล็อก ชื่อกราฟและข้อจํากัดจะถูกสร้างขึ้นโดยอัตโนมัติ

แค็ตตาล็อก

Note

ชื่อกราฟและชื่อข้อจํากัดจะถูกสร้างขึ้นโดยอัตโนมัติและไม่สามารถระบุได้ใน UI หรือในสคีมา JSON

พื้นที่แคตตาล็อก ขีดจํากัด / พฤติกรรมปัจจุบัน คำ แนะ นำ
สคีมากราฟ กราฟหนึ่งประเภทต่อแคตตาล็อก
ชื่อกราฟ ต้องไม่ว่างเปล่า;ไม่มีความยาวสูงสุดที่ระบุไว้อย่างชัดเจน 127 ตัวอักษร
ชนิดโหนด สูงสุดประมาณ 2 พันล้าน (พื้นที่ ID int32) 64K
ประเภทขอบ สูงสุดประมาณ 2 พันล้าน (พื้นที่ ID int32) 64K
ป้ายโหนดเฉพาะ สูงสุดประมาณ 2 พันล้านรายการ;ไฟล์ซ้ํากันภายในประเภทเดียวกันจะถูกปฏิเสธ ได้มาจากชนิดโหนด
ป้ายขอบที่ไม่ซ้ําใคร สูงสุดประมาณ 2 พันล้านรายการ;ไฟล์ซ้ํากันภายในประเภทเดียวกันจะถูกปฏิเสธ ได้มาจากประเภทขอบ
ชื่อทรัพย์สินที่ไม่ซ้ํากัน สูงสุดประมาณ 2 พันล้าน;ชื่อว่างเปล่าและชื่อซ้ําในประเภทเดียวกันจะถูกปฏิเสธ 64K x 10
คุณสมบัติต่อชนิดโหนด ไม่มีการกําหนดขีดจํากัดอย่างชัดเจน;ชื่อคุณสมบัติที่ซ้ํากันจะถูกปฏิเสธ 256
คุณสมบัติต่อประเภทขอบ ไม่มีการกําหนดขีดจํากัดอย่างชัดเจน;ชื่อคุณสมบัติที่ซ้ํากันจะถูกปฏิเสธ 256
ป้ายกํากับต่อชนิดโหนด ไม่มีการกําหนดค่าสูงสุดอย่างชัดเจน;ป้ายกํากับซ้ําจะถูกปฏิเสธ 64
ป้ายชื่อต่อประเภทขอบ ไม่มีการกําหนดค่าสูงสุดอย่างชัดเจน;ป้ายกํากับซ้ําจะถูกปฏิเสธ 64
คุณสมบัติหลักต่อข้อจํากัด ไม่มีค่าสูงสุดที่ชัดเจน;ชื่อคุณสมบัติต้องไม่ว่างเปล่า 16
ความยาวชื่อทรัพย์สิน ไม่ได้บังคับใช้อย่างชัดเจนเกินกว่าการไม่ว่างเปล่า 127 ตัวอักษร
ความยาวชื่อฉลาก ไม่ได้บังคับใช้อย่างชัดเจนเกินกว่าการไม่ว่างเปล่า 127 ตัวอักษร
ข้อจํากัดของคีย์ขอบ ปิดใช้งานโดยค่าเริ่มต้น (allow_edge_key_constraints แฟล็ก) ≤จํานวนประเภทขอบ