ไปป์ไลน์ ETL เทียบกับ ELT: เวลาที่เหมาะสมในการใช้โมเดลการประมวลผลข้อมูลแต่ละแบบเพื่อให้ได้ประสิทธิภาพสูงสุด

Data Pipeline

Stripe Data Pipeline ส่งข้อมูลและรายงานของ Stripe ล่าสุดทั้งหมดไปยัง Snowflake หรือ Amazon Redshift ได้ในไม่กี่คลิก

ดูข้อมูลเพิ่มเติม 
  1. บทแนะนำ
  2. ไปป์ไลน์ ETL กับ ELT แตกต่างกันอย่างไร
  3. ETL ทำงานอย่างไร
  4. ELT ทำงานอย่างไร
  5. คุณจะเลือกใช้ระหว่าง ETL กับ ELT อย่างไร
    1. ปริมาณและความเร็วของข้อมูล
    2. ความเป็นเจ้าของการแปลงข้อมูล
    3. การเข้าถึงข้อมูลดิบ
    4. การกำกับดูแลและการปฏิบัติตามข้อกำหนด
    5. ขั้นตอนการทำงานของทีม
  6. ตัวเชื่อมต่อข้อมูลเหมาะสมกับไปป์ไลน์ ETL และ ELT อย่างไร

หากคุณกำลังสร้างไปป์ไลน์ข้อมูลเพื่อป้อนข้อมูลให้กับเครื่องมือระบบข้อมูลเพื่อการจัดการหรือฝึกฝนโมเดลแมชชีนเลิร์นนิง การตัดสินใจแรกๆ ที่คุณต้องทำคือจุดที่การแปลงข้อมูลจะเกิดขึ้น นั่นก็คือก่อนที่ข้อมูลจะไปถึงคลังข้อมูลหรือหลังจากนั้น ซึ่งหมายความว่าคุณต้องเลือกระหว่างไปป์ไลน์ดึง แปลง โหลด (ETL) กับไปป์ไลน์ดึง โหลด แปลง (ELT)

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

ด้านล่างนี้ เราจะอธิบายว่าแต่ละโมเดลทำงานอย่างไร เมื่อใดที่ ETL หรือ ELT จะสมเหตุสมผลกว่า และตัวเชื่อมต่อที่สร้างขึ้นโดยเฉพาะเหมาะสมกับแนวทางทั้งสองสำหรับแหล่งข้อมูลเฉพาะอย่างไร

ประเด็นสำคัญ

  • ETL จะแปลงข้อมูลก่อนที่จะไปถึงปลายทาง ELT จะโหลดข้อมูลดิบและแปลงข้อมูลภายในคลังข้อมูลโดยใช้ระบบประมวลผลของคลังข้อมูลเอง

  • ELT เป็นรูปแบบเริ่มต้นสำหรับทีมข้อมูลสมัยใหม่ส่วนใหญ่ ETL ยังคงเป็นที่นิยมสำหรับปลายทางที่มีข้อจำกัด ข้อกำหนดด้านการกำกับดูแลที่เข้มงวด และไปป์ไลน์รุ่นเก่า

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

ไปป์ไลน์ ETL กับ ELT แตกต่างกันอย่างไร

ETL ย่อมาจาก “Extract, Transform, Load” (ดึง แปลง โหลด) ในโมเดล ETL คุณจะดึงข้อมูลจากระบบต้นทาง รันข้อมูลผ่านเลเยอร์การแปลงที่ล้างข้อมูล จัดรูปแบบใหม่ และกรองข้อมูล จากนั้นจึงโหลดผลลัพธ์ที่ประมวลผลไปยังปลายทาง เช่น คลังข้อมูลหรือดาต้ามาร์ท

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

ELT ย่อมาจาก “Extract, Load, Transform” (ดึง โหลด แปลง) ซึ่งจะสลับขั้นตอนสองขั้นตอนสุดท้าย ข้อมูลดิบจะไปถึงปลายทางก่อน จากนั้นการแปลงข้อมูลจะทำงานภายในคลังข้อมูลโดยใช้ระบบประมวลผลของตัวเอง

การเปลี่ยนแปลงดังกล่าวนำไปปฏิบัติจริงได้เมื่อคลังข้อมูลบนคลาวด์ทำให้ดำเนินการแปลงภาษาคิวรีที่มีโครงสร้าง (SQL) ในชุดข้อมูลขนาดใหญ่ได้ในราคาถูกและรวดเร็ว คลังข้อมูลของคุณจะเป็นสภาพแวดล้อมการแปลงข้อมูล แทนที่จะมีเครื่องมือแปลงข้อมูลแยกต่างหากอยู่ระหว่างต้นทางและปลายทาง

ETL ทำงานอย่างไร

ไปป์ไลน์ ETL ทำงานในสามขั้นตอน โดยแต่ละขั้นตอนมีหน้าที่รับผิดชอบที่แตกต่างกัน

