돌고래야
22
2017-03-27 11:11:03
7
997

게시판 설계 때문에 고민입니다.



안녕하세요. 커뮤니티를 제작중인데요.

게시판 테이블 설계 때문에 고민이 조금 되네요. 

커뮤니티이다보니 여러개의 카테고리들이 생길텐데 

1개의 테이블에서 모든 카테고리의 글들을 다 담는것이 옳은것인지..

아니면 카테고리별로 테이블을 생성해서 데이터를 담아야 하는것인지..


이용자가 많은 DC인사이드나 롤인벤같이 게시판 하나에 100~200만건 

되는 곳들은 어떻게 구조를 잡는지 궁금하네요.


사용자가 많이 몰리는 특정 카테고리들만 따로 분리시켜야하는가 싶기도 하고요 


(_ _) 답변해주시면 감사하겠습니다.



0
0
  • 답변 7

  • 새벽나루
    120
    2017-03-27 11:25:14

    설계하기 나름이지만 보통은 같은 테이블에 저장하는 것으로 알고 있습니다.

    컬럼에 카테고리ID컬럼을 따로 두어 구분하죠

    왜냐하면 테이블을 따로 두면.. 카테고리가 추가될때마다 테이블을 생성해야 하잖아요..

    0
  • 자바리안
    198
    2017-03-27 11:26:58

    저도 전문 DBA는 아니지만 대규모 데이터(금융 - 억단위 데이터)를 관리하는 친구한테 들은 이야기를 바탕으로 말씀드리자면 100~200만건 정도는 카테고리를 인덱스를 걸어서 한 테이블에서 관리해도 무방할 것으로 생각됩니다. 혹시 데이터가 더 많이 늘어가게 되면 그때는 parallel 로 full 스캔을 해서 관리를 하면 된다고 하네요. 물론 오라클 기준입니다.

    어쭙잖은 내용이지만 도움이 되시길 바랍니다.


    0
  • 돌고래야
    22
    2017-03-27 11:27:32
    답글 감사합니다 (_ _)
    0
  • 돌고래야
    22
    2017-03-27 11:28:25

    @새벽나루 맞습니다.


    카테고리가 추가될때마다 테이블을 생성해야 하는 문제가 있죠 ; 





    0
  • 새벽나루
    120
    2017-03-27 11:29:22

    참고로 어차피 카테고리별로 검색조건이 추가되는 데다가

    쿼리단에서 페이징처리 되어있는 10개면 10개 20개면 20개row만 select하니

    전체검색이 아닌한 상관없습니다.


    0
  • 돌고래야
    22
    2017-03-27 11:32:08

    @새벽나루


    역시 한테이블에 카테id만 따로둬서 가는 방향으로 가야겠네요. 


    답변 감사합니다 (_ _)



    0
  • 여행매니아
    140
    2017-03-27 12:57:45 작성 2017-03-27 12:58:10 수정됨

    파티션에 대해서 알아보세요.

    쿼리로 테이블에 접근하는 입장에서는 하나의 거대한 테이블로 바라볼 수 있어요.

    내부적으로는 나누어져서 저장하는 기술입니다.

    해시/레인지/짬뽕 등 등 종류가 몇 가지 되는데 적절한거 골라서 쓰시면 될 듯 합니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.