ข้ามไปที่เนื้อหาหลัก

dbt Extract, Load, Transform เปลี่ยนนักวิเคราะห์ เป็นวิศวกร ภายใต้ Analytics Engineering

dbt (Data Build Tool) มีสถาปัตยกรรมแบบ ELT (Extract, Load, Transform) โดยทำหน้าที่ในส่วนของ Transform (T) เพียงอย่างเดียว สถาปัตยกรรมของ dbt ถูกออกแบบมาเพื่อเปลี่ยนนักวิเคราะห์ข้อมูล (Data Analysts) ให้ทำงานได้เหมือนวิศวกรซอฟต์แวร์ (Software Engineers) โดยอาศัยหลักการ Analytics Engineering พัฒนาโดยภาษา Rust 


สถาปัตยกรรมหลักของ dbt สามารถแบ่งออกเป็นส่วนสำคัญได้ดังนี้ครับ:
1. โครงสร้างหลัก (Core Components)
  • Models (SQL / Python): หัวใจหลักของ dbt คือไฟล์ .sql (หรือ .py) ซึ่งก็คือคำสั่ง SELECT ธรรมดา โดย dbt จะนำคำสั่งเหล่านี้ไปสร้างเป็น Table หรือ View ในคลังข้อมูลให้โดยอัตโนมัติ
  • Jinja Templating Engine: dbt ใช้ Jinja เพื่อทำให้ SQL มีความยืดหยุ่น (Dynamic) สามารถใช้คำสั่ง if-else, loops และการเขียนฟังก์ชันซ้ำได้ (Macros)
  • Project Configuration (dbt_project.yml): ไฟล์ศูนย์กลางที่ใช้ควบคุมการทำงานของโปรเจกต์ เช่น การตั้งค่าโฟลเดอร์ การกำหนดสิทธิ์ และการบอกว่า Model ไหนควรจะสร้างออกมาเป็น Table หรือ View
2. การบริหารจัดการความสัมพันธ์ (Dependency Management)
  • ref() Function: เป็นฟังก์ชันที่ dbt ใช้สร้างระบบ DAG (Directed Acyclic Graph) เพื่อหาความเชื่อมโยงระหว่างตาราง dbt จะรู้ได้ทันทีว่าตารางไหนต้องสร้างก่อนหรือหลัง ทำให้เราไม่ต้องเขียนลำดับการรันด้วยมือ
  • Sources: ระบบการลงทะเบียนตารางข้อมูลดิบ (Raw Data) ที่ถูกโหลดเข้ามา เพื่อให้สามารถติดตามได้ว่าข้อมูลต้นทางมาจากไหน และลดความซ้ำซ้อนในการเรียกใช้
3. ระบบความปลอดภัยภาพและการควบคุมคุณภาพ (Quality & Assurance)
  • Data Testing: dbt มีระบบตรวจสอบความถูกต้องของข้อมูลในตัว (เช่น ตรวจสอบค่า Null, ค่าที่ต้องไม่ซ้ำ หรือความสัมพันธ์ของคีย์) โดยกำหนดผ่านไฟล์ YAML ง่ายๆ
  • Documentation Generate: dbt สามารถสร้างเอกสาร (Documentation) และแผนผังความสัมพันธ์ของข้อมูล (Lineage Graph) ให้โดยอัตโนมัติจากโค้ดที่เราเขียน
4. การประมวลผลแบบ In-Warehouse (Push-down Architecture)
  • No Storage: dbt ไม่ได้เก็บข้อมูลไว้ที่ตัวเอง และไม่ได้มีระบบ Compute Unit สำหรับประมวลผลข้อมูลขนาดใหญ่
  • Adapter / Connection: dbt ทำหน้าที่ส่งโค้ด SQL ที่แปลงแล้วไปยัง Data Warehouse (เช่น BigQuery, Snowflake, Databricks, PostgreSQL) และให้คลังข้อมูลเหล่านั้นเป็นผู้ประมวลผล (Push-down) แล้วบันทึกผลลัพธ์กลับลงไปในคลังข้อมูลนั้นๆ เลย

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อะไรคือ NPU (Neural Processing Unit) มีความสำคัญอย่างไร แนวคิดมาจากไหน

