장비상태 값이 누적되는 테이블이 있을때 최근 상태값을 갖는 테이블!? 0 3 1,516

by playlyun [SQL Query] Query [2018.02.27 17:37:19]


장비상태 값이 누적되는 테이블이 있을때 최근 상태값을 갖는 테이블!?

장비상태값이 누적되는 history_data 테이블은 MONTH를 기준으로 RANGE PARTITION 구성됩니다.

매초간격으로 각장비의 상태값이 history_data에 insert되며 저는 가장 최근에 갖는 상태값을 불러와 화면에 그려주는데,

 

Q. 이때 테이블 구성을 어찌해야할지 궁금합니다.

1. current_data 테이블 구성해서 history_data에 INSERT 되면 current_data테이블에 UPDATE를 동시에 실행하도록 할지.

2. 먼저 current_data에 UPDATE를 실행하고 history_data에 RULE로 INSERT를 실행할지

3. VIEW?

 

우매한 질문에 답변부탁드려요 ㅠ

by 우리집아찌 [2018.02.27 18:27:15]

snapshot table 테이블 구성하시려나 보네요.

두가지로 나누어집니다.

1. current_data , history_data 에 같이 남긴다.

 -  데이터가 양쪽에 중첩되어있다

 -  데이터 무결성을 보장하지 않는다.

 -  전체 데이터 조회시 history_data 만 조회하면 된다

2.current_data 에 최신 data 을 남기고 update/insert 시 history_data 에 남긴다. 

 -  최신데이터는 current_data 만 존재한다.

 -  데이터 무결성을 훼손되지않는다.

 -  전체 data 조회시 두 테이블을 union all 해야한다.


by playlyun [2018.02.28 08:35:30]

답변감사합니다.

수집서버에서 current_data에 UPDATE쿼리로 최신값을 업데이트하면서 rule로 history_data에 insert해서 누적하는 방식과  history_data에 insert할떄 rule로 current_data에 update하는 방식에 차이가 있을까요??

위의 방법으로 했을떄 전체조회시 두테이블을 union all할필요가 있나요? history_data 테이블에만 접근하면 될것 같은데요.

수집서버에서 current_data에 업데이트하고 history_data에 Insert하는방식은 안하려고 합니다.

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입