การทำงานของ ETL มีดังต่อไปนี้

  • ดึง: ตัวเชื่อมต่อหรืองานนำเข้าจะดึงข้อมูลจากแหล่งที่มา เช่น ฐานข้อมูล อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) สำหรับการชำระเงิน แพลตฟอร์มการให้บริการระบบซอฟต์แวร์ (SaaS) หรือไฟล์ข้อความธรรมดา (Flat File) ขั้นตอนนี้จะจัดการการตรวจสอบสิทธิ์ การแบ่งหน้า ตรรกะการรีเฟรชส่วนเพิ่มเทียบกับการรีเฟรชแบบเต็ม และขีดจำกัดอัตรา

  • แปลง: ข้อมูลที่แยกออกมาจะย้ายไปยังเลเยอร์การประมวลผลซึ่งจะได้รับการล้างข้อมูล (เช่น การจัดการค่าว่าง การแคสต์ประเภท) การจัดรูปแบบใหม่ (เช่น การผนวก การรวม การเปลี่ยนชื่อคอลัมน์) การกรอง และบางครั้งจะได้รับการเสริมด้วยข้อมูลอ้างอิงจากแหล่งอื่นๆ

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

ETL ยังคงเหมาะสมที่จะใช้ในสถานการณ์เฉพาะดังต่อไปนี้

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

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

  • สภาพแวดล้อมเอดจ์: ระบบ Internet of Things (IoT) และระบบฝังตัวที่ส่งข้อมูลไปยังโครงสร้างพื้นฐานส่วนกลางมักจะไม่สามารถส่งเพย์โหลดดิบขนาดใหญ่ได้ ซึ่งทำให้การแปลงข้อมูลในพื้นที่ก่อนส่งข้อมูลกลายเป็นเรื่องจำเป็นในทางปฏิบัติ

  • หนี้สินจากไปป์ไลน์รุ่นเก่า: องค์กรที่จัดตั้งมาอย่างยาวนานหลายแห่งมีไปป์ไลน์ ETL ที่รันอย่างเสถียรมานานหลายปี การสร้างไปป์ไลน์ใหม่ในรูปแบบ ELT มีความเสี่ยงที่อาจจะไม่คุ้มเสี่ยง

ELT ทำงานอย่างไร

ไปป์ไลน์ ELT จะดึงและโหลดข้อมูลดิบหรือข้อมูลต้นทางที่มีการจัดรูปแบบเล็กน้อยไปยังปลายทางโดยตรง จากนั้นการแปลงข้อมูลจะดำเนินการในภายหลัง ซึ่งจะเปิดใช้งานตามกำหนดเวลาหรือตามคำขอ โดยใช้ระบบประมวลผลของคลังข้อมูลเอง

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

ELT จึงเป็นตัวเลือกที่ชาญฉลาดด้วยเหตุผลต่อไปนี้

  • เข้าถึงข้อมูลดิบได้เร็วกว่า: ข้อมูลจะไปถึงคลังข้อมูลอย่างรวดเร็ว ทีมจึงเริ่มสำรวจและตรวจสอบข้อมูลได้ก่อนที่เลเยอร์การแปลงข้อมูลจะเสร็จสิ้น

  • การปรับปรุงในราคาที่ถูกกว่า: การเปลี่ยนแปลงต่อการแปลงข้อมูลใน ETL มักหมายถึงการแก้ไขไปป์ไลน์ การประมวลผลซ้ำ และการโหลดซ้ำ แต่ใน ELT คุณเพียงแค่อัปเดตโมเดล SQL และเรียกใช้โมเดลนั้นอีกครั้งกับข้อมูลที่คุณมีอยู่แล้ว

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

  • ประวัติดิบฉบับเต็ม: เนื่องจากข้อมูลดิบจะอยู่ในคลังข้อมูลเสมอ คุณจึงจะดึงข้อมูลใดๆ ในตารางขั้นปลายตั้งแต่ต้นได้อีกครั้ง ซึ่งเป็นสิ่งสำคัญเมื่อข้อกำหนดทางธุรกิจเปลี่ยนไป หรือเมื่อคุณต้องแก้ไขข้อบกพร่องเกี่ยวกับปัญหาด้านคุณภาพข้อมูล

คุณจะเลือกใช้ระหว่าง ETL กับ ELT อย่างไร

โดยทั่วไปแล้ว องค์กรขนาดใหญ่มักจะรันโมเดลการประมวลผลข้อมูลทั้งสองแบบควบคู่กันไปสำหรับแหล่งที่มาต่างๆ ความต้องการขององค์กรจะช่วยให้คุณตัดสินใจได้ว่าวิธีใดเหมาะสมที่สุด

สิ่งที่คุณต้องพิจารณามีดังต่อไปนี้

ปริมาณและความเร็วของข้อมูล

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

ไปป์ไลน์ที่มีปริมาณข้อมูลน้อยกว่าและมีตรรกะการแปลงข้อมูลที่เสถียรและชัดเจนอาจใช้ ETL ต่อไปได้โดยไม่เกิดปัญหามากนัก

ความเป็นเจ้าของการแปลงข้อมูล

