หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
กราฟใน Microsoft Fabric มีข้อจํากัดด้านการทํางานและประสิทธิภาพการทํางานบางประการ บทความนี้เน้นข้อจํากัดหลักบางอย่าง แต่ไม่ใช่รายการที่ครบถ้วน ตรวจสอบการอัปเดตเป็นประจํา
สําหรับความช่วยเหลือเกี่ยวกับปัญหาทั่วไป โปรดดู การแก้ไขปัญหากราฟ
การสร้างแบบจําลองกราฟ
แหล่งข้อมูล
- ไฟล์ Parquet และ CSV ของ OneLake เป็นแหล่งข้อมูลเดียวที่ได้รับการสนับสนุนในปัจจุบัน
- การสนับสนุนสําหรับแบบจําลองความหมาย Power BI เนื่องจากแหล่งข้อมูลอยู่ระหว่างการพัฒนา
- การสนับสนุนสําหรับการ รักษาความปลอดภัย OneLake ระดับคอลัมน์และระดับแถวอยู่ระหว่างการพัฒนา
ชนิดข้อมูล
กราฟในขณะนี้สนับสนุนชนิดข้อมูลต่อไปนี้:
- บูลีน (ค่าคือ
trueและfalse) - สองเท่า (ค่าคือตัวเลขทศนิยม 64 บิต)
- จํานวนเต็ม (ค่าเป็นจํานวนเต็มที่ลงนาม 64 บิต)
- สตริง (ค่าคือสตริงอักขระ Unicode)
- วันที่และเวลาที่แบ่งเขต (ค่าคือการประทับเวลาพร้อมกับการเปลี่ยนเวลาสําหรับโซนเวลา)
- ระยะเวลา (ค่าคือช่วงระยะเวลา ISO 8601)
ชนิด OneLake ต่อไปนี้ได้รับการสนับสนุน:
- IntegerType
- LongType
- StringType
- DoubleType
- บูลีนชนิด
- FloatType
- ByteType
- ArrayType
- DateType
- TimestampNtzType
- TimestampType
การสร้างขอบ
ในระหว่างการสร้างแบบจําลองกราฟ ให้ตั้งชื่อชนิดขอบกราฟที่แตกต่างกัน
ตัวอย่างเช่น ชุดข้อมูลสื่อสังคมออนไลน์อาจแสดงถึง "ผู้ใช้ชอบข้อคิดเห็น" และ "ผู้ใช้ชอบโพสต์" หากแบบจําลองกราฟของคุณใช้ชนิดโหนดที่แยกต่างหากสําหรับข้อคิดเห็นและโพสต์ ประเภทโหนดผู้ใช้จะมีขอบ "ถูกใจ" สองประเภทต่อความคิดเห็นและโพสต์ คุณอาจตั้งชื่อขอบเหล่านี้ว่า userLikesComment และ userLikesPost
เวลาการสร้างกราฟ
สูงสุดสัปดาห์ละครั้ง แบบจําลองกราฟอาจพบการหมดเวลาหากการสร้างกราฟหรือการอัปเดตใช้เวลานานกว่า 20 นาที การดําเนินการถูกทําเครื่องหมายว่าล้มเหลว
อย่างไรก็ตาม ผู้ใช้สามารถเริ่มต้นการสร้างกราฟหรืออัปเดตใหม่ได้
ขนาดกราฟ
การกําหนดค่า SKU ที่มีอยู่โดยทั่วไปในปัจจุบันสามารถประมวลผลองค์ประกอบกราฟได้ประมาณ 2 พันล้านรายการ (โหนดและขอบ) สําหรับกราฟขนาดใหญ่ที่มีจํานวนองค์ประกอบมากกว่าหรือน้ําหนักบรรทุกคุณสมบัติที่ใหญ่กว่าต่อองค์ประกอบ โปรดติดต่อทีมผลิตภัณฑ์
จํานวนโมเดลกราฟทั้งหมด
พื้นที่ทํางาน Fabric แต่ละแห่งสามารถมีโมเดลกราฟได้สูงสุด 10 แบบ
UI ทํางานหลายอย่าง
แบบจําลองกราฟอาจหายไปหรือว่างเปล่าเมื่อคุณสลับระหว่างแท็บหรือหน้าต่างใน Fabric Multitask UI ทีมผลิตภัณฑ์กําลังทํางานเพื่อแก้ไขปัญหานี้ที่ทราบแล้ว
การเลือกคุณสมบัติของโหนด
เมื่อคุณเพิ่มโหนดหรือชนิด Edge ลงในแบบจําลองกราฟของคุณ ให้เลือกคอลัมน์จากตารางต้นทางที่จะเพิ่มเป็นคุณสมบัติด้วยตนเอง ทั้งโหนดและขอบเริ่มต้นโดยไม่มีคุณสมบัติ และคุณเพิ่มเฉพาะสิ่งที่คุณต้องการเท่านั้น
สอบ ถาม
จํานวนของการกระโดดในคิวรีแบบหลายชั้น
กราฟสนับสนุนการกระโดดสูงสุดแปดแบบบนรูปแบบความยาวที่แปรผันได้
ขนาดของผลลัพธ์
ประสิทธิภาพการรวมอาจไม่เสถียรเมื่อผลลัพธ์มีขนาดเกิน 128 MB
ระบบในขณะนี้จะตัดการตอบสนองที่มีขนาดใหญ่กว่า 64 MB
การหมดเวลา
คิวรีจะหมดเวลาหากใช้เวลามากกว่า 20 นาที
การส่งออกข้อมูลและการแสดงภาพ
- การส่งออกผลลัพธ์คิวรีกราฟหรือโครงสร้างกราฟยังไม่ได้รับการรองรับในขณะนี้
- การเชื่อมต่อ Power BI โดยตรงไปยังกราฟสําหรับสถานการณ์การแสดงภาพยังไม่รองรับในขณะนี้
ความสอดคล้องกันของ GQL
สําหรับการแมปโดยละเอียดของคุณลักษณะ GQL ที่รองรับกับมาตรฐาน ISO /IEC 39075:2024 รวมถึงความสอดคล้องต่ําสุด คุณสมบัติทางเลือกตามกลุ่มและคุณสมบัติที่ยังไม่ได้รับการรองรับ โปรดดูความสอดคล้องมาตรฐาน GQL
ความสอดคล้องกับมาตรฐาน GQL ยังคงอยู่ระหว่างดําเนินการสําหรับ:
- แก้ไขรหัสสถานะ GQL
- คําสั่ง FOR ที่มีดัชนี
- ต่อไป
- คําสั่ง UNION DISTINCT
- ตัววัดปริมาณรูปแบบกราฟที่ไม่ได้ผูกไว้
- การค้นหาเส้นทางที่สั้นที่สุดทั้งหมด
- การค้นหาเส้นทางใดๆ
- การค้นหาเส้นทางที่สั้นที่สุด
- การแปลงข้อมูล
- คิวรีย่อยสเกลา
- ฟังก์ชัน PROPERTIES
- ฟังก์ชัน RANGE
- ฟังก์ชันตัวเลขที่ได้รับการปรับปรุง
- ฟังก์ชันลอการิทึม
- ฟังก์ชันตรีโกณมิติ
- การเรียงต่อกันของค่าเส้นทาง
- เพรดิเคตทดสอบป้ายชื่อ
- เพรดิเคตปกติ
- เพรดิเคตต้นทาง/ปลายทาง
- ชนิดค่า INT32
- ชนิดค่า FLOAT32
- ชนิดของค่าระเบียนที่ปิด
- ชนิดของค่า UINT32
- ชนิดค่า ZONED TIME
- ชนิดค่า DATE
- พารามิเตอร์ที่ส่งผ่าน
- ขอบที่ไม่ถูกตรวจพบ
- GQL-preamble
- เพรดิเคตรูปแบบที่ไม่จัดสรร
- เป็นเพรดิเคต DIRECTED
- เพรดิเคต REGEXP_CONTAINS
- ข้อมูลจําเพาะของพารามิเตอร์แบบไดนามิก
- ผู้ใช้เซสชัน
- ชนิดค่า BYTES
- ชนิดค่า DECIMAL
- ชนิดค่า DATETIME ของ LOCAL
- ชนิดค่าเวลาท้องถิ่น
- คําสั่งกระบวนงานที่ตั้งชื่อ
- ORDER BY ที่มีการจัดลําดับ NULL อย่างชัดเจน
- คําสั่ง Tabular FOR
- คําสั่ง EXCEPT ALL
- คําสั่งยกเว้น DISTINCT
- คําสั่ง INTERSECT ALL
- คําสั่ง INTERSECT DISTINCT
- คําสั่ง OTHERWISE
- อักขระตัวแทน
- ความสอดคล้องทางโทโพธิวิทยาที่ผ่อนคลาย
- ฟังก์ชันการรวม PERCENTILE_CONT
- ฟังก์ชันการรวม PERCENTILE_DISC
- ฟังก์ชันการรวม PRODUCT
- ฟังก์ชันการรวม STDDEV_POP
- ฟังก์ชันการรวม STDDEV_SAMP
- การเรียงต่อกันของสตริงไบต์
- ฟังก์ชัน TRIM สตริงไบต์
- ฟังก์ชัน TRIM อย่างง่ายพร้อมข้อกําหนด TRIM
- ฟังก์ชัน Multicharacter TRIM
- ฟังก์ชันความยาวสตริงไบต์
- คาร์ดินาลลิตี้
- เพรดิเคต ALL_DIFFERENT
- เพรดิเคต IS DISTINCT
- เพรดิเคตเดียวกัน
แค็ตตาล็อก
Note
ชื่อกราฟและชื่อข้อจํากัดจะถูกสร้างขึ้นโดยอัตโนมัติและ GraphBackend ไม่สามารถระบุใน UI หรือในสคีมา JSON ได้
| พื้นที่แคตตาล็อก | ขีดจํากัด / พฤติกรรมปัจจุบัน | สถานะการบังคับใช้ | คำ แนะ นำ |
|---|---|---|---|
| พื้นฐาน ID แค็ตตาล็อก | รหัสองค์ประกอบแค็ตตาล็อกเป็นตัวห่อหุ้ม int32 ที่ลงนามโดยที่ 0 ไม่ถูกต้อง ดังนั้นแต่ละตระกูล ID จึงมี ID ที่ไม่ใช่ศูนย์ที่เป็นบวกมากที่สุด std::numeric_limits<int32_t>::max() - 1 (2 พันล้าน) |
เพดานการใช้งาน ไม่ใช่โควต้า GA ที่แนะนํา | |
| สคีมากราฟ | หนึ่งประเภทกราฟต่อแคตตาล็อก ข้อคิดเห็น ID แค็ตตาล็อกถือว่าแค็ตตาล็อกมีกราฟชนิดเดียวเท่านั้น | สมมติฐานการออกแบบ ไม่เปิดเผยเป็นโควต้าหลายสคีมา | |
| ขนาดอนุกรมคําจํากัดความของกราฟ | ไม่มีขีดจํากัด GraphProtoขนาดไบต์ที่ชัดเจน ;ประกอบด้วยประเภทโหนดซ้ํา ประเภทขอบ ป้ายกํากับ ชื่อคุณสมบัติ และข้อจํากัด |
ไม่บังคับใช้ภายใต้ protobuf/gRPC/หน่วยความจํา การตรวจสอบจํานวนวัตถุของแค็ตตาล็อกมีผลหลังจากการสร้างกราฟ | |
| ชื่อกราฟ | ต้องไม่ว่างเปล่า ไม่มีความยาวไบต์สูงสุดหรือรายการอักขระที่อนุญาตอย่างชัดเจน | บังคับใช้เฉพาะ nonempty เท่านั้น | 128 ตัวอักษร |
| ชนิดโหนด | ประเภทโหนดสูงสุด 2 พันล้านประเภท | บังคับใช้โดย CatalogGraphType::Validate ผ่านช่องว่าง int32 ID ที่ไม่ใช่ศูนย์บวก |
100 |
| ประเภทขอบ | ประเภทขอบสูงสุด 2 พันล้านประเภท | บังคับใช้โดย CatalogGraphType::Validate ผ่านช่องว่าง int32 ID ที่ไม่ใช่ศูนย์บวก |
100 |
| ป้ายกํากับโหนดที่ไม่ซ้ํากันในทุกโหนด | ป้ายกํากับโหนดที่ไม่ซ้ํากันสูงสุด 2 พันล้านรายการ | บังคับใช้โดย CatalogGraphType::Validate;ป้ายกํากับที่ซ้ํากันภายในประเภทเดียวจะถูกปฏิเสธ |
สิ่งที่ได้รับ |
| ป้ายขอบที่ไม่ซ้ํากันในทุกประเภท | ฉลากขอบที่ไม่ซ้ํากันสูงสุด 2 พันล้านป้าย | บังคับใช้โดย CatalogGraphType::Validate;ป้ายกํากับที่ซ้ํากันภายในประเภทเดียวจะถูกปฏิเสธ |
สิ่งที่ได้รับ |
| ชื่อคุณสมบัติที่ไม่ซ้ํากันในทุกประเภทโหนดและเอดจ์ | ชื่อทรัพย์สินที่ไม่ซ้ํากันสูงสุด 2 พันล้านชื่อ | บังคับใช้โดย CatalogGraphType::Validateชื่อคุณสมบัติต้องไม่ว่างเปล่า และรายการที่ซ้ํากันภายในชนิดเดียวจะถูกปฏิเสธ |
64k * 10 |
| ข้อกําหนดข้อจํากัดของโหนด | คําจํากัดความข้อจํากัดคีย์โหนดสูงสุด 2 พันล้านโหนด | บังคับใช้โดย CatalogGraphType::Validate ผ่านช่องว่าง int32 ID ที่ไม่ใช่ศูนย์บวก |
<= ประเภทโหนด |
| ข้อกําหนดข้อจํากัดของขอบ | คําจํากัดความข้อจํากัดของคีย์ Edge สูงสุด 2 พันล้านรายการ แต่ข้อจํากัดของคีย์ Edge จะถูกปิดใช้งานโดยค่าเริ่มต้น เว้นแต่ allow_edge_key_constraints จะเป็นจริง |
บังคับใช้การนับหากมี Feature Gate ปฏิเสธข้อจํากัดของ Edge ตามค่าเริ่มต้น | <= ประเภทขอบ |
| ชื่อคุณสมบัติ อักขระ / ความยาว | ไม่ได้บังคับใช้อย่างชัดเจนนอกเหนือจากชื่อคุณสมบัติที่ไม่ว่างเปล่าและไวยากรณ์ตัวแยกวิเคราะห์ ไม่มีรายการความยาวไบต์สูงสุดหรืออักขระที่อนุญาตของแค็ตตาล็อก | 128 อักขระ | |
| อักขระฉลาก / ความยาว | ไม่ได้บังคับใช้อย่างชัดเจนนอกเหนือจากไวยากรณ์ตัวแยกวิเคราะห์และป้ายกํากับที่ไม่ว่างเปล่าในข้อจํากัด ไม่มีรายการความยาวไบต์สูงสุดหรืออักขระที่อนุญาตของแค็ตตาล็อก | 128 อักขระ | |
| อักขระ / ความยาวของชื่อข้อจํากัด | ชื่อข้อจํากัดต้องไม่ว่างเปล่า ไม่มีความยาวไบต์สูงสุดหรือรายการอักขระที่อนุญาตอย่างชัดเจน | การตรวจสอบความถูกต้องของข้อจํากัดที่ซ้ํากัน/ตรงกันจะแยกจากกัน | 128 อักขระ |
| คุณสมบัติต่อชนิดโหนด | ไม่มีจํานวนคุณสมบัติสูงสุดที่ชัดเจนในประเภทโหนด ชื่อพร็อพเพอร์ตี้ที่ซ้ํากันจะถูกปฏิเสธ | การตรวจสอบความถูกต้องเท่านั้น | 256 |
| คุณสมบัติต่อประเภทขอบ | ไม่มีจํานวนคุณสมบัติสูงสุดที่ชัดเจนในประเภทขอบ ชื่อพร็อพเพอร์ตี้ที่ซ้ํากันจะถูกปฏิเสธ | การตรวจสอบความถูกต้องเท่านั้น | 256 |
| ป้ายกํากับต่อชนิดโหนด | ไม่มีจํานวนป้ายกํากับสูงสุดที่ชัดเจนในประเภทโหนด ป้ายชื่อที่ซ้ํากันจะถูกปฏิเสธ | การตรวจสอบความถูกต้องเท่านั้น | 64 |
| ป้ายชื่อต่อประเภทขอบ | ไม่มีจํานวนป้ายกํากับสูงสุดที่ชัดเจนบนประเภทขอบ ป้ายกํากับที่ซ้ํากันจะถูกปฏิเสธ ป้ายกํากับที่เพิ่มขอบจะถูกปฏิเสธ | การตรวจสอบความถูกต้องเท่านั้น | 64 |
| คุณสมบัติหลักต่อข้อจํากัด | ไม่มีจํานวนสูงสุดของคุณสมบัติคีย์ที่ชัดเจนในข้อจํากัดของคีย์โหนดหรือขอบ ชื่อพร็อพเพอร์ตี้แต่ละรายการต้องไม่ว่างเปล่า | การตรวจสอบความถูกต้องเท่านั้น | 16 |
ค่ารันไทม์
| ชนิดค่ารันไทม์ | การแสดง / ช่วงการสนับสนุน | ขีดจํากัดระดับมูลค่าที่ชัดเจนใช่ไหม | แนะนำ |
|---|---|---|---|
| บูล | บูล; ค่าจริง/เท็จ | ใช่ โดเมนคงที่ | |
| อินที 64 | จํานวนเต็ม 64 บิตที่ลงนาม | ใช่ ความกว้างคงที่ | |
| UINT64 | จํานวนเต็ม 64 บิตที่ไม่มีเครื่องหมาย | ใช่ ความกว้างคงที่ | |
| คู่ | C++/protobuf double / ลูกศร DoubleScalar (IEEE-754 binary64); ค่าที่ไม่จํากัดจะไม่ถูกปฏิเสธโดย Value::FromProto |
ไม่มีเช็คจํากัดเท่านั้น | |
| DECIMAL128 | ลูกศร Decimal128Scalarการตรวจสอบรันไทม์ช่วยให้มีความแม่นยํา 1..38 และมาตราส่วน 0..precision; ทศนิยมสูงสุด 38 หลัก |
ใช่สําหรับการตรวจสอบการก่อสร้าง/จากโปรโต | |
| เชือก |
std::string; ValueProto.string_value |
ไม่มีขีดจํากัดมูลค่า | 4 ล้านบาท |
| ไบต์ |
std::string ใช้เป็นคอนเทนเนอร์ไบต์ ValueProto.bytes_value |
ไม่มีขีดจํากัดมูลค่า | ขีดจํากัดสตริง |
| VERTEX_ID | uint64 ห่อด้วย VertexId; รหัสที่สร้างขึ้นใช้ 48 บิต shard-local ID และสํารอง 0 เป็นไม่ถูกต้อง |
โปรโตดิบยอมรับ uint64 ใด ๆ รหัสที่สร้างขึ้นถูกจํากัด | |
| EDGE_ID | uint64 ห่อด้วย EdgeId; รหัสที่สร้างขึ้นใช้ 48 บิต shard-local ID และสํารอง 0 เป็นไม่ถูกต้อง |
โปรโตดิบยอมรับ uint64 ใด ๆ รหัสที่สร้างขึ้นถูกจํากัด | |
| ZONED_DATE_TIME |
absl::Time บวกเขตเวลา อนุกรมเป็น int64 มิลลิวินาทีตั้งแต่ยุค Unix บวกวินาทีออฟเซ็ต int32 UTC ช่วงมิลลิวินาทีคือ [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807] ซึ่งบันทึกเป็นทันที UTC จาก -292275055-05-16T16:47:04.192+00:00 ถึง 292278994-08-17T07:12:55.807+00:00 |
บันทึกช่วงเวลา ออฟเซ็ตเป็น int32 และไม่ได้เช็คอินช่วง Value::FromProto |
|
| ระยะเวลา |
absl::Duration; อนุกรมเป็น int64 มิลลิวินาที อนุกรมต่ําสุด/สูงสุดคือ -9,223,372,036,854,775,808 ms ถึง 9,223,372,036,854,775,807 ms (ประมาณ +/- 292,277,024.6 ปี) ตัวแยกวิเคราะห์ ISO เข้มงวดกว่า: +/-9,223,372,035 วินาที (ประมาณ +/-292.277 ปี) |
เส้นทางโปรโตยอมรับฟิลด์ int64 มิลลิวินาทีแบบเต็ม ตัวแยกวิเคราะห์มีตัวพิมพ์ใหญ่ที่ชัดเจนแคบกว่า | |
| NULL / พิมพ์ null |
std::monostate หรือตัวห่อหุ้ม typed-null |
||
| รายการที่พิมพ์ |
std::vector<std::optional<T>>; LIST_NULL เก็บ ; size_tLIST_ANY ร้านค้า std::vector<Value> |
ไม่มีค่าสูงสุดเริ่มต้น | |
| รายการที่ซ้อนกัน | รายการที่ซ้อนกันทั่วไปไม่ได้รับการสนับสนุนในสัญญาต้นแบบ รันไทม์มีการจัดการซ้อน LIST_INT64 กันเป็นพิเศษ |
ไม่มีโควต้าความลึก/ความยาวเริ่มต้น | |
| เส้นทาง | สลับจุดยอด/ขอบ/จุดยอด uint64 ID ในเวกเตอร์ รูปร่างเส้นทางที่ถูกต้องมีจํานวนองค์ประกอบคี่ | ไม่มีโควต้าความยาวเส้นทาง | |
| บันทึก |
absl::flat_hash_map<std::string, Value> / แผนที่ Protobuf |
ไม่มีโควต้าจํานวนฟิลด์ ความยาวคีย์ หรือความลึกของซ้อน | |
| ANY |
Value::DataType() ไม่คาดว่าจะกลับมา TYPE_ANY; ค่าไดนามิกจะถูกดําเนินการเป็นค่าที่เป็นรูปธรรมโดยเฉพาะอย่างยิ่งภายใน LIST_ANY หรือลูกศรการจัดเก็บส่วนขยายใด ๆ |
ไม่มีโควต้าขนาด/ความลึก |
ขีดจำกัดอื่นๆ
- ตัวระบุไม่สามารถขึ้นต้นด้วยขีดล่างได้
- สัญพจน์จํานวนเต็มจะถือว่าเป็นจํานวนเต็มที่มีเครื่องหมายตามค่าเริ่มต้น
- ไม่รองรับการส่งคืนชนิด ANY และ Record วิธีแก้ปัญหาชั่วคราวคือการ jsonize พวกเขาผ่าน
TO_JSON_STRING. - ความยาวคุณสมบัติสตริงสูงสุดคือ 65535 ข้อมูลที่เกิน 64 KiB ไม่สามารถเข้าถึงตัวแยกสัญญาณได้ บัฟเฟอร์แบบเต็มยังคงเขียนไปยัง RocksDB
- จํานวนสูงสุดขององค์ประกอบใน
List<T>คุณสมบัติคือ 65535 รายการ INT64 70,000 องค์ประกอบ deserialize เป็น 4,464 องค์ประกอบ - ขนาดการตอบสนองแบบสอบถามสูงสุดเป็นไบต์คือ 64 MB