Tech Tips: ออกแบบ Dimension Table ง่ายๆด้วย Slowly Changing Dimensions

ปัจจุบันหลายองค์กรใช้งาน Data Warehouse เก็บและวิเคราะห์ข้อมูลจำนวนมาก ดังนั้นการออกแบบตารางแสดงผล หรือ Dimension Table ใน Data Warehouse ให้วิเคราะห์ข้อมูลได้ดีขึ้น ตรงตาม Business Requirement จึงสำคัญ วันนี้เลยขอเชิญ Data Engineer จาก SCB TechX คุณไบร์ท สุรสีห์ อินทรวัตร มาแชร์เทคนิคการออกแบบ Dimension Table จาก Slowly Changing Dimensions Concept (SCD) เพื่อจัดการข้อมูลใน Dimension Table ที่มีการเปลี่ยนแปลงได้อย่างมีประสิทธิภาพ เช่น ข้อมูลเบอร์โทรศัพท์ ที่อยู่ โดยมีตัวอย่างง่ายๆจำนวน 3 Types ดังนี้

SCD Type 1 (Overwrite): เป็นการออกแบบที่สนใจแต่ข้อมูลล่าสุดเท่านั้น หากข้อมูลมีการเปลี่ยนแปลงข้อมูลเก่า Outdated จะถูกเขียนทับด้วยข้อมูลใหม่ทันที

SCD Type 2 (History Row-Based): เป็น Type ที่นิยมมาก เป็นการออกแบบ Table ให้มี Row และ Column เพิ่มขึ้นมาเก็บ History ที่เป็น Surrogate Key, Startdate และ Enddate เพื่อเช็คได้ว่าข้อมูล Row ไหน Outdated ไปแล้ว หรืออาจจะสร้างเป็น Column Flag ให้สะดวกต่อการเช็คมากยิ่งขึ้น เมื่อข้อมูลเปลี่ยนแปลง ข้อมูลเก่าจะถูกเก็บไว้ ส่วนข้อมูลใหม่จะถูกเพิ่มเข้าไปใน Row ใหม่ ให้เราดูประวัติการเปลี่ยนแปลงข้อมูลได้

SCD Type 3 (History Column-Based) : เป็นการออกแบบ Table ให้มี Column เพิ่มขึ้นมาเพื่อเก็บข้อมูลเก่าและข้อมูลใหม่ใน Row เดียวกัน

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

ท้ายนี้บริษัท SCB TechX ให้บริการด้านการจัดการข้อมูลแบบครบวงจร TechX Data & AI Solutions ที่คิดค้นและออกแบบโดยผู้เชี่ยวชาญที่มีประสบการณ์ตรงในการพัฒนา และ Deliver Data ให้แก่องค์กรชั้นนำมากมาย

หากท่านใดสนใจสามารถสอบถามข้อมูลเพิ่มเติมได้ที่ contact@scbtechx.io

อ่านรายละเอียดเพิ่มเติมที่ https://bit.ly/3Q2a9vd

--

--