ซิงโครไนซ์ข้อมูลในสภาพแวดล้อม Dataverse โดยใช้ Power Platform

สถาปัตยกรรมอ้างอิงนี้แสดงวิธีการซิงโครไนซ์ข้อมูลหลักระหว่างสภาพแวดล้อม Dataverse สองรายการโดยใช้ Power Automate และกระแสข้อมูลใน Power Platform ซึ่งแสดงให้เห็นถึงรูปแบบการซิงโครไนซ์แบบหนึ่งต่อหนึ่งซึ่งสภาพแวดล้อมหนึ่งทําหน้าที่เป็นแหล่งข้อมูลที่เชื่อถือได้และอีกรายการหนึ่งรับข้อมูล

เคล็ดลับ

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

แผนภาพสถาปัตยกรรม

ไดอะแกรมของการซิงค์ข้อมูลหลักจากสภาพแวดล้อมหลักเป็นสภาพแวดล้อม Dataverse รองโดยใช้โฟลว์คลาวด์ Power Automate และกระแสข้อมูล Power Platform.

เวิร์กโฟลว์

ขั้นตอนต่อไปนี้อธิบายเวิร์กโฟลว์ที่แสดงในไดอะแกรมสถาปัตยกรรมตัวอย่าง:

  1. การซิงโครไนซ์ที่ขับเคลื่อนด้วยเหตุการณ์ผ่าน Power Automate

    • การดำเนินการ CRUD (สร้าง อ่าน ปรับปรุง ลบ) ในสภาพแวดล้อม Dataverse หลักจะเรียกใช้โฟลว์ของ Power Automate

    • การซิงโครไนซ์ที่ขับเคลื่อนด้วยเหตุการณ์ใช้สายโฟลว์สองขั้นตอน:

      1. โฟลว์ระบบคลาวด์ส่ง HTTP POST ไปยังจุดสิ้นสุดที่เผยแพร่
      2. โฟลว์คลาวด์สำหรับผู้ใช้โดนทริกเกอร์ด้วย webhook ประมวลผลส่วนข้อมูลและนำการอัปเดตไปใช้ในสภาพแวดล้อมรองของ Dataverse เกือบเรียลไทม์
    • จุดสิ้นสุดเป็นพารามิเตอร์สําหรับการจัดการวงจรชีวิตของแอปพลิเคชัน (ALM) และกลุ่มความปลอดภัยที่จัดการการเข้าถึง

  2. การซิงโครไนซ์จํานวนมากผ่านกระแสข้อมูล

    • สภาพแวดล้อม Dataverse รองประกอบด้วยกระแสข้อมูล

    • แต่ละกระแสข้อมูลเชื่อมต่อกับสภาพแวดล้อม Dataverse หลักเป็นแหล่งข้อมูล

    • กระแสข้อมูลทํางานตามกําหนดเวลาคงที่ (ตัวอย่างเช่น คืนคืนหรือหลังจากที่กระแสข้อมูลอื่นทํางานได้สําเร็จ) หรือตามความต้องการ (ตัวอย่างเช่น สําหรับการตั้งค่าเริ่มต้น)

    • การดำเนินการ Upserts จะทำโดยใช้คีย์ทางเลือกเพื่อหลีกเลี่ยงการซ้ำกันของข้อมูล วิธีนี้จะอัปเดตข้อมูลที่มีอยู่และแทรกเรกคอร์ดใหม่เมื่อไม่ตรงกัน

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

  3. การจัดการข้อผิดพลาดและการกระทบยอด

    • กระแสข้อมูลรายคืนในสภาพแวดล้อมรองแก้ไขการอัปเดตเหตุการณ์ที่ขาดหายไปหรือล้มเหลว

    • อาจจําเป็นต้องมีการดําเนินการด้วยตนเองสําหรับปัญหาคุณภาพของข้อมูล (ตัวอย่างเช่น คีย์ที่ขาดหายไป)

