Time Series 빠른 시작
이 빠른 시작 가이드는 MongoDB Atlas 또는 자체 관리형 배포서버를 통해 time series 컬렉션을 구성, 생성 및 쿼리하는 방법을 설명합니다.
소요 시간: 30분
단계
Atlas 클러스터를 설정합니다.
Atlas 클러스터가 아직 없다면 무료 M0 클러스터를 생성하세요. Atlas 클러스터 생성에 대한 자세한 내용은 클러스터 생성을 참조하세요.
참고
기존 클러스터로 작업하는 경우, Atlas 프로젝트에 대해
Project Data Access Admin
이상의 액세스 권한이 있어야 합니다.새 클러스터를 생성하면 기본적으로 필요한 권한이 부여됩니다.
프로젝트당 하나의
M0
무료 클러스터만 만들 수 있습니다.왼쪽 사이드바에서 Overview(개요)를 클릭합니다. 클러스터를 선택하고 Connect를 클릭합니다.
도구를 통해 데이터 액세스에서 Shell을 클릭합니다.
아직 다운로드 및 설치하지 않았다면 제공된 단계에 따라
mongosh
를 다운로드하고 설치하세요.연결 문자열을 복사한 후 Done을 클릭합니다.
새 터미널 창을 열고 배포서버에 연결합니다.
mongosh
를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:
mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1 --username <user>
빈 time series 컬렉션을 만듭니다.
참고
이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date
필드는 시간 데이터를 저장하며, ticker
필드는 개별 주식을 식별합니다.
timeField
,metaField
및granularity
를 설정합니다.timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } 또는 사용자 지정 세분성을 지정합니다.
버전 6.3에 추가.
timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds", bucketMaxSpanSeconds: "300", bucketRoundingSeconds: "300" } db.createCollection()
메서드를 사용하여 컬렉션을 만듭니다.db.createCollection( "stocks", { timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } }) stocks
이라는 빈 time series 컬렉션이 생성됩니다.
샘플 문서를 추가합니다.
db.collection.insertMany()
메서드를 실행하여 다음 샘플 문서를 컬렉션에 추가합니다.
db.stocks.insertMany([ { ticker: "MDB", date: ISODate("2021-12-18T15:59:00.000Z"), close: 252.47, volume: 55046.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:58:00.000Z"), close: 252.93, volume: 44042.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:57:00.000Z"), close: 253.61, volume: 40182.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:56:00.000Z"), close: 253.63, volume: 27890.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:55:00.000Z"), close: 254.03, volume: 40270.00} ])
Atlas에서 MongoDB를 실행 중이라면 Browse collections 클릭하여 샘플 데이터를 확인할 수 있습니다.
데이터를 쿼리합니다.
다른 MongoDB 컬렉션과 마찬가지로 time series 컬렉션을 쿼리합니다. 자세한 내용은 Time Series 데이터 쿼리 정보를 참조하세요.
time series 데이터에 대한 일반적인 쿼리는 metaField
를 쿼리하여 단일 time series의 데이터를 가져오거나, timeField
에서 범위 쿼리를 사용하여 특정 시간 범위의 데이터를 가져오는 것입니다.
metaField
로 단일 time series를 쿼리하려면:
db.stocks.find( { ticker: "MDB" } )
timeField
로 시간 범위를 쿼리하려면:
db.stocks.find({ date : { $gte : ISODate("2021-12-18T15:50:00.000Z"), $lte : ISODate("2021-12-18T15:56:00.000Z")} });
종속성을 설치합니다.
자세한 지침은 필수 조건을 참조하세요.
Homebrew 를 사용하는 경우 터미널에서 다음 명령을 실행 수 있습니다.
brew install mongodb-atlas-cli 다른 운영 체제에 대한 설치 지침은 Atlas CLI 설치를 참조하세요.
Docker설치
Docker 는 MongoDB 이미지를 가져오고 캐싱하기 위해 네트워크 연결이 필요합니다.
MacOS 또는 Window를 사용한다면 Docker Desktop v4.31 이상을 설치하세요.
Linux를 사용한다면 Docker Engine v27.0 이상을 설치하세요.
RHEL의 경우 Podman v5.0+를 사용할 수도 있습니다.
로컬 Atlas 배포를 설정합니다.
기존 Atlas 계정이 없다면 터미널에서
atlas setup
을 실행하거나 새 계정을 만드세요.atlas deployments setup
을 실행하고 메시지에 따라 로컬 배포서버 를 만듭니다. 배포서버 서버에 연결할지 묻는 메시지가 표시되면skip
을 선택합니다.자세한 지침은 로컬 Atlas 배포 생성을 참조하세요.
mongosh
를 설치합니다.
새 터미널 창을 열고 배포서버에 연결합니다.
mongosh
를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:
mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1 --username <user>
빈 time series 컬렉션을 만듭니다.
참고
이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date
필드는 시간 데이터를 저장하며, ticker
필드는 개별 주식을 식별합니다.
timeField
,metaField
및granularity
를 설정합니다.timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } 또는 사용자 지정 세분성을 지정합니다.
버전 6.3에 추가.
timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds", bucketMaxSpanSeconds: "300", bucketRoundingSeconds: "300" } db.createCollection()
메서드를 사용하여 컬렉션을 만듭니다.db.createCollection( "stocks", { timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } }) stocks
이라는 빈 time series 컬렉션이 생성됩니다.
샘플 문서를 추가합니다.
db.collection.insertMany()
메서드를 실행하여 다음 샘플 문서를 컬렉션에 추가합니다.
db.stocks.insertMany([ { ticker: "MDB", date: ISODate("2021-12-18T15:59:00.000Z"), close: 252.47, volume: 55046.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:58:00.000Z"), close: 252.93, volume: 44042.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:57:00.000Z"), close: 253.61, volume: 40182.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:56:00.000Z"), close: 253.63, volume: 27890.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:55:00.000Z"), close: 254.03, volume: 40270.00} ])
Atlas에서 MongoDB를 실행 중이라면 Browse collections 클릭하여 샘플 데이터를 확인할 수 있습니다.
데이터를 쿼리합니다.
다른 MongoDB 컬렉션과 마찬가지로 time series 컬렉션을 쿼리합니다. 자세한 내용은 Time Series 데이터 쿼리 정보를 참조하세요.
time series 데이터에 대한 일반적인 쿼리는 metaField
를 쿼리하여 단일 time series의 데이터를 가져오거나, timeField
에서 범위 쿼리를 사용하여 특정 시간 범위의 데이터를 가져오는 것입니다.
metaField
로 단일 time series를 쿼리하려면:
db.stocks.find( { ticker: "MDB" } )
timeField
로 시간 범위를 쿼리하려면:
db.stocks.find({ date : { $gte : ISODate("2021-12-18T15:50:00.000Z"), $lte : ISODate("2021-12-18T15:56:00.000Z")} });
MongoDB와 종속성을 설치합니다.
자체 관리형 배포서버를 실행 중이라면, MongoDB 버전, 에디션 및 플랫폼에 맞는 설치 지침을 따르세요.
mongosh
를 설치합니다.
새 터미널 창을 열고 배포서버에 연결합니다.
mongosh
를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:
mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1 --username <user>
빈 time series 컬렉션을 만듭니다.
참고
이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date
필드는 시간 데이터를 저장하며, ticker
필드는 개별 주식을 식별합니다.
timeField
,metaField
및granularity
를 설정합니다.timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } 또는 사용자 지정 세분성을 지정합니다.
버전 6.3에 추가.
timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds", bucketMaxSpanSeconds: "300", bucketRoundingSeconds: "300" } db.createCollection()
메서드를 사용하여 컬렉션을 만듭니다.db.createCollection( "stocks", { timeseries: { timeField: "date", metaField: "ticker", granularity: "seconds" } }) stocks
이라는 빈 time series 컬렉션이 생성됩니다.
샘플 문서를 추가합니다.
db.collection.insertMany()
메서드를 실행하여 다음 샘플 문서를 컬렉션에 추가합니다.
db.stocks.insertMany([ { ticker: "MDB", date: ISODate("2021-12-18T15:59:00.000Z"), close: 252.47, volume: 55046.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:58:00.000Z"), close: 252.93, volume: 44042.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:57:00.000Z"), close: 253.61, volume: 40182.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:56:00.000Z"), close: 253.63, volume: 27890.00}, { ticker: "MDB", date: ISODate("2021-12-18T15:55:00.000Z"), close: 254.03, volume: 40270.00} ])
Atlas에서 MongoDB를 실행 중이라면 Browse collections 클릭하여 샘플 데이터를 확인할 수 있습니다.
데이터를 쿼리합니다.
다른 MongoDB 컬렉션과 마찬가지로 time series 컬렉션을 쿼리합니다. 자세한 내용은 Time Series 데이터 쿼리 정보를 참조하세요.
time series 데이터에 대한 일반적인 쿼리는 metaField
를 쿼리하여 단일 time series의 데이터를 가져오거나, timeField
에서 범위 쿼리를 사용하여 특정 시간 범위의 데이터를 가져오는 것입니다.
metaField
로 단일 time series를 쿼리하려면:
db.stocks.find( { ticker: "MDB" } )
timeField
로 시간 범위를 쿼리하려면:
db.stocks.find({ date : { $gte : ISODate("2021-12-18T15:50:00.000Z"), $lte : ISODate("2021-12-18T15:56:00.000Z")} });
샘플 데이터
이 빠른 시작 가이드는 다음 문서 구조로 stocks
time series 컬렉션을 만듭니다.
{ _id: ObjectId(...), ticker: <string>, date: ISODate(...), close: <double>, volume: <double> }
학습 요약
이 빠른 시작 가이드는 새 time series 컬렉션을 만드는 데 중점을 두고 있습니다. time series 컬렉션은 시간 데이터에 최적화되어 있으므로 생성 시 구성 방식에 따라 성능이 크게 좌우됩니다. 자세한 내용은 Time Series 컬렉션 고려 사항을 참조하세요.
다음 단계
기존 데이터를 time series 컬렉션으로 마이그레이션하려면 Time Series 컬렉션으로 데이터 마이그레이션을 참조하세요.
time series 컬렉션을 샤딩하려면 Time Series 컬렉션 샤딩을 참조하세요.
time series 컬렉션의 특정한 집계 및 쿼리 동작에 대해서는 집계 및 연산자 고려 사항을 참조하세요.
자세히 알아보기
MongoDB가 time series 데이터를 내부적으로 저장하는 방법에 대해 더 알아보려면 Time Series 데이터 정보를 참조하세요.
MongoDB 6.3 이상의 사용자 지정 버킷 매개변수에 대해 알아보려면 사용자 지정 버킷 매개변수 사용을 참조하세요.