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

글쓴이: 익명 사용자 / 작성시간: 금, 2018/03/09 - 4:40오후
안녕하세요.
다름아니라 mysql로 대용량 작업을 하려고 하는데 테이블 구성에 대해서 문의드리고자 합니다.
test 테이블이 있는데 여기에 row 가 점점 쌓이고 있습니다. 왜냐하면 시간이 지남에 따라 insert 되고 있기 때문입니다.
그리고 이 row를 select 하고, 이 row 를 update도 계속 하고 있습니다.
그런데 이 row 가 100만개 이상 늘어나서 속도가 느려지고 있는데요.
서버의 사양을 높였지만 그래도 다운되는 경우가 많이 있습니다.
그래서 이 경우 어떻게 처리하면 좋을지 해서 여쭤보고자 합니다.
제가 생각해낸 방법은 mysql 테이블을 파티션해서 작업하는 방법인데요. 해보지는 않았지만 가장 가능성이 있을 것이라 생각합니다.
하지만 한 번도 해보지 못한 방법이고, 사실 이 방법이 맞는지 잘 모르겠습니다.
정리하면, 현재 한 test테이블에 100만개 이상 row가 있는 상황에서 앞으로 더 row 가 insert 됩니다. 그리고 계속 select, update 가 되고 있습니다. 이 경우 데이터 처리 속도를 올리기 위해 사양을 올리는 것이 아닌 다른 방법으로 어떤 개선이 있어야 할까요?(사양은 이미 많이 올렸기때문이에요. 그래서 다른 방법을 찾고 있습니다.) 속도 향상을 위해 어떤 내부적 개선을 해야 될까요? 어떻게 구조를 바꿔야 할까요?
가능하면 예제로 알려주셔도 참 고맙겠습니다.
부탁드립니다.
Forums:
좀 더 정보를 주시면 좋겠는데요. select나
좀 더 정보를 주시면 좋겠는데요. select나 update 시에 index를 잘 활용하는지가 우선 체크를 해야할 부분일 것 같습니다. 파티션을 하려고 해도 key를 잘 선택해야지요. insert/update와 select가 계속해서 섞여서 이루어지는지 아니면 insert/update는 select에 비해서 덜 자주 일어나는 지도 문제이지요. isolation level을 조정해서 도움이 될지 생각해볼 수 있으니까요. 뭐 한 번 체크해볼만한 것들을 생각나는대로 적어봤습니다.
댓글 달기