คอมโพเนนต์

  • Microsoft Dataverse: รองรับความต้องการสองสภาพแวดล้อม

  • กระแสข้อมูลสําหรับ Power Platform: เหมาะสําหรับการดําเนินการจํานวนมาก เช่น ประชากรข้อมูลเริ่มต้นและการซิงโครไนซ์ ใช้การประมวลผลข้อมูลจำนวนมาก การแปลงข้อมูล และการโหลด (ETL) สำหรับการซิงโครไนซ์ตามกำหนดเวลา ที่ตั้งค่าไว้ในสภาพแวดล้อมสำรอง

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

  • กลุ่มความปลอดภัย และ บัญชีบริการ: ให้การจัดการการเข้าถึงและความเป็นเจ้าของ

รายละเอียดของสถานการณ์จำลอง

สถาปัตยกรรมนี้ถูกออกแบบมาสําหรับความสัมพันธ์แบบหนึ่งต่อหนึ่ง: สภาพแวดล้อมการจัดการข้อมูลหลัก (MDM) เดียวที่เชื่อมโยงกับสภาพแวดล้อมเดียว สถานการณ์ที่สภาพแวดล้อมหลักหนึ่งรายการต้องซิงโครไนซ์กับสภาพแวดล้อมอื่น ๆ หลายรายการจําเป็นต้องมีโซลูชันที่ปรับขนาดได้หรือแจกจ่ายมากขึ้น

ปัญาหาทางธุรกิจ

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

การใช้ตารางเสมือนจะไม่สามารถดําเนินการได้เมื่อมีตารางของระบบรองอยู่แล้วและจําเป็นต้องมีการรักษาความปลอดภัยระดับแถว

ตัวอย่างกรณีการใช้งาน

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

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

ทีมปฏิเสธตารางเสมือนเนื่องจากทีมการเงินจําเป็นต้องเพิ่มระเบียนด้วยแอตทริบิวต์เฉพาะแผนกที่ควบคุมโดยการรักษาความปลอดภัยระดับแถวที่เข้มงวด

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

ข้อกําหนดเหล่านี้ทําให้องค์กรนําสถาปัตยกรรมการซิงโครไนซ์มาใช้ตามที่อธิบายไว้ในบทความนี้

ค่าที่สร้างขึ้น

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

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

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

ข้อควรพิจารณา

ข้อควรพิจารณาเหล่านี้ใช้เสาหลักของ Power Platform Well-Architected ซึ่งเป็นชุดหลักการชี้นําเพื่อช่วยปรับปรุงคุณภาพของปริมาณงาน เรียนรู้เพิ่มเติมเกี่ยวกับ Microsoft Power Platform Well-Architected

ความน่าเชื่อถือ

  • กระแสข้อมูลรายคืนรับประกันความสอดคล้องกัน

  • โฟลว์ที่ขับเคลื่อนด้วยเหตุการณ์มีการอัปเดตอย่างรวดเร็ว

  • การตรวจสอบด้วยตนเองตรวจหาปัญหาคุณภาพของข้อมูล

Security

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

  • จุดสิ้นสุด HTTP ที่มีพารามิเตอร์สําหรับความเข้ากันได้ของ ALM

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

ความเป็นเลิศในการดำเนินงาน

  • การจัดกําหนดการโดยอัตโนมัติและการจัดเรียงของกระแสข้อมูล

  • การตรวจสอบและการแจ้งเตือนสําหรับการซิงค์ที่ล้มเหลว

ประสิทธิภาพการทำงาน

  • กระแสข้อมูลที่ปรับให้เหมาะสมสําหรับการดําเนินการจํานวนมาก

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

การปรับปรุงประสบการณ์ใช้งาน

  • ต้องการการดําเนินการด้วยตนเองน้อยที่สุด

  • แยกการซิงค์แบบกลุ่มและการซิงค์ตามเหตุการณ์อย่างชัดเจน

ผู้สนับสนุน

Microsoft ดูแลบทความนี้ ผู้เขียนต่อไปนี้ได้เขียนบทความนี้

ผู้เขียนหลัก: