페이징 처리 요청수

문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족한 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 최신
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요. 이번에 데이터베이스를 페이징 처리를 이용해서 마이그레이션 진행해보려고 하는데요. 유저가 많다보니 아래 에러가 발생하게 됩니다. 혹시 시간을 어느정도로 요청해야 해당 에러를 피할 수 있을까요? 예를들면 1분에 10번 && 10초에 3번 등등…

  • 혹시 마이그레이션 할때 페이징처리말고 다른 방법으로 해야할까요?
  • 한 클라이언트(동일 ip)에서 너무 많은 요청을 보낸 경우
    해당 에러가 발생한 클라이언트는 5분 동안 요청을 보낼 수 없습니다.
    statusCode : 403
    errorCode : Forbidden
    message : 403 Forbidden

안녕하세요 개발자님.
403 Forbidden 에러는 뒤끝 함수 호출이 1~5초에 1회가량 이루어지도록 구성하여 주시면 발생하지 않습니다.

조금 더 상세한 정보를 제공해주시면 다른 방법으로 도움을 드릴 수도 있을 것 같습니다.
어떠한 마이그레이션을 진행하시는 것인지 조금 더 상세한 정보를 제공해주시면 감사하겠습니다.

넵 감사합니다!
혹시 뒤끝함수호출 이라는것이 DB 읽기, 쓰기, 닉네임으로 유저 정보 조회, 유저 랜덤 조회, 자신 유저 정보 조회 등등등… 모든 함수를 포함하여 말하는 것일까요??

프로젝트명: MiniRPG
해당 프로젝트 user_data 테이블의 data컬럼 참고해주세요.

프로젝트의 현재 저장방식이, 모든 데이터를 json 하나로 변경하여 통째로 저장하고 있습니다. (이하 ‘유저 데이터’)
초기에는 보안을 포기하고, 로컬 저장방식을 적극 사용하여 문제가 없었지만, 점점 자리가 잡혀가면서 자잘하게 서버에 저장하는일이 많아졌습니다.
그러다보니 저장할때 랙걸림, 데이터 읽고쓸때 무거움(많으면 100kb) 등이 문제가 되어, 정규화를 시키려고 하는 상황입니다. (마이그레이션 이라는 용어가 적절한지 모르겠습니다)

현재 너무 모든 데이터가 엉망으로 들어가있어서 순서대로 진행하려고 합니다.
첫번째로는, 닉테임 통일입니다. 닉네임을 명확히 해야 이후 뒤끝함수 호출시 편한점이 있어보였습니다. 현재 ‘유저 데이터’ 안에 닉네임이 저장되는 형식이고, 게임 시작시 특정 상황으로 인해 뒤끝닉네임과 유저 데이터의 닉네임이 다른 상황이 생겼습니다. 유저 데이터의 닉네임을 이용하여 적용해야 하기때문에(뒤끝 닉네임이 아니고) 우선 모든 유저데이터를 읽고 닉네임을 뽑아낸다음 뒤끝닉네임과 비교하여 다른유저들을 찾고, 수동으로 변경해주려고 했습니다. (수십명 정도로 예상합니다)

그 이후로는 중요하고, 자주 사용되는 항목에 대하여 정규화를 하려 합니다.
아이템테이블, 캐릭터테이블 등을 만들어 정규화 해보려고 하는데, 아직 서버 및 구조에 익숙치 않아 구상이 깔끔하진 않은 상태입니다. 아이템 획득, 제거시마다 row를 추가하거나 제거하는 방향도 생각해보았지만, 게임데이터를 discrete하게 저장을 하기 때문에, 유저당 list형태의 row 하나를 가지고, 사용해야할까 하고 있습니다. (아직 제가 list, map, 등의 타입을 사용해보지 않아서 테스트가 필요할 듯 합니다)

질문드린 타이밍은 첫번째항목 닉네임 통일 구현중, 질문드린 에러가 발생한 상황입니다. user_data테이블의 모든 유저데이터를 읽는것이 호출이 많이 불렸나 봅니다.

(위 내용들이 유저가 로그인하고 저장할때 직접 유저기기에서 호출되도록 할 수도 있지만, 좀 더 깔끔하게 처리하고 싶었습니다.)

뒤끝 함수 호출은 말씀하신 것과 같이 뒤끝에서 제공하는 모든 함수를 이용하는 것을 말합니다. :)

개발자님께서 말씀해주신 테이블 데이터를 담당부서에서 확인해 보았으나,
직접적으로 도움을 드리기에는 다소 어려움이 있는 것으로 확인됩니다.

저장할때 랙걸림, 데이터 읽고쓸때 무거움(많으면 100kb) 등이 문제가 되어, 정규화를 시키려고 하는 상황

위 현상의 경우 아래 개발자 문서를 확인하시고, 테이블 별로 데이터를 나누어 저장하는 방식으로 변경하시면 개선할 수 있으니 참고해 주시면 감사하겠습니다.

좋아요 1