PlusMagi's Blog By Pitt Phunsanit

Data Warehouse (คลังข้อมูล)

Data Warehouse (คลังข้อมูล) ถ้าอธิบายให้เห็นภาพง่ายที่สุด มันคือ “ห้างสรรพสินค้าขนาดใหญ่ที่จัดหมวดหมู่สินค้าไว้อย่างดี เพื่อให้คนมาเลือกซื้อไปใช้งาน” ต่างจากฐานข้อมูลทั่วไปที่เป็นเหมือน “ร้านขายชำหลังบ้านที่เน้นรับของเข้า-ออกรายวัน” ครับ


Data Warehouse คืออะไร?

Data Warehouse (DWH) คือระบบฐานข้อมูลรูปแบบหนึ่งที่ออกแบบมาเพื่อ การวิเคราะห์ข้อมูล (Analytics) และการทำรายงาน (Reporting) โดยเฉพาะ มันจะรวบรวมข้อมูลจากหลาย ๆ แหล่งในองค์กร (เช่น ระบบ ERP, CRM, ระบบหลังบ้าน เว็บไซต์ หรือแม้แต่ไฟล์ Excel) มารวมไว้ที่เดียวกัน

คุณสมบัติเด่น 4 ประการ (โดย W.H. Inmon บิดาแห่ง Data Warehouse)


ความแตกต่างระหว่าง OLTP และ OLAP

ในการทำงานกับข้อมูล เราจะแบ่งระบบออกเป็น 2 ขาหลัก ๆ

คุณสมบัติOLTP (Online Transaction Processing)OLAP (Online Analytical Processing)
วัตถุประสงค์เน้นงานประจำวัน ทำงานกับข้อมูลปัจจุบัน (เช่น การบันทึกยอดซื้อขาย)เน้นการวิเคราะห์ หาข้อมูลเชิงลึก (Insight) และทำ Report
ตัวอย่างระบบฐานข้อมูลในระบบ App/Web, MySQL, SQL Server, Oracle ทั่วไปData Warehouse (เช่น BigQuery, Snowflake, Amazon Redshift)
ลักษณะ QueryINSERT, UPDATE ทีละแถว (Row-based) ทำงานเร็วมากSELECT ข้อมูลปริมาณมหาศาลเพื่อมา Aggregate (Sum, Avg, Count)
การออกแบบมักทำ Normalization (3NF) เพื่อลดความซ้ำซ้อนของข้อมูลมักทำ Denormalization (เช่น Star Schema) เพื่อให้ Query ได้เร็วที่สุด

สถาปัตยกรรมและกระบวนการทำงาน (Architecture)

กว่าข้อมูลจากระบบต่าง ๆ จะมาอยู่ใน Data Warehouse และพร้อมใช้ จะต้องผ่านกระบวนการที่เรียกว่า ETL / ELT ครับ

  1. Data Sources: แหล่งข้อมูลต้นทาง (App DB, Log files, Third-party API)
  2. Staging Area: พื้นที่พักข้อมูลชั่วคราว เพื่อทำการคลีนข้อมูลก่อน
  3. ETL / ELT Process:
    • Extract: ดึงข้อมูลมาจากแหล่งต่าง ๆ
    • Transform: คลีนข้อมูล แปลงรูปแบบ (Format) และจัดการกรณีข้อมูลสูญหาย หรือแทนค่าว่าง (เช่น การจัดการ '' หรือ NULL ให้เป็นมาตรฐานเดียวกัน)
    • Load: นำข้อมูลเข้าสู่ Data Warehouse
  4. Data Mart (ถ้ามี): คือ Data Warehouse ย่อย ๆ ที่ตัดแบ่งตามแผนก เพื่อให้ใช้งานง่ายขึ้น เช่น Data Mart สำหรับฝ่ายการตลาด, ฝ่ายการเงิน
  5. BI / Analytics: บอร์ดบริหาร หรือ Data Analyst นำข้อมูลไปใช้ต่อผ่านเครื่องมืออย่าง Power BI, Tableau หรือเขียน SQL เพื่อรันโมเดล AI

การออกแบบ Data Modeling สำหรับ คลังข้อมูล

ส่วนใหญ่ใน Data Warehouse จะนิยมใช้ Star Schema หรือ Snowflake Schema โดยจะแบ่งตารางออกเป็น 2 ประเภทหลัก


เทคโนโลยีในปัจจุบัน

ปัจจุบัน Data Warehouse ได้ย้ายขึ้นไปอยู่บน Cloud เป็นส่วนใหญ่ (Cloud Data Warehouse) เพราะขยายขนาด (Scale) ง่าย และคิดเงินตามการใช้งานจริง


Note

ในยุคนี้บางองค์กรยังมีการขยับไปใช้แนวคิด Data Lakehouse (เช่น Databricks) ที่เป็นการรวมข้อดีของ Data Lake (เก็บไฟล์ดิบได้ทุกประเภท) และ Data Warehouse (เขียน SQL และจัดการ Transaction ได้ดี) เข้าไว้ด้วยกันอีกด้วยครับ


อ่านเพิ่มเติม

Exit mobile version