더북(TheBook)

키와 값의 데이터 타입

일반적으로 키의 데이터 타입은 문자열이다. 일부 키-값 데이터베이스는 보다 확장된 데이터 타입을 지원하므로 문서 데이터베이스도 원칙적으로는 여러 데이터 타입을 지원할 수 있다.

값은 여러 유형의 데이터 타입을 가질 수 있다. 쉽게 예상할 수 있듯이 문서 데이터베이스에서는 숫자와 문자열 값을 지원한다. 또한, 배열과 다른 문서처럼 좀 더 구조화된 데이터 타입을 지원한다.

모든 값이 데이터 타입 하나로 이루어져 있고 값 하나에 대해 인스턴스 여러 개를 추적하려 할 때는 배열을 사용하는 것이 유리하다. 예를 들어 한 사원과 이 사원에 대한 프로젝트 리스트를 모델링할 경우 다음과 같은 문서를 사용할 수 있을 것이다.


{ 'employeeName' : 'Janice Collins',
  'department' : 'Software engineering'
  'startDate' : '10-Feb-2010',
  'pastProjectCodes' : [ 189847, 187731, 176533, 154812]
}

pastProjectCodes란 키는 프로젝트 코드 번호를 모아 놓은 리스트다. 모든 프로젝트 코드는 숫자 타입이므로 배열을 사용하는 것이 적합하다.

반면에 사원정보와 함께 프로젝트에 관해 더 많은 정보를 저장하거나 포함시키고 싶다면 다음과 같이 사원 문서 안에 또 다른 문서를 추가하면 된다.


{ 'employeeName' : 'Janice Collins',
  'department' : 'Software engineering',
  'startDate' : '10-Feb-2010',
  'pastProjects' : [
      { 'projectCode' : 189847,
         'projectName' : 'Product Recommendation System',
         'projectManager' : 'Jennifer Delwiney' },
      { 'projectCode' : 187731,
        'projectName' : 'Finance Data Mart version 3',
        'projectManager' : 'James Ross'},
      { 'projectCode': 176533,
        'projectName' : 'Customer Authentication',
        'projectManager' : 'Nick Clacksworth'},
      { 'projectCode' : 154812,
        'projectName' : 'Monthly Sales Report',
        'projectManager' : 'Bonnie Rendell'}
  ]
}

요약하면, 문서는 키-값 쌍으로 구성된 정렬된 집합이다. 키는 특정 값을 참조할 때 사용된다. 값은 기본 데이터 타입이나 구조화된 데이터 타입을 가진다.

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