안녕하세요.
기존 포인트 테이블에 부하가 심해서 파티션 테이블로 변경하려고 합니다.
현재 상태를 간단히 설명드리면
기존 테이블은 innodb 일반 테이블이며 데이터가 너무 많아 질 경우 수동으로 예전 데이터를 백업 테이블이나 이력 테이블로 넘겨서 데이터를 줄이면서 관리 하고 있습니다.
마스터 테이블에 insert / update 가 매우 자주 수행되는 상태입니다.
특징은 당일 발생하는 포인트에 대한 트렌젝션만 있습니다.
통계 화면 조회 시를 제외하고는 오늘 이전 데이터에대한 접근이 일체 없다고 봐도 무방합니다.
즉 오늘 이전의 데이터는 select / insert / update 되지 않습니다만 데이터는 존재 해야 하는 상황입니다.
데이터는 7백만건정도로 유지하고 있으나 일단위 생성 데이터가 빠르게 늘어나고 있고 부하도 심해져서
현 상태로 방치할 경우 는 이번달을 넘기기 힘들 것 같습니다. (DB의 CPU 사용량 증가와 insert 속도 저하가 심각해지고 있음)
질문은
1. 위 조건에서 파티션 테이블 구성 했을 경우 insert / update 시 속도나 부하가 개선 될 여지가 있는지요 ?
2. 파티션 방법 어떤게 좋을 까요? 레인지로 월 단위가 좋을까요?
3. 파티션 테이블을 쓰지 않을 경우 방안
4. 하루 단위의 파티션도 가능할까요? (데이터 정리나 수동 관리를 한다고 가정 했을 경우)
5. 기타 설계에 대한 조언
답변 부탁드립니다!! 감사합니다.