개발 Q&A

제목 예약테이블에 관한 조언을 구합니다.
글쓴이 헛발이 작성시각 2014/07/07 15:27:16
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 12738   RSS
간단한 예약시스템을 만들려고 합니다.
시스템은 간단합니다. 기간을 정해 두고 참여할 사람의 시간과 참여시 필요한것들을 예약하는 시스템입니다..

[조건]
이 시스템은 ASP형식으로 서비스형태를  띠고 있습니다.
고객과 회원이 함께 가입하여 사용하는 시스템입니다..(고객과 회원은 특별한 관계이기에 무작위가 아님..)
고객이 하루 만드는 이벤트는 약 2,3개정도 됩니다.(오전, 오후 정도...)
하루 하나의 이벤트에 회원의 예약건수가 약 50건 정도가 일어 납니다...(고객수가 정해져 있어서 하루건수가 수백만건은 안됨)
예약정보에는 시간과 기타정보들을 포함하고 있습니다.

[질문]
이럴 경우 예약테이블을 하나로 관리 하는거 괜찮을까요?
걱정이 되는건 고객이 하나일 경우 약 하루 100건정도 레코드를 발생하게 되는데요..
그게 한달이면 약 3천건 정도 발생 합니다..
1년이면 약 4만건 정도 발생하게 되고요...
ASP형식이기 때문에 약 1년 4만건 * 고객수가 될듯 싶은데요...

다만 데이터는 1년단위로 삭제할 예정이지만.. 예정이기에 데이터가 남아 있을 가능성도 있음...


단순하게 게시판 테이블 처럼 그냥 주욱 예약정보를 담아 두는것이 좋을까요???
 
 다음글 게시판 글을 등록시 맞춤법(한글)이 틀리면 글이 없어지... (7)
 이전글 체크박스 사용 했어 삭제 하는법좀 알려주세요 (3)

댓글

슘님 / 2014/07/07 15:56:32 / 추천 0
고려할 사항이 고객 수가 몇이냐, 어떠한 데이터베이스를 사용하느냐 인거 같은데요.
저라면 이렇게 할 것 같습니다. (관계형 데이터베이스를 사용할 경우)

고객 수가 천명 이상일 경우 (기준으로 둘 고객 수는 또다른 고려사항, 천명은 예시입니다.)
-> 테이블을 쪼개서 예양정보를 담아둠 (테이블 1개당 1000명의 고객의 예약 정보만 담아둠)

고객 수가 설정한 기준 이하면 하나의 테이블에 담아도 index만 잘 걸려있으면 무리 없을 듯 합니다.

No-sql인 경우 도큐먼트 내에 4만건 정도의 예약 정보를 포함시킬 수 있을지만 확인하면 간단하게 구현되지 않을까 싶네요.
(대략 예약 한 건에 400바이트면 가능 할 것 같습니다.)

다른 좋은 아이디어는 다른분께...ㅎㅎ
한대승(불의회상) / 2014/07/07 16:03:07 / 추천 0
DB 테이블을 파티션으로 미리 나누어 두는 방법도 있습니다. ^^
헛발이 / 2014/07/08 07:32:40 / 추천 0
조언 감사합니다... 많은 도움이 되었습니다..
변종원(웅파) / 2014/07/08 11:31:56 / 추천 0
쬐금 늦었지만 파티셔닝에 한표 던집니다.

4주 단위로 리포팅을 하는 5기가짜리 리포트 테이블이 있는데 점점 늘어나고 있고 초기엔 속도가 괜찮았는데
점점 늘어나다보니 어느 순간 속도가 뚝 떨어지더군요.
그래서 특정키(광고차수)로 파티셔닝을 했고 그 키로 검색조건을 주니 속도가 상당히 회복이 됐습니다.

물리적으로 나누는 것도 좋지만 특정 테이블의 사이즈가 커질 수도 있고 관리(프로그램에서의)도 용이하지 않구요.

한달단위로 파티셔닝 하는게 무난할 것 같네요. ^^