หากการแปลงข้อมูลของคุณใช้ SQL และอยู่ภายใต้การดูแลของวิศวกรวิเคราะห์ข้อมูลที่ต้องปรับตัวอย่างอย่างรวดเร็ว การใช้ ELT ร่วมกับ dbt หรือเครื่องมือที่คล้ายกันน่าจะเหมาะสมกว่า

หากการแปลงข้อมูลของคุณเขียนโค้ดด้วย Python หรือ Java และอยู่ภายใต้การดูแลของทีมวิศวกรรมข้อมูล ETL อาจทำงานร่วมกับชุดเครื่องมือที่คุณมีอยู่ได้อย่างราบรื่น

การเข้าถึงข้อมูลดิบ

หากนักวิเคราะห์จำเป็นต้องเข้าถึงข้อมูลจากแหล่งที่มาที่เป็นข้อมูลดิบ (เช่น เพื่อการสำรวจเฉพาะกิจ การตรวจสอบ หรือเนื่องจากตรรกะการแปลงข้อมูลยังอยู่ในช่วงพัฒนา) การตั้งค่าเริ่มต้นเป็น ELT จะดีกว่า ไปป์ไลน์แบบ ETL ที่ไม่ได้เก็บรักษาข้อมูลดิบไว้จะทำให้การเข้าถึงในลักษณะดังกล่าวจะทำได้ยากในภายหลัง

การกำกับดูแลและการปฏิบัติตามข้อกำหนด

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

ELT สามารถตอบสนองข้อกำหนดแบบเดียวกันนี้ได้หลายประการผ่านการรักษาความปลอดภัยในระดับคอลัมน์และการควบคุมการเข้าถึงในระดับคลังข้อมูล แต่การนำไปใช้งานนั้นจะแตกต่างออกไป และควรได้รับการตรวจสอบโดยอิงตามภาระผูกพันด้านการปฏิบัติตามข้อกำหนดของคุณ

ขั้นตอนการทำงานของทีม

ทีมที่มีความเชี่ยวชาญด้าน SQL เป็นอย่างดีและคุ้นเคยกับการควบคุมเวอร์ชันผ่าน dbt จะสามารถใช้ประโยชน์จากการตั้งค่า ELT ได้มากกว่าการบำรุงรักษาไปป์ไลน์แบบ ETL แบบกำหนดเองที่ทีมไม่ได้สร้างขึ้นเอง ความเข้ากันได้กับวิธีการทำงานของทีมคุณถือเป็นปัจจัยที่สมเหตุสมผล

ตัวเชื่อมต่อข้อมูลเหมาะสมกับไปป์ไลน์ ETL และ ELT อย่างไร

เครื่องมือ ETL และ ELT ทั่วไปจะจัดการกับแหล่งข้อมูลที่หลากหลายผ่านตัวเชื่อมต่อที่กำหนดค่าได้ ความครอบคลุมนั้นมีประโยชน์ แต่ก็มีข้อเสียด้วยเช่นกัน

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

Stripe Data Pipeline จะจัดการปัญหานี้โดยตรง ดังต่อไปนี้

  • สร้างและดูแลโดย Stripe: เนื่องจาก Stripe เป็นเจ้าของตัวเชื่อมต่อและจำลองโครงสร้างพื้นฐานภายในของ Stripe โดยตรง คุณจึงซิงค์ข้อมูลได้อย่างเสถียรและต่อเนื่อง พร้อมกับรับประกันความสมบูรณ์และถูกต้อง ไม่ว่าคุณจะมีข้อมูลมากเพียงใดและไม่มีขีดจำกัดอัตรา API

  • ซิงค์คลังข้อมูลโดยตรง: ข้อมูลจะย้ายไปยัง Amazon Redshift, Snowflake, Databricks และอื่นๆ โดยไม่ต้องกำหนดเส้นทางผ่านตัวเชื่อมต่อของบุคคลที่สาม ซึ่งจะเก็บข้อมูลทางการเงินที่ละเอียดอ่อนไว้ไม่ให้เข้าสู่โครงสร้างพื้นฐานของผู้ให้บริการรายอื่น

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

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

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

บทความอื่นๆ

  • เกิดข้อผิดพลาดบางอย่าง โปรดลองอีกครั้งหรือติดต่อฝ่ายสนับสนุน

หากพร้อมเริ่มใช้งานแล้ว

สร้างบัญชีและเริ่มรับการชำระเงินโดยไม่ต้องทำสัญญาหรือระบุรายละเอียดเกี่ยวกับธนาคาร หรือติดต่อเราเพื่อสร้างแพ็กเกจที่ออกแบบเองสำหรับธุรกิจของคุณ

Data Pipeline

Stripe Data Pipeline ส่งข้อมูลและรายงานของ Stripe ล่าสุดทั้งหมดไปยังคลังข้อมูลของคุณด้วยการคลิกไม่กี่ครั้ง

Stripe Docs เกี่ยวกับ Data Pipeline

ทำความเข้าใจธุรกิจของคุณด้วยข้อมูลของ Stripe