ตัวเลือกการกําหนดค่าขั้นสูงใน Azure Synapse Link

Azure Synapse Link นําเสนอหลายวิธีในการเขียนและอ่านข้อมูลของคุณเพื่อให้เหมาะกับสถานการณ์การวิเคราะห์ต่างๆ คุณสามารถเลือกการกำหนดค่าเฉพาะจากตัวเลือกด้านล่าง ทั้งนี้ขึ้นอยู่กับสถานการณ์การวิเคราะห์ของคุณ

สถานการณ์จำลอง ใช้กับ ตัวเลือกการกำหนดค่าที่ใช้ได้
การรายงานการดำเนินงาน ตารางข้อมูล Microsoft ตารางการเงินและการดําเนินการ และเอนทิตี Synapse Analytics ที่มีตัวเลือก Delta Lake ให้เวลาตอบสนองการสอบถามที่ดีขึ้น โดยเฉพาะอย่างยิ่งสำหรับการสอบถามข้อมูลจำนวนมาก ข้อมูลเพิ่มเติม: Synapse Link ด้วยตัวเลือก Delta Lake
การรายงานการดำเนินงาน เฉพาะตาราง Dataverse เท่านั้น Synapse Link ที่มีตัวเลือกการกำหนดค่า "การอัปเดตในตำแหน่ง" จะแสดงไฟล์ CSV ในที่จัดเก็บข้อมูลดิบของคุณที่ได้รับการอัปเดตแบบใกล้เคียงเวลาจริง

นี่คือตัวเลือกเดิมที่สามารถใช้งานสำหรับตาราง Dataverse ตัวเลือกนี้ไม่ได้รับการสนับสนุนสําหรับตารางจากแอปการเงินและการดําเนินงาน
การรวมข้อมูล ตาราง Dataverse และตารางและเอนทิตีการเงินและการดำเนินงาน ตัวเลือก ผนวกเท่านั้น ให้ไฟล์ CSV ที่มีข้อมูลที่เพิ่มขึ้น คุณสามารถสร้างไปป์ไลน์ที่ใช้ข้อมูลส่วนเพิ่มและเติมข้อมูลลงในระบบดาวน์สตรีมได้

คุณลักษณะ พาร์ติชันข้อมูลที่ผู้ใช้ระบุ ช่วยให้สามารถเลือกกลยุทธ์การแบ่งพาร์ติชันข้อมูลแบบกำหนดเองสำหรับตาราง Dataverse โดยเฉพาะ ข้อมูลตารางการเงินและการดำเนินงานถูกแบ่งพาร์ติชันโดยระบบตามกลยุทธ์การแบ่งพาร์ติชันที่เหมาะสม ตัวเลือกนี้ไม่พร้อมใช้งานสําหรับแอปการเงินและการดําเนินงาน

บทความนี้ครอบคลุมการตั้งค่าการกำหนดค่าขั้นสูงที่สามารถใช้งานสำหรับตาราง Dataverse ตัวเลือกเหล่านี้ไม่สามารถใช้ได้สำหรับแอปการเงินและการดำเนินงาน

  1. การอัปเดตในตำแหน่งเทียบกับการเขียนแบบผนวกเท่านั้น
  2. การแบ่งพาร์ติชันข้อมูลที่ผู้ใช้ระบุ

การอัปเดตในตำแหน่งเทียบกับการเขียนแบบผนวกเท่านั้น

ขณะเขียนข้อมูลตาราง Dataverse ไปยังที่จัดเก็บข้อมูลทะเลสาบ Azure โดยยึดตามค่า createdOn ซึ่งเป็นวันที่และเวลาเมื่อสร้างระเบียน มีการตั้งค่าที่แตกต่างกันสองแบบให้เลือก ซึ่งคือ การอัปเดตในตำแหน่ง และ ผนวกเท่านั้น

