เหตุผลที่เลือกใช้ InfluxDB เก็บราคาและ time series data

เราใช้ influxdb (https://www.influxdata.com/products/influxdb-overview/) ในระบบเรา (รันอยู่ใน docker) ในการเก็บข้อมูลประเภท time series data เช่น ราคา, trade action, trade statistics, trade position ฯ

เครดิตรูปภาพจาก https://medium.com/analytics-vidhya/watch-your-stock-shares-with-grafana-and-influxdb-4df7a99c6d64

ส่วนเหตุผล (design rationale) ที่ผมเลือกใช้ InfluxDB คือ

  1. เป็น time series database อันดับต้นๆ เลย
  2. doc ดีมาก มีตัวอย่างเยอะ มี REST API
  3. คนใช้เยอะ benchmark ดี
  4. ผมถามเพื่อนๆ น้องๆ ที่รู้จัก ที่เค้าใช้ในสเกลใหญ่ๆ เค้าแนะนำ influxdb
  5. มันขึ้นชื่อเรื่องเร็วมาก
  6. คำสั่งเป็น SQL คล้าย SQL ใน RDBMS ทำให้เรียนรู้ไม่ยาก
  7. รองรับฟังก์ชั่น, การคำนวณ และการทำงานแบบ time series เช่น การ aggregate ตามเวลา, insert or update โดยเช็กจาก time ซึ่งอันนี้สะดวกมาก เหมาะกับงานเราสุดๆ เวลามีราคาใหม่ฟีดเข้ามา แต่แท่งยังไม่จบก็ update ทับ แต่ถ้าขึ้นแท่งราคาใหม่ก็ insert
  8. รูปแบบการตั้ง index (tag) ก็เหมาะกับงานเราดี
  9. มี official python library และอัพเดตบ่อยใช้ได้