Time Series Database (TSDB) คืออะไร
Time Series Database (TSDB) คือฐานข้อมูลที่ออกแบบมาโดยเฉพาะสำหรับจัดเก็บข้อมูลที่เปลี่ยนแปลงตามเวลา หรือข้อมูลที่มี “เวลา (timestamp)” กำกับทุกค่าของข้อมูลที่มีการบันทึก ข้อมูลที่มีการเก็บบันทึกค่าเป็นระยะ ๆ ไม่ว่าจะเป็น ค่าเซ็นเซอร์, ค่าการใช้งาน CPU, ปริมาณทราฟฟิก, ราคาหุ้น ฯลฯ และ เนื่องจากการเติบโตของ IoT และ อุปกรณ์ดังกล่าวที่เราต้องมอนิเตอรจำนวนมากในปัจจุบัน เลยทำให้ฐานข้อมูลประเภทนี้ได้รับความนิยมขึ้นอย่างมาก เพราะมันทำการ customize มาสำหรับการดึงข้อมูลและการเก็บข้อมูลที่เร็วกว่าระบบฐานข้อมูลแบบดั้งเดิม
แล้ว InfluxDB คือ ?
InfluxDB ก็คือระบบฐานข้อมูลที่ออกแบบเพื่อให้เป็น Time Series Database เพราะฉะนั้นมันจึงได้รับความนิยมในการเก็บข้อมูลจากการมอนิเตอร์หรือ IoT
InfluxDB ทำงานอย่างไร ?
การทำงานของ InfluxDB สามารถสรุปได้เป็น 4 ส่วนหลัก:
1. การเก็บข้อมูลแบบ Time Series
ทุกข้อมูล (data point) ที่เก็บ จะประกอบด้วย:
Timestamp: เวลาที่บันทึกข้อมูล
Measurement: ชื่อของชุดข้อมูล เช่น cpu_usage หรืออาจะเป็น temp อุณหภูมิหรืออะไรก็ได้
Tags: คีย์-ค่า สำหรับการจัดกลุ่มข้อมูล เช่น host=server1 , temp= 37
Fields: ค่าจริงที่เก็บ เช่น value=45.6
2. การเขียนข้อมูล (Write)
ข้อมูลจะถูกส่งเข้ามาแบบต่อเนื่องจากอุปกรณ์หรือระบบต่าง ๆ เช่น agent, sensor, API
รองรับการเขียนข้อมูลความเร็วสูงเป็นแสนหรือเป็นล้าน record ต่อวินาที
3. การอ่านข้อมูล (Query)
ใช้ภาษาเฉพาะของ InfluxDB ได้แก่:
InfluxQL (คล้าย SQL)
Flux (ภาษาใหม่ของ Influx ที่ยืดหยุ่นมากขึ้น)
สามารถดึงข้อมูลย้อนหลัง, คำนวณค่าเฉลี่ย, รวมกลุ่มตามเวลา ฯลฯ ได้ง่ายมาก
4. Retention & Downsampling
กำหนดอายุของข้อมูล (Retention Policy) เช่น เก็บไว้แค่ 30 วัน
ทำ Downsampling เพื่อสรุปข้อมูลให้ละเอียดน้อยลงแต่ใช้พื้นที่น้อยลง เช่น เก็บค่าเฉลี่ยรายชั่วโมงแทนค่าทุกรายวินาที ซึ่งส่วนนี้จะมีประโยชน์มาก เพราะปกติแล้วข้อมูลพวกนี้จะเป็น temporary หรือเก็บไว้ไม่นาน จะสรุปและลบข้อมูลดิบทิ้งก่อนนำข้อมูลที่รวมแล้วไปประมวลผล
การติดตั้งบน Ubuntu 24.04
1. ติดตั้ง influxdb
sudo apt -y install influxdb influxdb-client
2. ทำการ configure
หากเราไม่ตั้งก็จะไม่มีการตรวจสอบสิทธิ์หรือ authenticate และทุกคนสามารถใช้ได้นะ เพราะฉะนั้นเพื่อความปลอดภัย เรามาตั้งค่ากันก่อน
sudo influx -execute "create user admin with password 'iloveadmin' with all privileges"
และลองเช็คดูว่า มี user ที่เราสร้างหรือยังด้วยคำสั่ง
influx -execute "show users"
และทำการ แก้ไฟล์เพื่อเปิดการจัดการผ่าน end-point ด้วยคำสั่ง
sudo vi /etc/influxdb/influxdb.conf
หรือใครจะใช้คำสั่ง nano แทน vi ก็ได้เหมือนกันนะ
หลังจากนั้นทำการ restart influxdb ด้วยคำสั่ง
sudo systemctl restart influxdb
3. ทดสอบการเชื่อมต่อ
influx
และใส่ user/pass ที่ท่านได้สร้างไปก่อนหน้าตามคำสั่ง
ก็เป็นอันเสร็จเรียบร้อย สำหรับการติดตั้ง ครั้งหน้าเราจะไปใช้งานสำหรับ Proxmox VE อย่าลืมนะครับ AVESTA ให้บริการ Proxmox VE ครบวงจร ทั้ง ecocsystem ทั้ง งานขาย ติดตั้ง บริการหลังการขาย และ IaC Automation, Backup และ Monitoring