bellight
60
2021-01-13 23:43:36
2
88

[mysql] 시간대별 저장하는 데이터로 인해 한 테이블만 데이터가 기하급수적으로 많아지는 문제


안녕하세요.

시간대별로 (현재는 30분에 한번) 사용자가 추가한 데이터들을 30분마다 체크해서 한 테이블에 내용을 기록해놓고 해당 데이터를 그래프로 보여주는 서비스를 개발중에 있습니다.

현재 약 5명정도로 몇달간 베타로 테스트중입니다만, 벌써 데이터가 100만건 가까이 쌓어버렸네요.

사용자가 많은것도 아니고, 한 테이블만 데이터가 많아지는 이런경우 보통 어떻게 처리될까요?

지금 생각으로는 최대 3달까지만 저장한다던지 하는식으로, 기간별로 테이터를 짤라서 다른 테이블로 넘기는 방식외에는 딱히 생각나는 것이 없는데, 이렇게 하면 또 조회할경우, 3개월 이상되는 데이터를 조회할수가 없으니... 

보통 어떻게 처리되는지 사례가 궁금합니다.

0
  • 답변 2

  • zepinos
    20k
    2021-01-14 01:11:49

    데이터를 다시 group by 등으로 집계를 하지 않나요? 그 집계결과를 자동으로 테이블에 남기고 조회를 집계 테이블에서 하도록 개선하는 것과, 원천 데이터에 해당하는 현 테이블은 주기적으로 오래된 자료를 지우는 작업을 병행하는게 보통입니다. 물론 지우기 전에 텍스트 파일 등으로 내려받아 장기보관할 필요도 있겠죠.

  • bellight
    60
    2021-01-14 02:02:53
    감사합니다 많은 도움이 되었습니다!!
  • 로그인을 하시면 답변 을 등록할 수 있습니다.