การตั้งค่าเริ่มต้น (สำหรับตารางที่ createdOn พร้อมใช้งาน) คือการทำการอัปเดตในตำแหน่งหรือ upsert (อัปเดตหรือแทรก) ของข้อมูลส่วนเพิ่มในปลายทาง หากการเปลี่ยนแปลงเป็นแถวใหม่และแถวที่เกี่ยวข้องไม่มีอยู่ในที่จัดเก็บข้อมูลดิบ ในกรณีของการสร้าง ไฟล์ปลายทางจะถูกสแกน และการเปลี่ยนแปลงจะถูกแทรกลงในพาร์ติชันไฟล์ที่เกี่ยวข้องในที่จัดเก็บข้อมูลดิบ หากการเปลี่ยนแปลงเป็นการอัปเดตและมีแถวอยู่ในที่จัดเก็บข้อมูลดิบ ไฟล์ที่เกี่ยวข้องในที่จัดเก็บข้อมูลดิบจะได้รับการอัปเดต แทนที่จะแทรกด้วยข้อมูลที่เพิ่มขึ้น หรืออีกนัยหนึ่ง การตั้งค่าเริ่มต้นสําหรับการเปลี่ยนแปลง CUD ทั้งหมด (สร้าง อัปเดต ลบ) ในตาราง Dataverse ที่มีcreatedOn พร้อมใช้งาน คือทําการปรับปรุงในสถานที่สําหรับปลายทาง Azure data lake

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

ตารางนี้อธิบายวิธีจัดการแถวในที่จัดเก็บข้อมูลดิบเทียบกับเหตุการณ์ CUD สำหรับแต่ละตัวเลือกการเขียนข้อมูล

เหตุการณ์ การอัปเดตในตำแหน่ง เพิ่มข้อมูลเท่านั้น
สร้าง แถวจะถูกแทรกในไฟล์พาร์ติชันและขึ้นอยู่กับค่า createdOn ในแถว แถวจะถูกเพิ่มที่ส่วนท้ายของไฟล์พาร์ติชันและขึ้นอยู่กับค่า createdOn ของเรกคอร์ด
อัปเดต หากมีแถวอยู่ในไฟล์พาร์ติชัน แถวจะถูกแทนที่หรือปรับปรุงด้วยข้อมูลที่มีการปรับปรุง หากไม่มีอยู่ แสดงว่าถูกแทรกในไฟล์ แถวพร้อมกับรุ่นที่อัปเดต จะถูกเพิ่มที่ส่วนท้ายของไฟล์พาร์ติชัน
ลบ หากมีแถวอยู่ในไฟล์พาร์ติชัน ระบบจะลบออกจากไฟล์ แถวจะถูกเพิ่มที่ส่วนท้ายของไฟล์พาร์ติชันกับ IsDelete column = True

หมายเหตุ

สําหรับตาราง Dataverse ที่เปิดใช้งาน ผนวกข้อมูลเท่านั้น การลบแถวในแหล่งต้นทางจะไม่ทําให้แถวดังกล่าวถูกลบหรือถูกนําออกจาก data lake ในทันที แต่แถวที่ถูกลบจะถูกต่อท้ายเป็นแถวใหม่ในคลังข้อมูลและคอลัมน์ isDeleted ถูกตั้งค่าเป็น True Azure Synapse Link จะลบระเบียนที่ถูกลบออกจาก data lake อย่างถาวรหลังจาก 30 วัน เพื่อเก็บรักษาระเบียนที่ถูกลบเป็นเวลานานกว่า 30 วัน ให้เปิดใช้งานการเก็บข้อมูลระยะยาวสําหรับตาราง

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

การเปลี่ยนแปลง CUD ไม่ได้ถูกบันทึกไว้ใน ผนวกเท่านั้น: กระบวนการ Synapse Link จะเปลี่ยนแปลงข้อมูลในกลุ่มหรือ "ชุดงาน" ก่อนที่จะเผยแพร่ไปยัง data lake ผลที่ได้คือ ถ้าผู้ใช้ทําการเปลี่ยนแปลงภายในช่วงเวลาสั้น ๆ การเปลี่ยนแปลง CUD ทั้งหมดจะไม่ถูกบันทึกไว้ใน data lake

