Time Series 빠른 시작
이 빠른 시작에서는 MongoDB Atlas 또는 자체 관리 배포서버 사용하여 time series 컬렉션 구성, 생성 및 쿼리 방법을 설명합니다.
소요 시간: 30 분
단계
Atlas 클러스터를 설정합니다.
아직 Atlas cluster 없는경우 무료 M0 클러스터 생성합니다. Atlas cluster 생성에 대해 자세히 학습 클러스터 생성을 참조하세요.
참고
기존 클러스터 로 작업하는 경우 Atlas 프로젝트
Project Data Access Admin
에 대한 이상의 액세스 있어야 합니다.새 클러스터를 생성하면 기본적으로 필요한 권한이 부여됩니다.
프로젝트 당무료 클러스터 하나만 만들 수 있습니다.
M0
왼쪽 사이드바에서 개요 를 클릭합니다. 클러스터 선택하고 를 Connect 클릭합니다.
도구를 통해 데이터 액세스에서 Shell을 클릭합니다.
아직 설치하지 않았다면 제공된 단계에 따라
mongosh
를 다운로드 하여 설치하세요.연결 문자열 복사하고 Done을 클릭합니다.
새 터미널 창 열고 배포서버 에 연결합니다.
를 사용하여 자체 관리 또는 Atlas 배포서버 에 연결합니다. 예시 들면 다음과 mongosh
같습니다.
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
를 쿼리하여 단일 시계열에 대한 데이터를 가져오거나 timeField
에 범위 쿼리 사용하여 지정된 기간의 데이터를 가져오는 것입니다.
단일 time series에 대해 metaField
를 쿼리 하려면 다음을 수행합니다.
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
을(를) 설치합니다.
새 터미널 창 열고 배포서버 에 연결합니다.
를 사용하여 자체 관리 또는 Atlas 배포서버 에 연결합니다. 예시 들면 다음과 mongosh
같습니다.
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
를 쿼리하여 단일 시계열에 대한 데이터를 가져오거나 timeField
에 범위 쿼리 사용하여 지정된 기간의 데이터를 가져오는 것입니다.
단일 time series에 대해 metaField
를 쿼리 하려면 다음을 수행합니다.
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
을(를) 설치합니다.
새 터미널 창 열고 배포서버 에 연결합니다.
를 사용하여 자체 관리 또는 Atlas 배포서버 에 연결합니다. 예시 들면 다음과 mongosh
같습니다.
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
를 쿼리하여 단일 시계열에 대한 데이터를 가져오거나 timeField
에 범위 쿼리 사용하여 지정된 기간의 데이터를 가져오는 것입니다.
단일 time series에 대해 metaField
를 쿼리 하려면 다음을 수행합니다.
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 컬렉션과 관련된 집계 및 쿼리 동작에 대해서는 애그리게이션 및 연산자 고려 사항을 참조하세요.
자세히 알아보기
MongoDB Time Series 데이터 내부에 저장하는 방법에 대해 자세히 학습 Time Series 데이터 정보를 참조하세요.
MongoDB 이상의 사용자 지정 버킷팅 매개변수에 6.3 대해 자세히 학습 사용자 지정버킷팅 매개변수 사용을 참조하세요.