ทำไมโรงงานอุตสาหกรรมต้องใช้ Time-Series Database?
ในโรงงานอุตสาหกรรมยุค Industry 4.0 เซ็นเซอร์ IoT หลายพันตัวส่งข้อมูลทุกวินาที — อุณหภูมิ, ความดัน, การสั่นสะเทือน, กระแสไฟฟ้า, รอบการหมุนของมอเตอร์ ข้อมูลเหล่านี้มีลักษณะพิเศษคือ มีการเวลา (Timestamp) ติดมาด้วยเสมอ และต้องเขียนเร็ว อ่านเป็นช่วงเวลา ซึ่ง Relational Database ทั่วไปอย่าง MySQL หรือ PostgreSQL ไม่ได้ถูกออกแบบมาจัดการข้อมูลลักษณะนี้โดยเฉพาะ

Time-Series Database (TSDB) คือฐานข้อมูลที่ถูกออกแบบมาเพื่อจัดเก็บและ Query ข้อมูลที่มี Timestamp เป็นหลัก โดยเฉพาะข้อมูลจากเซ็นเซอร์และอุปกรณ์ IoT ในโรงงาน ซึ่งมีปริมาณมหาศาลและต้องการ Latency ต่ำ
💡 สถิติสำคัญ: โรงงานอัจฉริยะขนาดกลาง (500-1,000 เซ็นเซอร์) สร้างข้อมูลประมาณ 1-5 GB/วัน หรือ 300 GB-1.8 TB/ปี — นี่คือเหตุผลที่ TSDB จำเป็นอย่างยิ่ง
3 ตัวเลือกยอดนิยมสำหรับโรงงาน
1. InfluxDB — ออกแบบมาเพื่อ IoT โดยเฉพาะ
InfluxDB พัฒนาโดย InfluxData เป็น TSDB แบบ Open-Source ที่ได้รับความนิยมสูงสุดในวงการ IoT ใช้ภาษา Flux ในการ Query และมีระบบ TSM (Time Structured Merge Tree) Engine ที่รองรับการเขียนข้อมูลความเร็วสูง
- จุดเด่น: ติดตั้งง่าย, มี Telegraf Collector พร้อม 400+ Input Plugin, มี Dashboard (Grafana หรือ Chronograf) ในตัว
- เหมาะกับ: Monitoring, Alerting, Predictive Maintenance ที่ต้อง Query ข้อมูลย้อนหลังระดับนาที
- License: Open Source (MIT) + Enterprise/Cloud
- Performance: เขียนได้ >500,000 points/วินาที บนฮาร์ดแวร์ทั่วไป
2. TimescaleDB — PostgreSQL Extension สำหรับ Time-Series
TimescaleDB ไม่ใช่ Database ใหม่ แต่เป็น Extension ที่เพิ่มความสามารถ Time-Series บน PostgreSQL โดยตรง ทำให้สามารถใช้ SQL มาตรฐานในการ Query ข้อมูลได้ พร้อมฟีเจอร์ Hypertable ที่แบ่งข้อมูลอัตโนมัติตามเวลา
- จุดเด่น: ใช้ SQL ได้ (ไม่ต้องเรียนรู้ภาษาใหม่), JOIN กับตาราง Relational ได้, รองรับ GIS (PostGIS)
- เหมาะกับ: โรงงานที่มีระบบ PostgreSQL อยู่แล้ว, ต้องการ Query ข้อมูลร่วมกับ ERP/MES
- License: Apache 2.0 (Community) + Enterprise
- Performance: Continuous Aggregates ช่วยลดเวลา Query ข้อมูลสรุปรายชั่วโมง/วัน
3. Prometheus — มาตรฐาน Monitoring ของ Cloud-Native
Prometheus พัฒนาโดย CNCF เป็นระบบ Monitoring + Alerting ที่มี TSDB ในตัว ใช้ PromQL ในการ Query ออกแบบมาเพื่อดึงข้อมูลแบบ Pull Model (Scrape) เหมาะกับระบบ Cloud-Native และ Kubernetes
- จุดเด่น: รวมเป็นชุดเดียว (TSDB + Alerting + Service Discovery), มี Ecocystem เชื่อมกับ Grafana ได้ดีมาก
- เหมาะกับ: โรงงานที่ใช้ Kubernetes/Docker, IT Infrastructure Monitoring
- ข้อจำกัด: ไม่ได้ออกแบบมาสำหรับ Long-term Storage (>15 วัน) ต้องใช้ Thanos/Cortex เพิ่มเติม