ความหมาของคำว่า NPU (Neural Processing Unit)  NPU (Neural Processing Unit) คือ หน่วยประมวลผลโครงข่ายประสาทที่สร้างมาเพื่อใช้งานด้านปัญญาประดิษฐ์ เป็นหน่วยประมวลผลพิเศษที่ออกแบบมาเพื่อใช้ในแนวคิดของการเรียนรู้ของเครื่อง (Machine Learning) ของคอมพิวเตอร์โดยเฉพาะ ทำให้การประมวลผล AI ทรงประสิทธิภาพเพิ่มขึ้นจากเดิมของ TPU GPU และ CPU เช่น การจดจำภาพ, วิเคราะห์เสียง, หรือการแปลภาษา ทำได้รวดเร็วและประหยัดพลังงานกว่า CPU/GPU ทั่วไป โดยทำงานคล้ายโครงข่ายประสาทของมนุษย์ และพบได้ทั้งในสมาร์ตโฟน, คอมพิวเตอร์ (PC), และอุปกรณ์ AI อื่นๆ ในอนาคต เพื่อเร่งความเร็วของการทำงานของ AI สามารถจัดการงานและปัญหาที่ซับซ้อนได้อย่างมีประสิทธิภาพ  ประวัติความเป็นมาของ NPU (Neural Processing Unit)  ตั้งแต่ปี 1970 เป็นต้นมาเราได้ใช้เริ่มมีการใช้หน่วยการประมวลผลแบบดั้งเดิม คือ หน่วยประมวลผลกลาง (CPU) ถือเป็น "สมอง" และเป็นกลไกการทำงานของคอมพิวเตอร์ ดังนั้นซีพียู CPU ประมวลผลงานคำนวณแบบดั้งเดิมส่วนใหญ่มีหน้าที่รับผิดชอบการทำงานของแอปพลิเคชันให้มีศักยภาพหลากหลายเพิ่มมาเรื่อย แม้ว่าจะมีหลายประเภท แต่โดยทั่...

Micro SaaS "ขนาดพอดีคำ" สร้างธุรกิจเริ่มต้นอย่างง่ายด่าย จากไอเดียสู่สร้างรายได้ โดยใช้ AI Agent ตอบสนองความต้องการซอฟต์แวร์ที่เล็ก ง่าย และทรงพลัง

ผลิตภัณฑ์ Micro SaaS กำลังได้รับความนิยมมากขึ้นกว่าที่เคย เป็นผลมาจากความต้องการซอฟต์แวร์เฉพาะทางที่เพิ่มสูงขึ้น ผู้ประกอบการกำลังสร้างเครื่องมือน้ำหนักเบาที่ตอบโจทย์ความต้องการเฉพาะด้าน ตั้งแต่เครื่องมือสร้างเนื้อหาที่ขับเคลื่อนด้วย AI และ CRM เฉพาะกลุ่ม ไปจนถึงแอปพลิเคชันการออกใบแจ้งหนี้และแพลตฟอร์มการจัดการโครงการที่ใช้งานง่าย โซลูชันที่มุ่งเน้นเฉพาะด้านเหล่านี้กำลังได้รับความนิยมในอุตสาหกรรมต่างๆ เช่น การศึกษา ฟิตเนส บริการ และการตลาด ไม่ว่าจะเป็นการช่วยให้ธุรกิจขนาดเล็กปรับปรุงกระบวนการทำงาน หรือการนำเสนอเครื่องมือที่ชาญฉลาดยิ่งขึ้นให้กับผู้สร้างสรรค์ แนวคิด SaaS ขนาดเล็กกำลังเปิดโอกาสใหม่ๆ ให้กับผลิตภัณฑ์ที่ทำกำไรได้และดูแลรักษาง่าย Micro SaaS คืออะไร? Micro SaaS (ไมโครซาส) เป็นรูปแบบซอฟต์แวร์ออนไลน์ที่ให้บริการผ่านเว็บ (Software as a Service) แต่มี ขนาดเล็ก, เน้นแก้ปัญหาเฉพาะด้าน (Niche), ทีมพัฒนาเล็กมากถึงขั้น ผู้พัฒนาคนเดียวก็ทำได้, ต้นทุนต่ำ และมักสร้างรายได้แบบ Subscription รายเดือน/รายปี วิเคราห์ตลาดของ Micro SaaS  Micro SaaS มีการเติบโตอย่างมีนัยสำคัญภายในตลาดเทคโทนโลย...

TomCat สำหรับติดตั้ง แก้ไข คอนฟิก ใช้งาน JSP

Apache Tomcat เป็น  HTTP Server ที่มีความสามารถนำภาษาจาวามาใช้งานได้  สามารถใช้เทคโนโลยีของภาษาจาวาที่เรียกว่า Java Servlet  และ Java Server Page (JSP)  Tomcat เป็นโปรแกรม Open-Source  อยู่ภายใต้การดูแลของ Apache Software Foundation  (ซึ่งเป็นผู้สร้าง Apache HTTP Server ที่เป็นที่นิยมใช้กันอย่างแพร่หลาย)  สามารถอ่านรายละเอียดของ Tomcat ได้ที่  http://tomcat.apache.org  โดยเลือกหัวข้อ “ Documentation”  และเลือก “Tomcat 7.0” ขั้นตอนการติดตั้ง Tomcat เรียงลำดับดังนี้