대용량 DB 및 테이블 처리에 관련된 질문입니다.

조회수 1158회

안녕하세요. 다름아니라 mysql로 대용량 작업을 하려고 하는데 테이블 구성에 대해서 문의드리고자 합니다. test 테이블이 있는데 여기에 row 가 점점 쌓이고 있습니다. 왜냐하면 시간이 지남에 따라 insert 되고 있기 때문입니다. 그리고 이 row를 select 하고, 이 row 를 update도 계속 하고 있습니다. 그런데 이 row 가 100만개 이상 늘어나서 속도가 느려지고 있는데요. 서버의 사양을 높였지만 그래도 다운되는 경우가 많이 있습니다. 그래서 이 경우 어떻게 처리하면 좋을지 해서 여쭤보고자 합니다.

제가 생각해낸 방법은 mysql 테이블을 파티션해서 작업하는 방법인데요. 해보지는 않았지만 가장 가능성이 있을 것이라 생각합니다. 하지만 한 번도 해보지 못한 방법이고, 사실 이 방법이 맞는지 잘 모르겠습니다.

정리하면, 현재 한 test테이블에 100만개 이상 row가 있는 상황에서 앞으로 더 row 가 insert 됩니다. 그리고 계속 select, update 가 되고 있습니다. 이 경우 데이터 처리 속도를 올리기 위해 사양을 올리는 것이 아닌 다른 방법으로 어떤 개선이 있어야 할까요?(사양은 이미 많이 올렸기때문이에요. 그래서 다른 방법을 찾고 있습니다.) 속도 향상을 위해 어떤 내부적 개선을 해야 될까요? 어떻게 구조를 바꿔야 할까요? 가능하면 예제로 알려주셔도 참 고맙겠습니다. 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)