ตารางเปรียบเทียบ: InfluxDB vs TimescaleDB vs Prometheus
| Feature | InfluxDB | TimescaleDB | Prometheus |
|---|---|---|---|
| Query Language | Flux / InfluxQL | SQL | PromQL |
| Storage Engine | TSM Tree | Hypertable (PostgreSQL) | LSM-based TSDB |
| Data Model | Measurement + Tags + Fields | Table + Columns | Metric + Labels |
| Write Throughput | >500K points/s | ~200K rows/s | ~100K samples/s |
| Long-term Storage | ✅ ดีมาก | ✅ ดีมาก | ⚠️ ต้องใช้ Thanos |
| JOIN Support | ❌ จำกัด | ✅ เต็มรูปแบบ | ❌ ไม่รองรับ |
| IoT/OT Use Case | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
การเลือก TSDB ให้เหมาะกับ Use Case ของโรงงาน
Use Case 1: Real-Time Monitoring + Alerting
ต้องการแสดง Dashboard อุณหภูมิเครื่องจักรแบบ Real-time แจ้งเตือนเมื่อเกิน Threshold → InfluxDB + Telegraf + Grafana เป็น Stack ที่ได้รับความนิยมสูงสุด
Use Case 2: Predictive Maintenance + Data Lake
ต้องการเก็บข้อมูลเซ็นเซอร์ย้อนหลัง 1-3 ปี เพื่อฝึกโมเดล Machine Learning → TimescaleDB เพราะสามารถ JOIN ข้อมูลกับตาราง ERP/MES และ Export ไปยัง Data Lake ได้ง่าย
Use Case 3: Cloud-Native Monitoring
โรงงานที่ระบบ IT ใช้ Kubernetes → Prometheus + Grafana สำหรับ IT Metrics และอาจใช้ InfluxDB แยกสำหรับ OT Data
Architecture ตัวอย่าง: InfluxDB สำหรับโรงงาน
ตัวอย่าง Architecture ที่ใช้จริงในโรงงานอุตสาหกรรม:
- Data Source: PLC/SCADA → OPC UA Server → Telegraf (OPC UA Input Plugin)
- Collection: Telegraf ดึงข้อมูลทุง 1-10 วินาที ส่งไป InfluxDB
- Storage: InfluxDB เก็บข้อมูล Retention Policy: 30 วัน (raw) → Downsample เป็น 1 ชม. → เก็บ 2 ปี
- Visualization: Grafana Dashboard แสดง Real-time + Historical Trend
- Alerting: Kapacitor/InfluxDB Alert ส่ง Line Notify / Email เมื่อเกิน Threshold
🔧 Best Practice: ตั้งค่า Retention Policy อย่างน้อย 3 ระดับ — Raw data (7-30 วัน), Hourly aggregate (6 เดือน), Daily aggregate (2-5 ปี) เพื่อลดพื้นที่จัดเก็บโดยไม่สูญเสียข้อมูลสำคัญ
Key Takeaways
- ✅ Time-Series Database จำเป็นสำหรับโรงงานที่มีเซ็นเซอร์ IoT มากกว่า 100 ตัว — Relational DB ทั่วไปไม่สามารถรองรับได้
- ✅ InfluxDB เหมาะสำหรับ IoT/OT Monitoring โดยตรง — ติดตั้งง่าย, มี Telegraf 400+ Plugin
- ✅ TimescaleDB เหมาะเมื่อต้อง JOIN ข้อมูลกับ ERP/MES — ใช้ SQL ได้, เรียนรู้ง่าย
- ✅ Prometheus เหมาะกับ Cloud-Native/IT Monitoring — แต่ไม่ใช่ตัวเลือกแรกสำหรับ OT Data ระยะยาว
- ✅ Stack ยอดนิยม: InfluxDB + Telegraf + Grafana คือ Stack ที่พบมากที่สุดในโรงงานอุตสาหกรรม
- ✅ Retention Policy แบบหลายระดับช่วยลด Storage ได้ 60-80% โดยยังคงข้อมูลสำคัญไว้
