mysql 포인트 관련 파티션 테이블 설계 0 1 1,159

by samsss [MySQL] partition 파티션 포인트 [2020.11.21 00:39:05]


안녕하세요.

기존 포인트 테이블에 부하가 심해서 파티션 테이블로 변경하려고 합니다. 

현재 상태를 간단히 설명드리면 

 

기존 테이블은 innodb 일반 테이블이며 데이터가 너무 많아 질 경우 수동으로 예전 데이터를 백업 테이블이나 이력 테이블로 넘겨서 데이터를 줄이면서 관리 하고 있습니다.

마스터 테이블에 insert / update 가 매우 자주 수행되는 상태입니다.

특징은 당일 발생하는 포인트에 대한 트렌젝션만 있습니다.

통계 화면 조회 시를 제외하고는 오늘 이전 데이터에대한 접근이 일체 없다고 봐도 무방합니다.

즉 오늘 이전의 데이터는 select / insert / update 되지 않습니다만 데이터는 존재 해야 하는 상황입니다.

데이터는 7백만건정도로 유지하고 있으나 일단위 생성 데이터가 빠르게 늘어나고 있고 부하도 심해져서

현 상태로 방치할 경우 는 이번달을 넘기기 힘들 것 같습니다. (DB의 CPU 사용량 증가와 insert 속도 저하가 심각해지고 있음)

 

질문은

1. 위 조건에서 파티션 테이블 구성 했을 경우 insert / update 시 속도나 부하가 개선 될 여지가 있는지요 ?

2. 파티션 방법 어떤게 좋을 까요? 레인지로 월 단위가 좋을까요? 

3. 파티션 테이블을 쓰지 않을 경우  방안

4. 하루 단위의 파티션도 가능할까요? (데이터 정리나 수동 관리를 한다고 가정 했을 경우)

5. 기타 설계에 대한 조언

 

답변 부탁드립니다!!  감사합니다.

by 마농 [2020.11.23 08:06:57]

관리적 측면에서 파티션 테이블 필요해 보입니다.

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