Docs Menu
Docs Home
/
MongoDB 매뉴얼

시계열

이 페이지의 내용

  • Time Series 컬렉션
  • 혜택
  • 사용 사례 예시
  • 행동
  • metaFields
  • Indexes
  • 시작하기

시계열 데이터는 시간에 따른 변화를 분석하여 통찰력을 얻을 수 있는 일련의 데이터 포인트입니다.

시계열 데이터는 일반적으로 다음과 같은 구성 요소로 이루어져 있습니다.

  • 데이터 포인트가 기록된 시간입니다.

  • 메타데이터(소스라고도 함)는 데이터 시리즈를 식별하는 레이블 또는 태그이며 거의 변경되지 않습니다. 메타데이터는 metaField에 저장됩니다. 메타필드를 Time Series 문서에 생성한 후에는 추가할 수 없습니다. metaField 동작 및 선택에 대한 자세한 내용은 metaFields를 참조하세요.

  • 시간 단위로 추적되는 데이터 요소인 측정값 (메트릭 또는 값이라고도 함). 일반적으로 이들은 시간이 지남에 따라 변하는 키-값 쌍입니다.

이 표는 시계열 데이터의 예를 보여줍니다.

예시
측정
Metadata
주식 데이터
주식 가격
주식 시세, 거래소
날씨 데이터
온도
센서 식별자, 위치
웹사이트 방문자
조회 수
URL

효율적인 시계열 데이터 저장을 위해 MongoDB는 시계열 컬렉션을 제공합니다.

버전 5.0에 추가.

시계열 컬렉션은 시계열 데이터를 효율적으로 저장합니다. 시계열 컬렉션에서는 동일한 출처의 데이터가 비슷한 시점의 다른 데이터 포인트와 함께 저장되도록 쓰기가 구성됩니다.

중요

이전 버전과 호환되지 않는 기능

다운그레이드하기 전에 시계열 컬렉션을 삭제해야 합니다.

  • MongoDB 6.0 이상에서 MongoDB 5.0.7 이하로 다운그레이드 하는 경우.

  • MongoDB 5.3에서 MongoDB 5.0.5 이하로 다운그레이드하는 경우.

일반 컬렉션과 비교하여 Time Series 데이터를 Time Series 컬렉션에 저장하면 쿼리 효율성이 향상되고 Time Series 데이터 및 보조 인덱스의 디스크 사용량이 줄어듭니다. MongoDB 6.3 이상에서는 새로운 Time Series 컬렉션에 대한 시간 및 메타데이터 필드에 복합 인덱스를 자동으로 생성합니다.

시계열 컬렉션은 기본 열 형식 저장 형식을 사용하고 데이터를 시간 순서로 저장합니다. 이 형식은 다음과 같은 이점을 제공합니다.

  • 시계열 데이터 작업의 복잡성 감소

  • 쿼리 효율성 향상

  • 디스크 사용량 감소

  • 읽기 작업을 위한 I/O 감소

  • WiredTiger 캐시 사용량 증가

Time Series 컬렉션은 시간 경과에 따른 데이터 분석에 가장 적합합니다. 다음 표는 Time Series 데이터의 사용 사례를 보여줍니다.

산업
예시
사물 인터넷(IoT)
  • 센서 데이터(예: 스마트 홈 기기 또는 차량 물류)

  • 머신 러닝 및 인공 지능 스크래핑

금융 서비스
  • 고빈도 트레이딩

  • 정량적 재무 분석

  • 뱅킹 데이터(예: 시간 경과에 따른 뱅킹 거래 내역)

  • 주식 시장 데이터

소매 및 전자상거래
  • 거래, 판매 및 가격 분석

  • 재고 관리

DevOps
  • 애플리케이션 로깅

  • 인프라 및 네트워크 모니터링

Time Series 컬렉션은 다음 유형의 데이터에는 사용되지 않습니다.

  • 정렬되지 않은 데이터

  • 시간에 종속되지 않는 데이터

Time Series 컬렉션은 일반적으로 다른 MongoDB 컬렉션과 유사하게 동작합니다. 데이터를 평소처럼 삽입하고 쿼리합니다.

경고

업데이트 명령의 일치 표현식은 metaField만 지정할 수 있습니다. Time Series 문서의 다른 필드는 업데이트할 수 없습니다. 자세한 내용은 Time Series 업데이트 제한 사항을 참조하세요.

MongoDB는 시계열 컬렉션을 내부 컬렉션에 의해 뒷받침되는 쓰기 가능한 비물질화 로 취급합니다. 데이터를 삽입하면 내부 컬렉션이 자동으로 시계열 데이터를 최적화된 저장 형식으로 구성합니다.

MongoDB 6.3부터 새 time series 컬렉션을 생성하면 MongoDB는 metaField 및 timeField 필드에 복합 인덱스도 생성합니다. 쿼리 성능을 개선하기 위해 time series 컬렉션의 쿼리는 새 복합 인덱스를 사용합니다. 복합 인덱스는 또한 최적화된 저장 형식을 사용합니다.

경고

system.profile 이라는 이름의 time series 컬렉션 또는 뷰를 만들려고 시도하지 마.십시오 MongoDB 6.3 이상 버전에서 이를 시도하는 경우 IllegalOperation 오류가 반환됩니다. 이전 MongoDB 버전은 충돌합니다.

MongoDB 8.0부터는 Time Series 컬렉션에서 timeField를 샤드 키로 더 이상 사용할 수 없습니다.

또한 MongoDB 8.0부터 timeField를 포함하는 샤드 키로 Time Series 컬렉션을 생성하면 로그 메시지프라이머리 샤드로그 파일에 추가됩니다. 더불어 구성 서버 복제본 세트의 프라이머리 노드에 12시간마다 로그 메시지가 추가됩니다. 로그 메시지에는 Time Series 컬렉션에서 timeField를 샤드 키로 사용하는 것은 더 이상 사용되지 않으며 metaField를 사용하여 컬렉션을 다시 샤딩해야 한다고 명시되어 있습니다.

Time Series 문서에는 각 문서에 대한 메타데이터가 포함된 MetaField가 포함될 수 있습니다. MongoDB는 내부 스토리지 최적화와 쿼리 효율성을 위해 metaField를 사용하여 문서 세트를 그룹화합니다. metaField에 대한 자세한 내용은 metaField 고려 사항을 참조하세요.

MongoDB는 time-series 컬렉션의 metaField와 timeField에 모두 자동으로 복합 인덱스를 생성합니다.

시계열 컬렉션을 시작하려면 시계열 컬렉션 생성 및 쿼리하기를 참조하세요.

돌아가기

참조