개발 Q&A

제목 db table 설계시 질문있습니다.
카테고리 DB
글쓴이 ci매니아 작성시각 2020/08/07 13:08:48
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 634   RSS

db환경은 mysql이며, 웹환경은 php입니다.

통계 데이터를 표현하게 위해 테이블 설계를 진행중인데요.

다음과 같은 조건에 어떤 방법이 더 효율적일지 추천 부탁드립니다.

 

조건1. 10~20개 장소의 출입통계 데이터를 가공.

조건2. 한장소당 평균 30만개(계속 누적이 된다는 가정하에) 이상의 데이터가 적재됨

조건3. 대시보드 페이지를 제작하기 때문에 모든 장소의 특정조건에 부합하는 Total 데이터(총인원별, 기간별, 출입분류별 등) 수치를 가져와야함.

 

위와 같은 조건에서 Table을 하나로 설계하여 특정 field 값으로 장소를 구분하여 한 Table에서 데이터를 가공할지,

아니면 장소별로 여러 Table을 설계하여 각 장소Table별로 데이터를 출력 및 계산하여 표현할지.

 

어느방안이 더 효율적일까요?

 다음글 db변경 (2)
 이전글 vscode 원격 디버깅 문의드립니다. (2)

댓글

변종원(웅파) / 2020/08/07 13:40:16 / 추천 1

로그성 데이터를 db 테이블에 쌓고 그 summary 데이터를 만들어서 1개의 테이블에 넣어서 보여주는게 일반적입니다.

완벽한 데이터로 가공할 수도 있고 중간단계 정도로 가공해서 쿼리를 통해 보여줄 수도 있습니다. 

저는 광고솔루션 통계를 row data -> 중간단계 데이터 -> 쿼리로 최종데이터 이렇게 처리했었습니다.

ci매니아 / 2020/08/07 14:11:45 / 추천 0

그렇다는 말씀은 굳이 장소별로 table을 나눌 필요는 없고 

출입로그 테이블(순번, 날짜, 장소) - 통계 테이블(순번, 출입테이블순번, 출입카운트) 이렇게 해도 되는건가요 혹시?

한대승(불의회상) / 2020/08/07 14:20:45 / 추천 1

@ci매니아 테이블은 하나로 사용하면서 파티션을 정의하는 방법도 있습니다.

파티션 관련된 부분은 구글링하시면 주르르 나옵니다.

변종원(웅파) / 2020/08/10 11:06:25 / 추천 0

ci매니아/ 되고 안되고의 의미 보다는 어떤게 효율적이냐의 문제입니다.

자세한 현재 구성과 요구조건을 알 수 없어서 된다 안된다 이야기를 할 수 없습니다. (컨설팅영역) ^^