ต่อไปนี้คือรายละเอียดเพิ่มเติมว่าควรใช้ตัวเลือกใดตัวเลือกหนึ่งเมื่อใด

  • ในการอัปเดตในสถานที่ (แบบดั้งเดิม): ตัวเลือกนี้เป็นค่าเริ่มต้นและแนะนําเฉพาะเมื่อคุณต้องการเชื่อมต่อโดยตรงกับข้อมูลใน lake และต้องการสถานะปัจจุบัน (ไม่ใช่ประวัติหรือการเปลี่ยนแปลงแบบเพิ่มหน่วย) ไฟล์มีชุดข้อมูลทั้งหมดและสามารถใช้งานได้ผ่าน Power BI หรือโดยการคัดลอกชุดข้อมูลทั้งหมดสําหรับไปป์ไลน์ ETL (แยกการถ่ายโอนการโหลด)

    สำคัญ

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

  • ผนวกเท่านั้น: เลือกตัวเลือกนี้หากคุณไม่ได้เชื่อมต่อโดยตรงกับข้อมูลในดาต้าเลค และต้องการคัดลอกข้อมูลอย่างเป็นขั้นตอนไปยังเป้าหมายอื่นโดยใช้ไปป์ไลน์ ETL ตัวเลือกนี้จัดเตรียมประวัติของการเปลี่ยนแปลงเพื่อเปิดใช้งานสถานการณ์ AI และ ML นี่คือตัวเลือกที่แนะนําสําหรับตารางที่มีปริมาณข้อมูลขนาดใหญ่หรือการเปลี่ยนแปลงข้อมูลที่ใช้บ่อย

    สำคัญ

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

คุณสามารถสลับการตั้งค่าการกําหนดค่าขั้นสูง Show ภายใต้ ขั้นสูง ใน Azure Synapse Link สําหรับ Dataverse เพื่อกําหนดกลยุทธ์พาร์ติชันข้อมูลของคุณเอง และเลือกตัวเลือกที่จะเขียนลงใน Azure data lake

แสดงการกำหนดค่าขั้นสูง

การแบ่งพาร์ติชันข้อมูล

เมื่อคุณเขียนข้อมูลตาราง Dataverse ไปยัง Azure Data Lake Storage โดยใช้ Azure Synapse Link ตารางจะถูกแบ่งพาร์ติชันใน lake โดย createdOn ยึดตามค่าบนแต่ละแถวในแหล่งข้อมูล กลยุทธ์พาร์ติชันเริ่มต้นเป็นรายเดือน ดังนั้นข้อมูลจะถูกแบ่งพาร์ติชันใน Azure Data Lake เป็นรายเดือน

ขึ้นอยู่กับ Dataverse ปริมาณตารางและการกระจายข้อมูล คุณสามารถเลือกแบ่งพาร์ติชั่นข้อมูลของคุณตามปี ด้วยตัวเลือกนี้ เมื่อข้อมูลตาราง Dataverse ถูกเขียนลงใน Azure data lake ข้อมูลจะถูกแบ่งพาร์ติชันเป็นรายปีโดย createdOn ยึดตามค่าบนแต่ละแถวในแหล่งข้อมูล สำหรับตารางที่ไม่มีคอลัมน์ createdOn แถวของข้อมูลจะถูกแบ่งพาร์ติชันเป็นไฟล์ใหม่ทุกๆ 5,000,000 เรกคอร์ด นี่คือการตั้งค่าต่อตารางและพร้อมใช้งานเป็นกล่องกาเครื่องหมายด้านล่าง ขั้นสูง>แสดงการตั้งค่าของการกำหนดค่าขั้นสูง

นี่คือตัวอย่างของวิธีการจัดการข้อมูลในทะเลสาบด้วยกลยุทธ์พาร์ติชันรายปีหรือรายเดือน

กลยุทธ์พาร์ติชัน

ดูเพิ่มเติมที่

Azure Synapse Link สําหรับ Dataverse