หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้ให้รายละเอียดแนวคิดหลักสําหรับการออกแบบตารางใน Microsoft Fabric
ในตาราง ข้อมูลถูกจัดระเบียบอย่างมีตรรกะในรูปแบบแถวและคอลัมน์ แต่ละแถวแสดงระเบียนที่ไม่ซ้ํากัน และแต่ละคอลัมน์แสดงเขตข้อมูลในระเบียน
กําหนดประเภทตาราง
สคีมาแบบดาวจัดระเบียบข้อมูลลงในตารางข้อเท็จจริงและตารางมิติ บางตารางใช้สําหรับการรวมหรือจัดเตรียมข้อมูลก่อนที่จะย้ายไปยังตารางข้อเท็จจริงหรือมิติ เมื่อคุณออกแบบตาราง ตัดสินใจว่าข้อมูลตารางเป็นของตารางข้อเท็จจริง มิติ หรือตารางการรวม การตัดสินใจนี้จะแจ้งโครงสร้างตารางที่เหมาะสม
ตาราง ข้อเท็จจริงประกอบด้วยข้อมูลเชิงปริมาณที่สร้างขึ้นโดยทั่วไปในระบบทรานแซคชัน และโหลดลงในคลังข้อมูล ตัวอย่างเช่น ธุรกิจค้าปลีกสร้างธุรกรรมการขายทุกวัน จากนั้นโหลดข้อมูลลงในตารางข้อเท็จจริงของคลังข้อมูลสําหรับการวิเคราะห์
ตาราง มิติประกอบด้วยข้อมูลแอตทริบิวต์ที่อาจเปลี่ยนแปลง แต่โดยปกติแล้วจะมีการเปลี่ยนแปลงไม่บ่อยนัก ตัวอย่างเช่น ชื่อและที่อยู่ของลูกค้าจะถูกจัดเก็บในตารางมิติ และอัพเดตเฉพาะเมื่อโพรไฟล์ของลูกค้ามีการเปลี่ยนแปลงเท่านั้น เพื่อลดขนาดของตารางข้อเท็จจริงขนาดใหญ่ ชื่อและที่อยู่ของลูกค้าไม่จําเป็นต้องอยู่ในทุกแถวของตารางข้อเท็จจริง แต่ตารางข้อเท็จจริงและตารางมิติสามารถแชร์ ID ลูกค้าได้ คิวรีสามารถรวมสองตารางเพื่อเชื่อมโยงโปรไฟล์ของลูกค้าและธุรกรรม
ตาราง การรวมมีจุดสําหรับการรวมหรือจัดเตรียมข้อมูล ตัวอย่างเช่น คุณสามารถโหลดข้อมูลไปยังตารางการกําหนดระยะ ดําเนินการแปลงข้อมูลในการแสดงข้อมูล จากนั้นแทรกข้อมูลลงในตารางการผลิต
ตารางจัดเก็บข้อมูลใน OneLake เป็นส่วนหนึ่งของ Warehouse ตารางและข้อมูลยังคงอยู่ไม่ว่าจะเป็นเซสชันที่เปิดอยู่หรือไม่
ตารางในคลังสินค้า
เมื่อต้องการแสดงการจัดระเบียบของตาราง คุณสามารถใช้ factdim, หรือ int เป็นคํานําหน้ากับชื่อตารางได้ ตารางต่อไปนี้แสดงบางส่วนของ Schema และชื่อตารางสําหรับคลังข้อมูลตัวอย่าง WideWorldImportersDW
| ชื่อตารางต้นทาง WideWorldImportersDW | ชนิดของตาราง | ชื่อตาราง Data Warehouse |
|---|---|---|
| เมือง | มิติ | wwi.DimCity |
| ใบสั่ง | ข้อเท็จจริง | wwi.FactOrder |
- ชื่อตารางต้องไม่มี
/หรือ\ลงท้ายด้วย.
สร้างตาราง
สําหรับคลังสินค้า คุณสามารถสร้างตารางเป็นตารางว่างใหม่ได้ คุณยังสามารถสร้างและเติมข้อมูลตารางที่มีผลลัพธ์ของคําสั่งเลือก ต่อไปนี้คือคําสั่ง T-SQL สําหรับการสร้างตาราง
| คําสั่ง T-SQL | คำอธิบาย |
|---|---|
| สร้างตาราง | สร้างตารางเปล่าโดยการกําหนดคอลัมน์และตัวเลือกตารางทั้งหมด |
| สร้างตารางเป็นเลือก | เติมข้อมูลตารางใหม่ด้วยผลลัพธ์ของคําสั่งที่เลือก คอลัมน์ตารางและชนิดข้อมูลจะขึ้นอยู่กับผลลัพธ์ของคําสั่งที่เลือก เมื่อต้องการนําเข้าข้อมูล คําสั่งนี้สามารถเลือกจากตารางภายนอกได้ |
ตัวอย่างนี้สร้างตารางที่มีสองคอลัมน์:
CREATE TABLE MyTable (col1 int, col2 int );
ชื่อ Schema
คลังสินค้าสนับสนุนการสร้างสคีมาแบบกําหนดเอง เช่นเดียวกับใน SQL Server สคีมาเป็นวิธีที่ดีในการจัดกลุ่มวัตถุที่ใช้ในลักษณะเดียวกันเข้าด้วยกัน โค้ดต่อไปนี้สร้างเค้าร่างที่ผู้ใช้กําหนดเองที่เรียกว่าwwi
- ชื่อ Schema แยกตามตัวพิมพ์ใหญ่-เล็ก
- ชื่อ Schema ต้องไม่ประกอบด้วย
/หรือ\ลงท้ายด้วย.
CREATE SCHEMA wwi;
ชนิดข้อมูล
Microsoft Fabric รองรับชนิดข้อมูล T-SQL ที่ใช้บ่อยที่สุด
- สําหรับข้อมูลเพิ่มเติมเกี่ยวกับชนิดข้อมูล โปรดดู ชนิดข้อมูลใน Fabric Data Warehouse
- เมื่อคุณสร้างตารางใน Warehouse ให้ตรวจทานการอ้างอิงชนิดข้อมูล ใน สร้างตาราง (Transact-SQL)
- สําหรับคําแนะนําในการสร้างตารางใน Warehouse ให้ดู สร้างตาราง
การจัดเรียง
คลังสินค้า Fabric ได้รับการกําหนดค่าตามการตั้งค่าการเปรียบเทียบของพื้นที่ทํางาน ซึ่งโดยค่าเริ่มต้นคือการเปรียบเทียบแบบคํานึงถึงตัวพิมพ์เล็กและใหญ่ (CS) Latin1_General_100_BIN2_UTF8 เมื่อสร้าง คลังสินค้าใหม่ จะใช้การเปรียบเทียบพื้นที่ทํางาน สําหรับข้อมูลเพิ่มเติม โปรดดู Data Warehouse collation
การเปรียบเทียบคลังสินค้าที่รองรับคือ:
-
Latin1_General_100_BIN2_UTF8(ค่าเริ่มต้น) Latin1_General_100_CI_AS_KS_WS_SC_UTF8
คุณสามารถสร้างคลังสินค้าที่มีการเปรียบเทียบที่ไม่ใช่ค่าเริ่มต้นได้โดยใช้ REST API สําหรับข้อมูลเพิ่มเติม ดูวิธีการ: สร้างคลังสินค้าที่มีการจัดเรียงแบบไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก (CI)
เมื่อตั้งค่าการจัดเรียงในระหว่างการสร้างฐานข้อมูล วัตถุที่ตามมาทั้งหมด (ตาราง คอลัมน์ ฯลฯ) จะสืบทอดการจัดเรียงเริ่มต้นนี้ เมื่อสร้างคลังสินค้าแล้ว จะไม่สามารถเปลี่ยนแปลงการตั้งค่าการเปรียบเทียบได้
สถิติ
ตัวปรับให้เหมาะสมคิวรีใช้สถิติระดับคอลัมน์เมื่อสร้างแผนสําหรับการดําเนินการคิวรี การปรับปรุงประสิทธิภาพการทํางานของคิวรี สิ่งสําคัญคือต้องมีสถิติในแต่ละคอลัมน์ โดยเฉพาะอย่างยิ่งคอลัมน์ที่ใช้ในการรวมคิวรี คลังสินค้าสนับสนุนการสร้างสถิติโดยอัตโนมัติ
การอัปเดตทางสถิติจะไม่เกิดขึ้นโดยอัตโนมัติ อัปเดตสถิติหลังจากที่มีการเพิ่มหรือเปลี่ยนแปลงแถวจํานวนมาก ตัวอย่างเช่น อัปเดตสถิติหลังจากการโหลด สําหรับข้อมูลเพิ่มเติม โปรดดู สถิติใน Fabric Data Warehouse
คีย์หลัก คีย์นอก และคีย์ที่ไม่ซ้ํากัน
สําหรับ คลังสินค้า PRIMARY KEY และUNIQUEข้อจํากัดจะได้รับการสนับสนุนเฉพาะเมื่อใช้NONCLUSTEREDNOT ENFORCEDและทั้งสองอย่างเท่านั้น
FOREIGN KEY รองรับเฉพาะเมื่อ NOT ENFORCED ใช้งานเท่านั้น
- สําหรับไวยากรณ์ ตรวจสอบ ALTER TABLE
- สําหรับข้อมูลเพิ่มเติม ให้ดู คีย์หลัก คีย์นอก และคีย์เฉพาะ
ตาราง #temp
ตารางชั่วคราวที่มีขอบเขตเซสชัน (#temp) สามารถสร้างได้ใน Fabric Data Warehouse
ตารางเหล่านี้มีอยู่ภายในเซสชันที่สร้างขึ้นและอยู่ล่าสุดสําหรับระยะเวลาของเซสชันนั้นเท่านั้น ผู้ใช้หรือเซสชันอื่นจะมองไม่เห็นและจะถูกทิ้งจากระบบโดยอัตโนมัติเมื่อเซสชันสิ้นสุดหรือตาราง #temp จะถูกข้ามไป ตารางเหล่านี้สามารถเข้าถึงผู้ใช้ทั้งหมดได้โดยไม่จําเป็นต้องมีสิทธิ์ระดับรายการเฉพาะ
ตาราง #temp สองชนิดสามารถสร้างได้ตามกรณีการใช้งานเฉพาะ: แบบไม่แจกจ่ายและแบบกระจาย
ตาราง #temp แบบไม่กระจาย (สนับสนุน mdf) เป็นชนิดเริ่มต้น ไวยากรณ์สําหรับการสร้างและใช้ตาราง #temp ที่ไม่ได้แจกจ่ายใน Fabric Data Warehouse จะคล้ายกับตารางผู้ใช้ แต่คุณต้องนําหน้าชื่อตารางชั่วคราวด้วย
#CREATE TABLE #table_name ( Col1 data_type1, Col2 data_type2 );ตารางอุณหภูมิแบบกระจาย (สํารอง Parquet) สามารถสร้างขึ้นด้วย
DISTRIBUTION=ROUND_ROBINคําสําคัญ:CREATE TABLE #table_name ( Col1 data_type1, Col2 data_type2 ) WITH (DISTRIBUTION=ROUND_ROBIN);
ในสคริปต์ก่อนหน้านี้ data_type1 และ data_type2 เป็นตัวยึดตําแหน่งสําหรับชนิดข้อมูล Data ใน Fabric Data Warehouse ที่ได้รับการสนับสนุน
เราขอแนะนําตาราง #temp แบบกระจายเนื่องจากสอดคล้องกับตารางผู้ใช้ปกติ มีพื้นที่เก็บข้อมูล ไม่จํากัด รองรับชนิดข้อมูล และการดําเนินการ T-SQL
หมายเหตุอื่นๆ เกี่ยวกับตารางชั่วคราวใน Fabric Data Warehouse:
- ไวยากรณ์สําหรับการจัดการข้อมูลและคําจํากัดความจะเหมือนกับตารางผู้ใช้ใน Fabric Data Warehouse โดยมีคํานําหน้า
#เพิ่มลงในชื่อตาราง - ตารางชั่วคราวไม่ได้รับผลกระทบจากคําใบ้การสืบค้น การเดินทางข้ามเวลา และส่งกลับข้อมูลล่าสุดในตารางเสมอ
- คุณสามารถเปลี่ยนตารางชั่วคราวแบบกระจายด้วย
ALTER TABLEแต่ไม่สามารถเปลี่ยนตารางชั่วคราวที่ได้รับการสนับสนุนจาก MDF ได้
จัดแนวข้อมูลต้นทางให้สอดคล้องกับคลังข้อมูล
ตารางคลังสินค้าจะถูกสร้างขึ้นโดยการโหลดข้อมูลจากแหล่งข้อมูลอื่น เพื่อให้เกิดภาระที่สําเร็จ จํานวนและชนิดข้อมูลของคอลัมน์ในข้อมูลต้นฉบับต้องสอดคล้องกับข้อกําหนดตารางในคลังสินค้า
ถ้าข้อมูลมาจากหลายที่เก็บข้อมูล คุณสามารถพอร์ตข้อมูลไปยังคลังสินค้าและจัดเก็บไว้ในตารางการรวมได้ เมื่อข้อมูลอยู่ในตารางการรวมแล้ว คุณสามารถใช้พลังของคลังสินค้าเพื่อดําเนินการแปลงข้อมูลได้ เมื่อข้อมูลได้รับการจัดเตรียมแล้ว คุณสามารถแทรกข้อมูลลงในตารางการผลิตได้
ข้อจำกัด
คลังสินค้าสนับสนุนคุณลักษณะตารางจํานวนมาก แต่ไม่ใช่ทั้งหมด คุณลักษณะตารางที่เสนอโดยฐานข้อมูลอื่น ๆ
- ในขณะนี้ยังไม่รองรับตารางชั่วคราวส่วนกลาง
รายการต่อไปนี้แสดงคุณลักษณะบางอย่างของตารางที่ไม่ได้รับการสนับสนุนในขณะนี้
คอลัมน์สูงสุด 1,024 คอลัมน์ต่อตาราง
คอลัมน์จากการคํานวณ
มุมมองที่มีการจัดทําดัชนี
ตารางที่มีการแบ่งพาร์ติชัน
ลำดับ
คอลัมน์แบบกระจาย
คำพ้อง
ทริกเกอร์
ดัชนีที่ไม่ซ้ํากัน
ชนิดที่ผู้ใช้กําหนดเอง
ตารางภายนอก
ข้อมูลเมตาของออบเจ็กต์คลังสินค้าถูกแคชโดย Fabric Data Warehouse เพื่อให้เข้าถึงออบเจ็กต์และคําจํากัดความได้อย่างรวดเร็ว สําหรับคลังสินค้าขนาดใหญ่มากที่มีวัตถุมากกว่า 750,000 รายการ (ตัวอย่างเช่น ตาราง มุมมอง กระบวนงานที่เก็บไว้ และฟังก์ชัน) ระบบจะไม่แคชข้อมูลเมตาอีกต่อไป การดําเนินการ Schema จะสอบถามที่เก็บข้อมูลเมตาโดยตรงแทน สิ่งนี้ทําให้มั่นใจได้ถึงความเสถียรของระบบและป้องกันการอดอยากแคชในฐานข้อมูลที่มีขนาดใหญ่มาก อย่างไรก็ตาม การดําเนินการรีเฟรช Schema อาจใช้เวลานานกว่าเมื่อเทียบกับคลังสินค้าขนาดเล็กที่เปิดใช้งานการแคชข้อมูลเมตา
สำคัญ
มีข้อจํากัดของการเพิ่มข้อจํากัดตารางหรือคอลัมน์เมื่อใช้ตัวควบคุมแหล่งข้อมูลกับ Warehouse