모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    물어라이코스님의
    개인페이지입니다
    가입 : 12-09-25
    방문 : 3120회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_11266
    작성자 : 물어라이코스
    추천 : 0
    조회수 : 1269
    IP : 27.117.***.100
    댓글 : 12개
    등록시간 : 2015/06/15 02:34:57
    http://todayhumor.com/?programmer_11266 모바일
    DB 설계 관련하여 조언 부탁드립니다!
    옵션
    • 본인삭제금지
    안녕하세요! <div><br></div> <div>졸업 프로젝트로 롤 관련 정보 제공 서비스를 만들고 있습니다.</div> <div><br></div> <div>게임에 관련된 데이터가 json 으로 제공되는데, 이걸 받아와서 DB에 저장하고 통계자료를 보여주는 겁니다.</div> <div><br></div> <div>문제는... 제공되는 DB 구조를.... mysql에 넣자니 어떻게 DB를 설계하고 넣어야할지 모르겠습니다.. ㅜㅜ</div> <div><br></div> <div>기존에 해본건 게시판이나 랭킹 데이터를 넣고 빼고 수정하는 정도였지..</div> <div><br></div> <div>이렇게 방대한 로그형 데이터를 관리해본적이 없어서..</div> <div><br></div> <div>정규화를 해야할지 말아야할지도 참 고민이 많습니다.</div> <div><br></div> <div>어떻게 하는 것이 현명한지 조언 부탁드립니다.</div> <div><br></div> <div><br></div> <div>제공되는 데이터들을 간략히 설명드리자면...</div> <div><br></div> <div>1)[게임고유번호] : 각 게임별로 붙는 고유 번호입니다.</div> <div>2)[게임맵] : 해당 게임이 어느 맵에서 진행되었는지 알려줍니다.</div> <div>-중략-</div> <div>3)[플레이어 리스트] : 해당 게임에 참여한 플레이어를 별도의 데이터 셋트로 제공합니다.(json배열)</div> <div>4)[플레이어의 전적] : 해당 플레이어의 게임 플레이 정보를 제공합니다.</div> <div><br></div> <div>[플레이어 리스트]</div> <div>3)-(1) [플레이어1] : 플레이어1의 아이디</div> <div>3)-(2) [플레이어1의 코드] : 해당 플레이어가 해당 게임에서 부여받은 고유 번호</div> <div>3)-(3) [플레이어의 고유 번호] : 해당 플레이어의 고유 번호 (전체 유저 중 고유 번호)</div> <div>...</div> <div><br></div> <div>[플레이어의 전적]</div> <div>4)-(1) [킬] : 해당 플레이어의 킬수</div> <div>4)-(2) [데스] : 해당 플레이어의 데스 수</div> <div>...</div> <div><br></div> <div>-후략-</div> <div><br></div> <div>이런식입니다..</div> <div>배열로 설명드리자면,</div> <div>1차원 배열이 있고 1차원 배열 항목 중 하나를 열어보면 다시 2차원 배열...</div> <div>이런식으로 3~4차원 배열까지 존재합니다.</div> <div><br></div> <div><br></div> <div>이거야 애초에 지원하는 데이터 형식이고, 이것을 제 나름대로 정리하여 DB를 만들려고 했습니다.</div> <div><br></div> <div>그러자 생기는 문제는... 게임 고유 번호와 플레이어의 번호를 어떻게 이을 것인가하는 문제였습니다.</div> <div><br></div> <div>- 테이블 -</div> <div>1. 게임 정보를 저장하는 테이블</div> <div><span style="font-size:9pt;line-height:1.5;">[게임 고유번호], [게임 맵]....</span></div> <div><br></div> <div>2. 플레이어 정보를 저장하는 테이블</div> <div>[게임 고유번호], [플레이어 고유 번호], [킬], [데스] ...</div> <div><br></div> <div><br></div> <div>문제는 게임 정보 테이블에서는 기본키가 [게임 고유번호]가 되므로 별 문제가 되지 않습니다만...</div> <div>두번째 테이블인 플레이어 정보 저장 테이블에서는..</div> <div>[게임 고유번호]와 [플레이어 고유 번호]가 중복이 된다는 겁니다.</div> <div>A - 1</div> <div>A - 2</div> <div>A - 3</div> <div>B - 1</div> <div>B - 2</div> <div>B - 3</div> <div>이런식으로 중복이 되게 됩니다.</div> <div><br></div> <div><br></div> <div>그래서 현재 생각중인 방안은... 이렇습니다.</div> <div><br></div> <div>1. 하나의 테이블만 만든다.</div> <div>이유 : 데이터 수정/삭제가 거의 일어나지 않으며 조회/입력만 반복될 데이터이므로 정규화를 하지 않고 하나의 테이블에 몽땅 때려박는다.</div> <div>예상되는 단점 : 데이터의 중복이 발생한다. (하나의 게임에 10명이 플레이 하므로, 게임 고유코드와 맵 등 한 게임에 대한 정보가 10번씩 입력되어야함)</div> <div>예상되는 단점2 : 기본키를 뭘로 하지?! (게임 고유코드와 유저 고유코드 모두 중복이 발생함.)</div> <div>--> 혹시 두 컬럼을 묶어서 기본키로 쓸 수 있나요? 그럴리가..?</div> <div><br></div> <div>2. 가능한한 테이블을 쪼개서 저장한다.</div> <div>이유 : 최대한 정규화 시킨다.</div> <div>예상되는 단점 : JOIN을 시켜야하는데, 대부분 조회/입력 작업이 반복되므로 쿼리문이 복잡해지거나 JOIN 때문에 부하가 심해진다.</div> <div>예상되는 단점2 : 설계에 더 머리가 아파지고 어렵다. (;;;;;)</div> <div><br></div> <div>3. 목적에 따른 테이블을 만들어서 사용한다.</div> <div>이유 : 사용 목적에 따라 용도별로 테이블을 만들어서 데이터를 저장한다. 다루기가 편하다.</div> <div>예상되는 단점 : 데이터의 중복이 발생한다. (A테이블에 있는 내용 중 일부가 B테이블에도 존재)</div> <div><br></div> <div><br></div> <div>지향하는 방향은, 방대한 양의 데이터를 모두 수용하는 것입니다.</div> <div><br></div> <div>주로 발생할 작업은 사용자가 아이디를 검색했을때 해당 아이디에 대한 데이터(유저 고유 코드를 통한 검색)를 불러내서 사용자에게 보여주는 것과,</div> <div>짧으면 하루에 한번정도 전체 데이터에서 특정 조건으로 통계자료를 뽑아내는 것 입니다.</div> <div><br></div> <div>데이터의 대부분은 수정/삭제 작업이 발생하지 않고 조회/삽입 작업만 발생합니다.</div> <div><br></div> <div>음..</div> <div><br></div> <div>위에서 제가 생각하고 있는 1번이나 2번 방안 중 무언가를 생각하는게 좋을까요 아니면 다른 방법을 구상하는게 좋을까요?</div> <div><br></div> <div>이런류의 데이터를 다뤄본적도 없고 참고할만한 자료를 찾지 못해서 어떻게 해야할지 전혀 방향을 잡지 못하고 있습니다. ㅠㅠ</div> <div><br></div> <div>짧은 조언이라도 해주시면 정말정말 감사하겠습니다!!!</div>

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    233
    오징어 등록기 // 오징어 인증 // 오유 인증 싸이트 입니다. [30] 물어라이코스 15/07/20 20:43 68 6
    232
    php] 가입시 이메일 인증 시스템 구축하기 (?) 질문 [2] 본인삭제금지 물어라이코스 15/07/18 02:30 25 0
    231
    GCC 버전별 링크 [1] 물어라이코스 15/07/17 01:46 37 0
    230
    대리? 공유? 계정 정지에 대한 정확한 사항 입니다. 물어라이코스 15/07/16 20:52 69 1
    229
    뻘글] 몇날며칠을 고생한 메모리 누수를 잡았습니다! [4] 물어라이코스 15/07/10 17:16 47 13
    228
    질문] openmp 멀티 쓰레드! [5] 물어라이코스 15/07/09 05:03 37 0
    227
    잡담] 왜 메모리 누수에 머리를 썩히는지 이제 알았습니다 ㅋㅋ [16] 물어라이코스 15/07/07 17:09 76 0
    226
    이 와중에 벌레 소탕 바랍니다. [신고] 물어라이코스 15/07/05 21:37 62 0
    225
    졸작하고 있는데 ... 이게 뭐하는 건지 모르겠습니다. ㅜㅜ [6] 물어라이코스 15/07/03 17:59 75 0
    224
    c언어 sprintf을 가변적으로 활용하는 방법? [21] 물어라이코스 15/07/02 15:14 38 0
    223
    안타까움에 올리는 직관 후기 (feat. CJ) [1] 물어라이코스 15/07/01 22:14 216 2
    222
    저격할때는 확실한 증거를 가지고 했으면 좋겠습니다. [41] 물어라이코스 15/07/01 21:11 167 1
    221
    PHP 서적 추천 부탁드립니다. (초급 X) [4] 물어라이코스 15/06/25 17:18 20 0
    220
    50만대 게이밍 와우 견적 검토 부탁드립니다! [5] 베스트금지본인삭제금지 물어라이코스 15/06/25 15:19 73 0
    219
    지하철인데 제 앞에 아재분이 계세요 [6] 물어라이코스 15/06/24 22:56 66 2
    218
    재저격] 롤게 사람들 단체 비방 후 사과 없음. [2] 물어라이코스 15/06/17 20:51 130 13
    217
    저격] 특정 게시판 사용자들 비방 후 사과 없음. 물어라이코스 15/06/17 20:50 47 4
    216
    광고유저에 대한 판단 부탁드립니다. [8] 물어라이코스 15/06/15 19:54 102 2
    DB 설계 관련하여 조언 부탁드립니다! [12] 본인삭제금지 물어라이코스 15/06/15 02:34 40 0
    214
    모욕죄 인실X 인증 [3편] [22] 물어라이코스 15/06/14 17:51 143 6
    213
    오징어 등록기 나눔 당첨자 발표! (친추 받아주세요!) [2] 물어라이코스 15/06/08 20:50 53 4
    212
    오징어 검색기 나눔 결과! [7] 물어라이코스 15/06/08 02:27 125 7
    211
    오징어 검색기 싸이트에 저격 기능 도입 관련하여 의견 부탁드립니다. [5] 물어라이코스 15/06/06 16:41 86 3
    210
    오징어 인증제, 저격 관련 기능 의견 부탁드립니다! [3] 물어라이코스 15/06/06 02:45 87 3
    209
    [나눔] 오징어 인증을 하시거나 인증노말 유저 대상 나눔! [3] 베스트금지 물어라이코스 15/06/04 20:56 67 3
    208
    오징어 검색기 1400명 돌파 기념 나눔 !!! [11] 물어라이코스 15/06/03 23:35 101 24
    207
    포지 자체에 민감하신 분들이 보면 기절할영상.avi [10] 물어라이코스 15/05/27 22:51 248 0
    206
    오유에 뜨는 대리 광고는 바보님이 확인하셔야해요 [2] 물어라이코스 15/05/19 17:44 155 2
    205
    오징어 등록제를 많이 알려주세요! [10] 물어라이코스 15/05/17 23:10 53 12
    204
    오유 채널이 확실히 인력소가 되긴 한거 같네요 물어라이코스 15/05/15 16:17 98 3
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