안녕하세요 @realmankwon입니다.
몽고DB 설정이 끝이 나고 배틀 로직도 몽고DB 를 사용하도록 변경하였습니다.
이후에 배틀 정보를 열심히 쌓고 있는데 이전 포스팅에서 언급한 것처럼 upsert로 로직을 변경하였음에도 속도가 무지하게 느리네요.
그래서 다시 로직을 변경하였습니다.
이번에는 배틀 Collection에 unique index를 추가하여 중복 데이터가 생성되지 않도록 하였습니다.
그리고 insertMany로 저장하도록 한 후 해당 데이터가 있으면 index 때문에 exception을 발생시키도록 하였습니다.
일단 아래와 같이 exception 이 잘 발생하고 중복 데이터가 생성되지 않는군요.
unique index를 생성시키는 것은 의외로 간단하였습니다.
저는 compass를 이용하고 있는데 indexes 탭에 가서 create index 버튼을 클릭합니다.
로딩된 화면에서 index 명을 입력하고 index로 사용할 field를 선택하여 줍니다.
field 명 옆에는 정렬 방법을 선택하면 됩니다.
반드시 Options에서 Create unique index를 체크하여야 합니다.
하루 기준으로 거의 400만개의 배틀 정보가 입력이 되었습니다.
이제 기존의 배틀로직을 멈추고 몽고DB를 이용한 배틀을 테스트 해봐야할 것 같습니다.