DB Story

[ RRD ] 데이터 저장 기간 설정하기

WhiteDuck 2016. 4. 21. 13:20

[ RRD ] 데이터 저장 기간 설정하기



rrd4j에서 사용 (JAVA 입니다)


RrdDef rrdDef = new RrdDef(rrdPath, step);

( 파일의 경로, 주기 (s 단위) );

rrdDef.setStartTime( Util.getTimestamp( c1.getTime()) );

(시작 시간)


rrdDef.addDatasource("client_id", DsType.GAUGE, 60 * 10, 0, Double.NaN);  

("필드 이름", 실제값, 600s 의 데이터 수신 기간(timeout?), min, max)


rrdDef.addArchive(ConsolFun.MAX, 0.5, steps, rows);

(colsolFun, X-files factor(알수없는 값의 양), step을 몇번 할지, 얼마나 많은 데이터를 유지할 것인지)


데이터 측정 : MAX 값을 steps번 측정한 것을 가지고 측정

데이터 저장 : (step * steps )(1 row) * rows = 총 라인 수


ex ) (MAX) 3600s * 24step * 30row = 2592000 rows

1시간마다 측정한 값 24개중 MAX값 1개을 저장하고 30개 측정 및 저장한다. 즉, 30일동안 30개의 row가 나온다. 측정은 2592000번 진행



ex ) (MAX) 60s * 5step * 30row = 9000 rows

1분마다 측정한 값 5개중 MAX값 1개을 저장하고 30개 측정 및 저장한다. 즉, 5분주기로 30개 row가 나왔다. 측정은 9000 row번 진행


* 측정은 실제로 데이터 수신기간(하트비트) 안에 나온 값은 유효한 값으로 측정한다.


참고 : 

http://m.blog.naver.com/okwizard/70099132033

http://www.kaav.net/board/detail.php?table=PHP&Num=38&View_Mode=

반응형