퍼대기
458
2021-08-06 13:44:08
5
148

모니터링과 통계목적을 위한 DB 저장구조 어떻게 하면 좋을까요?


센서값(on, off)을 모니터링 해서 가용률을 계산하고자 합니다.

두가지 방법을 생각해봤습니다.


1. 1초에 한번씩 센서값(on, off)을 DB에 INSERT 한다.

가용률 계산은 쉬울 것 같지만, DB데이터 양이 너무 많아진다.


2. 센서값(on, off)이 변경이 일어났을 때에만 DB에 INSERT 한다.

DB데이터 양은 적을 것 같지만, 가용률 계산을 쉽게할 수 있을지 모르겠음


좀 더 좋은 방법이 있을까요?

0
  • 답변 5

  • 캐티
    5k
    2021-08-06 14:05:36

    INSERT 는 그대로 하고 트리거를 써서 값 변동이 생기면 별도의 테이블에 통계를 INSERT-OR-UPDATE 하면 좋겠스빈다.

    트리거에서 일정 갯수가 넘어가는 행들은 DELETE 시켜주면 최근 몇 회 전 이력 까지 남길 수 있고 통계도 단순하게 얻을 수 있어서 좋겠쩌여.

  • 콘푸로스트
    2k
    2021-08-06 14:12:58

    1초에 1행씩

    하루에 86400

    한달에 260만

    1년에 3100만


    이 정도면 쌓을만한 수치라고 봅니다


  • kiel
    55
    2021-08-06 14:18:21

    가용률이란게 on시간/전체 시간 인가요? on, off 시에 timestamp 를 같이 찍으면 굳이 매 초 단위 로그가 없어도 on 상태인 시간, off 상태인 시간을 측정할 수 있지 않을까요?

  • 안전라이딩
    1k
    2021-08-06 14:34:17

    "가용률 계산을 쉽게할 수 있을지 모르겠음" 

    최악을 대비 , 최대치로 잡아야죠 1과 동일.

  • star16m
    796
    2021-08-06 22:45:02

    2로 하세요

    계산은 어떻게든 됩니다

    dbms 마다 지원하는 function이 조금씩 다릅니다

    1로는.. 하실 생각도 마세요


  • 로그인을 하시면 답변을 등록할 수 있습니다.