Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/

Time Series 빠른 시작

이 빠른 시작 가이드는 MongoDB Atlas 또는 자체 관리형 배포서버를 통해 time series 컬렉션을 구성, 생성 및 쿼리하는 방법을 설명합니다.

소요 시간: 30분

1
  1. 무료 Atlas 계정을 만들거나 기존 계정에 로그인하세요.

  2. Atlas 클러스터가 아직 없다면 무료 M0 클러스터를 생성하세요. Atlas 클러스터 생성에 대한 자세한 내용은 클러스터 생성을 참조하세요.

    참고

    프로젝트당 하나의 M0 무료 클러스터만 만들 수 있습니다.

  3. 왼쪽 사이드바에서 Overview(개요)를 클릭합니다. 클러스터를 선택하고 Connect를 클릭합니다.

  4. 도구를 통해 데이터 액세스에서 Shell을 클릭합니다.

    아직 다운로드 및 설치하지 않았다면 제공된 단계에 따라 mongosh를 다운로드하고 설치하세요.

  5. 연결 문자열을 복사한 후 Done을 클릭합니다.

2

mongosh를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:

mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1
--username <user>
3
use timeseries

빈 "timeseries" 데이터베이스가 생성되고 전환됩니다.

4

참고

이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date 필드는 시간 데이터를 저장하며, ticker 필드는 개별 주식을 식별합니다.

  1. timeField, metaFieldgranularity를 설정합니다.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }

    또는 사용자 지정 세분성을 지정합니다.

    버전 6.3에 추가.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds",
    bucketMaxSpanSeconds: "300",
    bucketRoundingSeconds: "300"
    }
  2. db.createCollection() 메서드를 사용하여 컬렉션을 만듭니다.

    db.createCollection(
    "stocks",
    {
    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }
    })

    stocks이라는 빈 time series 컬렉션이 생성됩니다.

5

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 클릭하여 샘플 데이터를 확인할 수 있습니다.

6

다른 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")}
});
1

자세한 지침은 필수 조건을 참조하세요.

  1. Atlas CLI 를 설치합니다.

    Homebrew 를 사용하는 경우 터미널에서 다음 명령을 실행 수 있습니다.

    brew install mongodb-atlas-cli

    다른 운영 체제에 대한 설치 지침은 Atlas CLI 설치를 참조하세요.

  2. Docker설치

    Docker 는 MongoDB 이미지를 가져오고 캐싱하기 위해 네트워크 연결이 필요합니다.

2
  1. 기존 Atlas 계정이 없다면 터미널에서 atlas setup을 실행하거나 새 계정을 만드세요.

  2. atlas deployments setup을 실행하고 메시지에 따라 로컬 배포서버 를 만듭니다. 배포서버 서버에 연결할지 묻는 메시지가 표시되면 skip을 선택합니다.

    자세한 지침은 로컬 Atlas 배포 생성을 참조하세요.

3
4

mongosh를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:

mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1
--username <user>
5
use timeseries

빈 "timeseries" 데이터베이스가 생성되고 전환됩니다.

6

참고

이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date 필드는 시간 데이터를 저장하며, ticker 필드는 개별 주식을 식별합니다.

  1. timeField, metaFieldgranularity를 설정합니다.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }

    또는 사용자 지정 세분성을 지정합니다.

    버전 6.3에 추가.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds",
    bucketMaxSpanSeconds: "300",
    bucketRoundingSeconds: "300"
    }
  2. db.createCollection() 메서드를 사용하여 컬렉션을 만듭니다.

    db.createCollection(
    "stocks",
    {
    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }
    })

    stocks이라는 빈 time series 컬렉션이 생성됩니다.

7

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 클릭하여 샘플 데이터를 확인할 수 있습니다.

8

다른 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")}
});
1

자체 관리형 배포서버를 실행 중이라면, MongoDB 버전, 에디션 및 플랫폼에 맞는 설치 지침을 따르세요.

2
3

mongosh를 사용하여 자체 관리형 배포서버나 Atlas 배포서버에 연결합니다. 예시:

mongosh "mongodb+srv://my-test-cluster.1twap.mongodb.net/" --apiVersion 1
--username <user>
4
use timeseries

빈 "timeseries" 데이터베이스가 생성되고 전환됩니다.

5

참고

이 연습에서는 주식 티커 샘플 데이터를 사용합니다. date 필드는 시간 데이터를 저장하며, ticker 필드는 개별 주식을 식별합니다.

  1. timeField, metaFieldgranularity를 설정합니다.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }

    또는 사용자 지정 세분성을 지정합니다.

    버전 6.3에 추가.

    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds",
    bucketMaxSpanSeconds: "300",
    bucketRoundingSeconds: "300"
    }
  2. db.createCollection() 메서드를 사용하여 컬렉션을 만듭니다.

    db.createCollection(
    "stocks",
    {
    timeseries: {
    timeField: "date",
    metaField: "ticker",
    granularity: "seconds"
    }
    })

    stocks이라는 빈 time series 컬렉션이 생성됩니다.

6

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 클릭하여 샘플 데이터를 확인할 수 있습니다.

7

다른 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 컬렉션 고려 사항을 참조하세요.

돌아가기

시계열

이 페이지의 내용