개발 Q&A

제목 한테이블에 레코드가 많으면 어떻게 처리해야하나요?
카테고리 DB
글쓴이 홍즈 작성시각 2017/01/09 14:45:01
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 11774   RSS

 

안녕하세요 ~ 신입 개발자입니다.

MYSQL을 사용하고 있고, 사용자 로그를 기록하는 테이블이 있습니다. 이게 쌓이고 쌓여서 지금 거의 1억개까지 쌓이니 

통계페이지 로딩이 거의 30초이상 걸리드라구요. 단순한 select 쿼리도 1분걸립니다.

더이상 안되겠어서 조치를 취해야겠는데, 어떤식으로 취하는게 좋을지 모르겠습니다.

빅데이터를 말만들어봤지 실체를 정확히 이해못하고있어 도입을 어떤식으로 해야하나 싶습니다 ㅜㅜ

 

 

생각되는건 

1. 이 테이블만 별도의 다른 NOSQL기반 DBMS (몽고디비라던지..)를 쓴다. 

2. 엘라스틱서치 와 같은 분산처리 기술을 사용한다.

 

이정도 방법인데 (물론 실제 사용해보거나 공부해본적은 없어서 공부만해도 엄청 오래걸릴듯싶습니다) 

혹시 MYSQL 내에서 이런 문제를 해소할수 있는 방법은없나요?

 다음글 smtp_sock를 이용한 외부 메일 서버로 전송시 전... (4)
 이전글 뷰파일에서 최대한 php코드를 사용하지 않고 데이터를 ... (4)

댓글

한대승(불의회상) / 2017/01/09 15:46:31 / 추천 0

파티셔닝을 하면 일시적으로 해결 됩니다.

근본적인건 제시하신 방법으로 가야 겠죠?

변종원(웅파) / 2017/01/09 16:18:38 / 추천 0

1. 큐를 사용하여 가공된 리포트를 만들어내고 로그는 따로 파일로 쌓는 방법.

2. 현재처럼 로그를 쌓고 1시간에 한번 리포트를 생산하여 다른 테이블에 넣고 그 테이블을 대상으로 조회하는 방법

위 불의회상님 말씀처럼 파티셔닝만 잘해도 어느 정도 해결은 됩니다.