안녕하세요? DB사랑닷넷 선생님들!
모델링 공부중에 궁금한 사항이 있어서 질문을 드립니다.
A 테이블은 쇼핑몰과 같은 주문 시스템에서 사용자별 주문 데이터를 보관하는 성격 입니다.
각각의 사용자가 ID를 가지고 데이터를 입력 합니다.
3년 정도의 데이터를 보관할 계획이며 약 500명의 사용자가 데이터를 입력합니다.
하루평균 적재되는 데이터는 10만건이며, 3년동안 1억건 정도의 데이터를 보관한다고 가정했습니다.
테이블 설명은 대략적으로 아래와 같습니다.
/* 주키가 존재하지 않는 테이블 입니다. */
Create Table A (
고객식별자 varchar(20) FK
매뉴식별자 varchar(20) FK
매뉴단가 number(10)
생성날짜 varchar(8)
생성시간 varchar(6)
삭제여부 varchar(1)
)
/* 고객을 유일하게 식별할 수 있는 테이블 */
Create Table 고객테이블 (
고객식별자 varchar(20) PK
....
)
/* 고객별로 각자의 매뉴를 구성할 수 있는 테이블 */
Create Table 매뉴테이블 (
고객식별자 varchar(20) PK FK
매뉴식별자 varchar(20) PK
매뉴명 varchar(20)
....
)
여러 사용자는 A 테이블에 대해서 DML 문을 실시간으로 날리게 됩니다.
위와 같은 상황에서 A 테이블은 지속적으로 데이터가 쌓이게 됩니다.
질문을 아래와 같습니다.
1. 1억건이라는 데이터가 실감이나지 않습니다.
어느정도 수준의 데이터 양인지, 실무에서는 흔하게 볼 수 있는 데이터양인지 궁금합니다.
만약 말도안되는 데이터 Row 수라면 다른 방법을 강구해야할 듯 싶어서 문의 드립니다.
2. A 테이블에서 고객별로 주문량에 대한 통계를 생각 중 입니다.
고객식별자와 생성날짜로 필터를 걸면 5만건정도 추려집니다.
해당 테이블에 전체 데이터 건수가 아무리 많아도 필터로 걸러지는 데이터 건수가 작다면 문제될 것이 없나요?
3. 궁극적으로 중복된 질문이지만,
현업에서도 한개의 테이블에다 주문 데이터를 저장하는지...
그렇게 저장한다면 저의 머릿속으로는 몇억건의 데이터가 쌓일 것으로 생각되는데 문제가 없는건지...
통계같은 데이터를 따로 만들어야 되는건지...
궁금합니다.
최대한 많은 분들의 답변을 기다리고 있습니다.
많은 가르침 부탁 드립니다.
|