การจัดเก็บข้อมูลอนุกรมเวลาสัมพันธ์หรือไม่?
ฉันกำลังสร้างระบบที่โพลอุปกรณ์สำหรับข้อมูลเกี่ยวกับตัวชี้วัดที่แตกต่างกันเช่นการใช้งาน CPU, การใช้ดิสก์, อุณหภูมิ ฯลฯ ที่ (อาจ) 5 นาทีโดยใช้ SNMP เป้าหมายสูงสุดคือการแสดงภาพให้กับผู้ใช้ระบบในรูปแบบของกราฟอนุกรมเวลา ฉันเคยดูการใช้ RRDTool ในอดีต แต่ปฏิเสธว่าเป็นการเก็บข้อมูลที่ถูกบันทึกไว้โดยไม่มีกำหนดซึ่งมีความสำคัญต่อโครงการของฉันและฉันต้องการระดับที่สูงขึ้นและการเข้าถึงข้อมูลที่บันทึกได้อย่างยืดหยุ่นมากขึ้น ดังนั้นคำถามของฉันคือ: สิ่งที่ดีกว่าคือฐานข้อมูลเชิงสัมพันธ์ (เช่น MySQL หรือ PostgreSQL) หรือฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์หรือฐานข้อมูล NoSQL (เช่น MongoDB หรือ Redis) เกี่ยวกับประสิทธิภาพเมื่อทำการสอบถามข้อมูลเพื่อสร้างกราฟ สัมพันธ์ ให้ฐานข้อมูลเชิงสัมพันธ์ฉันจะใช้data_instancesตารางซึ่งจะถูกเก็บไว้ทุกตัวอย่างของข้อมูลที่ถูกจับสำหรับทุกการวัดที่ถูกวัดสำหรับอุปกรณ์ทั้งหมดโดยมีฟิลด์ต่อไปนี้: ทุ่ง: id fk_to_device fk_to_metric metric_value timestamp เมื่อฉันต้องการวาดกราฟสำหรับตัวชี้วัดที่เฉพาะเจาะจงในอุปกรณ์ใดตัวหนึ่งฉันต้องสอบถามตารางเอกพจน์นี้เพื่อกรองอุปกรณ์อื่น ๆ และตัวชี้วัดอื่น ๆ ที่วิเคราะห์สำหรับอุปกรณ์นี้: SELECT metric_value, timestamp FROM data_instances WHERE fk_to_device=1 AND fk_to_metric=2 …