ทําความเข้าใจคลังข้อมูลใน Fabric
เมื่อคุณเข้าใจพื้นฐานของ data warehouse แล้ว มาสํารวจสิ่งที่ Microsoft Fabric มีให้สําหรับคลังข้อมูล
อธิบาย Fabric data warehouse
Fabric data warehouse เป็นฐานข้อมูลเชิงสัมพันธ์ระดับองค์กรที่มีการจัดการเต็มรูปแบบซึ่งสร้างขึ้นบน OneLake มีความสามารถ T-SQL ในการทําธุรกรรมเต็มรูปแบบ รวมถึงคําสั่ง DDL (CREATE, ALTER, DROP) และคําสั่ง DML (INSERT, UPDATE, DELETE, MERGE) พร้อมการปฏิบัติตาม ACID เต็มรูปแบบเพื่อความสอดคล้องของข้อมูล
ข้อมูลจะถูกจัดเก็บในรูปแบบเดลต้าแบบเปิดบน OneLake ซึ่งหมายความว่าปริมาณงาน Fabric อื่นๆ สามารถ access ข้อมูลเดียวกันได้โดยไม่ซ้ําซ้อน คุณใช้ T-SQL เพื่อสร้างตาราง โหลดข้อมูล สร้างมุมมองและกระบวนงานที่เก็บไว้ และทําการแปลง ทั้งหมดนี้ภายในประสบการณ์ SQL ที่คุ้นเคย
ความสามารถหลัก ได้แก่:
- รองรับ T-SQL เต็มรูปแบบ - เขียนคําสั่ง DDL และ DML รวมถึง MERGE สําหรับสถานการณ์ upsert โดยใช้ไวยากรณ์ SQL Server ที่คุ้นเคย
- จัดการเต็มรูปแบบ - ไม่มีโครงสร้างพื้นฐานที่ต้องกําหนดค่า Compute ปรับขนาดโดยอัตโนมัติและเป็นอิสระจาก storage
- การรวม OneLake - ข้อมูลคลังสินค้าถูกจัดเก็บในรูปแบบเดลต้าและเข้าถึงได้โดยปริมาณงาน Fabric อื่นๆ โดยไม่ซ้ําซ้อน
- การสืบค้นข้ามฐานข้อมูล - สืบค้นข้อมูลข้ามคลังสินค้าและเลคเฮาส์โดยไม่ต้องคัดลอกข้อมูล ใช้การตั้งชื่อสามส่วน (database.schema.table) เพื่อรวมตารางคลังสินค้ากับตารางเลคเฮาส์ในคิวรีเดียว
- เครื่องมือที่คุ้นเคย - เชื่อมต่อกับ SQL Server Management Studio (SSMS), Azure Data Studio หรือไคลเอ็นต์ SQL ใดๆ ผ่านการเชื่อมต่อ TDS มาตรฐาน
- ความช่วยเหลือของ Copilot - Copilot for Data Warehouse สร้างการสืบค้น SQL จากภาษาธรรมชาติ ให้โค้ดสมบูรณ์ในขณะที่คุณพิมพ์ และสามารถอธิบายหรือแก้ไขการสืบค้นที่มีอยู่ในตัวแก้ไข SQL
คลังสินค้าเทียบกับปลายทางการวิเคราะห์ SQL
พื้นที่ทํางานแบบ Fabric สามารถมีรายการที่ใช้ SQL ได้สองประเภทที่ตอบสนองวัตถุประสงค์ที่แตกต่างกัน
| ความสามารถ | Warehouse | จุดสิ้นสุดการวิเคราะห์ SQL |
|---|---|---|
| อ่านข้อมูล | ใช่ | ใช่ |
| เขียนข้อมูล (แทรก, อัปเดต, ลบ, ผสาน) | ใช่ | ไม่ |
| สร้างตาราง (DDL) | ใช่ | ไม่ |
| สร้างมุมมองและกระบวนงานที่เก็บไว้ | ใช่ | ใช่ |
| แหล่งข้อมูล | ตารางคลังสินค้าดั้งเดิม | โต๊ะ Lakehouse Delta |
ใช้คลังสินค้าเมื่อคุณต้องการความสามารถในการอ่าน/เขียน T-SQL เต็มรูปแบบ ใช้ตําแหน่งข้อมูลการวิเคราะห์ SQL เมื่อคุณต้องการ SQL access แบบอ่านอย่างเดียวไปยังข้อมูลเลคเฮาส์
สร้าง data warehouse
คุณสามารถสร้าง data warehouse ใน Fabric ได้จากฮับ create หรือภายใน workspace หลังจากสร้างคลังสินค้าเปล่าแล้ว คุณสามารถเพิ่มตาราง มุมมอง และออบเจ็กต์อื่นๆ ได้
เมื่อสร้างคลังสินค้าของคุณแล้ว คุณสามารถเริ่มสร้างตารางและโหลดข้อมูลโดยใช้ตัวแก้ไข query editor SQL ในพอร์ทัล Fabric
นําเข้าข้อมูลไปยังคลังสินค้า
มีหลายวิธีในการโหลดข้อมูลลงใน Fabric data warehouse:
- คัดลอกลงใน - โหลดข้อมูลจํานวนมากจากไฟล์ภายนอก (CSV, Parquet) Azure storage ลงในตารางคลังสินค้า
- OPENROWSET - คิวรีไฟล์โดยตรงจากตําแหน่ง storage ภายนอกหรือ OneLake สําหรับการวิเคราะห์เฉพาะกิจหรือการนําเข้าโดยไม่ต้องสร้างตารางก่อน
- Pipelines และกระแสข้อมูล - ใช้ Data Factory pipelines หรือ Dataflows Gen2 สําหรับการเคลื่อนย้ายและการแปลงข้อมูลที่ประสานกัน
- การสืบค้นข้ามฐานข้อมูล - สืบค้นตารางเลคเฮาส์โดยตรงจากคลังสินค้าโดยใช้การตั้งชื่อสามส่วนโดยไม่ต้องคัดลอกข้อมูล
คุณสามารถใช้ COPY INTO คําสั่ง T-SQL เพื่อโหลดข้อมูลจํานวนมากจากไฟล์ ตัวอย่างเช่น คําสั่งต่อไปนี้โหลดข้อมูลจากไฟล์ CSV ลงในตาราง:
COPY INTO dbo.Region
FROM 'https://mystorageaccount.blob.core.windows.net/data/Region.csv'
WITH (
FILE_TYPE = 'CSV',
CREDENTIAL = (
IDENTITY = 'Shared Access Signature',
SECRET = 'xxx'
),
FIRSTROW = 2
)
GO
เคล็ดลับ
หากคุณมีตารางในเลคเฮาส์ที่คุณต้องการคิวรีจากคลังสินค้าของคุณโดยไม่ทําการเปลี่ยนแปลง ให้ใช้คิวรีข้ามฐานข้อมูลแทน คุณไม่จําเป็นต้องคัดลอกข้อมูล
สร้างตารางและโหลดข้อมูล
หลังจากสร้างคลังสินค้าและเลือกวิธีการนําเข้าแล้ว ขั้นตอนต่อไปคือการกําหนดตารางของคุณและโหลดข้อมูลลงในตารางเหล่านั้น
คุณสร้างตารางโดยใช้คําสั่ง T-SQL CREATE TABLE กําหนดคอลัมน์ด้วยชนิดข้อมูลที่เหมาะสมสําหรับปริมาณงานการวิเคราะห์
CREATE TABLE dbo.DimCustomer
(
CustomerKey INT NOT NULL,
CustomerAltKey NVARCHAR(10) NOT NULL,
CustomerName NVARCHAR(100) NOT NULL,
Region NVARCHAR(50) NULL
);
GO
CREATE TABLE dbo.FactSales
(
SalesKey INT NOT NULL,
CustomerKey INT NOT NULL,
ProductKey INT NOT NULL,
DateKey INT NOT NULL,
SalesAmount DECIMAL(10,2) NOT NULL,
Quantity INT NOT NULL
);
GO
เลือกประเภทข้อมูลที่สร้างสมดุลระหว่างความแม่นยํากับประสิทธิภาพใน storage ใช้สําหรับ INT คอลัมน์ NVARCHAR หลัก สําหรับข้อความที่อาจมีอักขระพิเศษ และ DECIMAL สําหรับค่าทางการเงินที่ต้องการความแม่นยํา
ใช้ตารางการจัดเตรียมสําหรับการโหลดข้อมูล
รูปแบบทั่วไปในคลังข้อมูลคือการลงจอดข้อมูลดิบในตารางการจัดเตรียมก่อนที่จะแปลงและโหลดลงในตารางมิติและข้อเท็จจริงขั้นสุดท้าย ตารางการแสดงละครจะสะท้อนโครงสร้างของข้อมูลต้นทางของคุณและทําหน้าที่เป็นพื้นที่เก็บข้อมูลชั่วคราว
หลังจากโหลดข้อมูลลงในตารางการจัดเตรียมโดยใช้ COPY INTO หรือ pipelines แล้ว คุณจะแปลงและแทรกลงในแบบจําลองมิติของคุณ:
INSERT INTO dbo.FactSales (SalesKey, CustomerKey, ProductKey, DateKey, SalesAmount, Quantity)
SELECT
s.OrderID,
c.CustomerKey,
p.ProductKey,
d.DateKey,
s.Amount,
s.Qty
FROM dbo.StgSales AS s
INNER JOIN dbo.DimCustomer AS c ON s.CustomerID = c.CustomerAltKey
INNER JOIN dbo.DimProduct AS p ON s.ProductID = p.ProductAltKey
INNER JOIN dbo.DimDate AS d ON s.OrderDate = d.DateValue;
GO
รูปแบบนี้ทําให้ข้อมูลต้นทางของคุณเหมือนเดิมในขณะที่คุณใช้กฎทางธุรกิจและการค้นหาคีย์ในระหว่างกระบวนการโหลด
ทําความเข้าใจการโคลนตาราง
คุณสามารถสร้างโคลนตารางแบบไม่มีสําเนาใน Fabric data warehouse โคลนคัดลอกข้อมูลเมตาของตารางในขณะที่ยังคงอ้างอิงไฟล์ข้อมูลพื้นฐานเดียวกันใน OneLake ตัวข้อมูลเองไม่ซ้ํากัน ซึ่งทําให้ต้นทุน storage ต่ํา
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างโคลนด้วย T-SQL:
--Clone creation within the same schema
CREATE TABLE dbo.Employee AS CLONE OF dbo.EmployeeUSA;
การโคลนตารางมีประโยชน์สําหรับการพัฒนาและการทดสอบการกู้คืนข้อมูลหลังจากการเผยแพร่ที่ล้มเหลวและการเก็บรักษาข้อมูล ณ จุดที่เฉพาะเจาะจงในช่วงเวลาสําหรับการรายงานในอดีต
เคล็ดลับ
สําหรับข้อมูลเพิ่มเติม โปรดดูตาราง Clone ในเอกสารประกอบ Microsoft Fabric
เมื่อคุณเข้าใจความสามารถของคลังสินค้าของ Fabric แล้ว มาสํารวจวิธีการสืบค้นและแปลงข้อมูลของคุณกัน