더북(TheBook)

8.6 사례 연구: 고객 적하 목록

1장 요구 사항에 따른 데이터베이스 종류에서 전 세계에 있는 모든 기업의 물류 이동을 총괄하는 트랜스글로벌 운송 회사TGTS라는 가상의 회사를 소개했다. 사업이 확장되면서 TGTS사는 좀 더 복잡하고 다양한 배송을 처리하게 되었다. 분석가들은 요구 사항을 수집하고 운송될 컨테이너 개수의 기본 산정작업을 마쳤다. 이들은 모든 컨테이너에 공통 필드가 혼합되어 있으며 컨테이너 유형별로 특별한 필드가 있다는 점을 알아냈다.

모든 컨테이너는 고객 이름, 내용물 요약 정보, 원산지 시설, 목적지 시설, 컨테이너에 들어있는 물품 수, 유해 물질 표시기, 과일처럼 상하기 쉬운 물품의 유통기한 일자, 연락처 같은 정보를 가진 주요 필드들이 필요하다.

게다가 일부 컨테이너는 특별한 정보가 필요하다. 유해 물질의 경우 유해 물질을 처리해야 하는 응급조치자 정보가 있는 물질안전보건자료MSDS가 첨부되어야 한다. 또한, 상하기 쉬운 식품은 검사를 수행한 사람, 검사에 책임을 지는 기관, 이 기관의 연락처 정보 같은 식품 검사에 관한 상세한 내역이 첨부되어야 한다.

분석가는 질의의 70~80%가 단일 적하 목록을 반환한다는 점을 발견했다. 보통 적하 목록 식별자나 고객 이름, 운송일자, 원산지 시설 정보를 이용해 검색한다. 나머지 질의의 20~30% 대부분은 공통 정보 중 일부를 보여주는 고객별 요약 보고서에서 사용된다. 관리자들이 이따금 운송 유형(예를 들어 유해 물질이나 상하기 쉬운 식품)별로 보고서를 보기도 하지만 자주 있는 일은 아니다.

경영진들은 다음 12~18개월 안에 상당할 규모로 회사를 확장할 계획이 있다고 분석가들에게 알렸다. 분석가들은 유해 물질과 상하기 쉬운 식품들이 특별한 필드를 가지고 있듯이, 앞으로는 특수한 정보를 가진 화물의 유형이 늘어날 것이라는 사실을 깨달았다. 또한, 데이터베이스에 새로운 필드를 추가하고 서버도 추가하는 계획을 마련해야 한다. 분석가들은 수평적 스케일링과 유연한 스키마를 지원하는 문서 데이터베이스를 사용하기로 결정을 내렸다.

분석가들은 적하 목록 대부분에 공통으로 사용되는 필드를 파악하면서 문서와 컬렉션 설계를 시작했다. 이들은 Manifests(적하 목록)라는 이름의 컬렉션에 다음과 같은 필드를 넣기로 했다.

고객 이름

고객 연락 담당자명

고객 주소

고객 전화번호

고객 팩스번호

고객 이메일주소

원산지 시설

목적지 시설

운송일자

예상 배송일자

컨테이너에 담긴 물품 수

분석가들은 유해 물질과 상하기 쉬운 식품을 추적하는 필드도 가져가기로 결정했다. 이 두 개의 특별한 필드를 문서 안으로 묶어 넣기로 했는데, 이러한 문서를 적하 목록 문서와 함께 중첩해야 하는지, 아니면 별도의 컬렉션에 넣어야 할지를 결정해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.