Docs Menu
Docs Home
/ / /
C 드라이버
/

시계열 데이터

이 페이지의 내용

  • 개요
  • Time Series 컬렉션 만들기
  • Time Series 데이터 저장
  • Time Series 데이터 쿼리
  • 추가 정보

이 가이드 에서는 C 운전자 를 사용하여 Time Series 데이터 를 저장 하고 상호 작용 하는 방법을 학습 수 있습니다.

시계열 데이터는 다음 구성 요소로 구성됩니다.

  • 측정 수량

  • 측정 타임스탬프

  • 측정값을 설명하는 메타데이터

다음 표에서는 Time Series 데이터 를 저장 수 있는 샘플 상황을 설명합니다.

상황
측정 수량
Metadata

산업별 월별 매출 기록

USD 기준 수익

회사, 국가

날씨 변화 추적

강수량 수준

위치, 센서 유형

기록적인 주택 가격 변동

월 임대료

위치, 통화

중요

Time Series 컬렉션의 서버 버전

Time Series 컬렉션을 만들고 상호 작용하려면 MongoDB Server 5.0 이상을 실행하는 배포에 연결되어 있어야 합니다.

time series 컬렉션 을 만들어 Time Series 데이터 를 저장 수 있습니다. time series 컬렉션 을 만들려면 mongoc_database_create_collection() 함수에 다음 매개 변수를 전달합니다.

  • 컬렉션 을 생성할 데이터베이스

  • 생성할 새 컬렉션의 이름

  • timeField 옵션을 지정하는 timeseries 객체

다음 예시 에서는 timeField 옵션이 "timestamp" 필드로 설정하다 상태에서 fall_weather 데이터베이스 에 october2024 이라는 이름의 time series 컬렉션 을 만듭니다.

// Initialize the MongoDB C Driver
mongoc_init ();
// Create a new client instance
mongoc_client_t *client = mongoc_client_new ("<connection string>");
// Get a handle on the database
mongoc_database_t *database = mongoc_client_get_database (client, "fall_weather");
// Create options for the time series collection
bson_t *opts = BCON_NEW (
"timeseries", "{",
"timeField", BCON_UTF8 ("timestamp"),
"}");
// Create the time series collection
bson_error_t error;
mongoc_collection_t *collection = mongoc_database_create_collection (database, "october2024", opts, &error);
if (!collection) {
fprintf(stderr, "Error creating collection: %s\n", error.message);
}
bson_destroy (opts);

time series 컬렉션 이 성공적으로 생성되었는지 확인하려면 fall_weather 데이터베이스 에서 mongoc_database_find_collections_with_opts() 함수를 실행 하고 결과를 출력합니다.

// List collections in the database
mongoc_cursor_t *cursor = mongoc_database_find_collections_with_opts (database, NULL);
const bson_t *doc;
while (mongoc_cursor_next (cursor, &doc))
{
char *str = bson_as_canonical_extended_json (doc, NULL);
printf ("%s\n", str);
bson_free (str);
}
// Check for cursor errors
if (mongoc_cursor_error (cursor, &error))
{
fprintf (stderr, "Cursor error: %s\n", error.message);
}
mongoc_cursor_destroy (cursor);
{ "name" : "october2024", "type" : "timeseries", "options" : { "timeseries" : { "timeField" : "timestamp", "granularity" : "seconds", "bucketMaxSpanSeconds" : { "$numberInt" : "3600" } } }, "info" : { "readOnly" : false } }
...

mongoc_collection_insert_one() 또는 mongoc_collection_insert_many() 함수를 사용하고 삽입된 각 문서 에 측정값, 타임스탬프 및 메타데이터 를 지정하여 time series 컬렉션 에 데이터를 삽입할 수 있습니다.

컬렉션 에 문서를 삽입하는 방법에 학습 보려면 문서 삽입 가이드 를 참조하세요.

다음 예시 october2024 에서는 Time Series 컬렉션 만들기 예시 에서 만든 Time Series time series 컬렉션 에 뉴욕시 온도 데이터를 삽입합니다. 각 문서 에는 다음 필드가 포함되어 있습니다.

  • temperature, 온도 측정값을 화씨 단위로 저장합니다.

  • location위치 메타데이터 를 저장합니다.

  • timestamp, 측정 컬렉션 의 시간을 저장합니다.

const bson_t *insert_doc = BCON_NEW (
"temperature", BCON_DOUBLE (70.0),
"location", "{", "city", BCON_UTF8 ("New York"), "}",
"timestamp", BCON_DATE_TIME (1633046400000));
if (!mongoc_collection_insert_one (collection, insert_doc, NULL, NULL, &error)) {
fprintf(stderr, "Error inserting document: %s\n", error.message);
}

다른 컬렉션에서 읽기 또는 집계 작업을 수행할 때 사용하는 것과 동일한 구문 및 규칙을 사용하여 time series 컬렉션 에 저장된 데이터를 쿼리 할 수 있습니다. 이러한 작업에 학습 보려면 추가 정보 섹션을 참조하세요.

이 가이드 에 언급된 개념에 학습 보려면 다음 MongoDB Server 매뉴얼 항목을 참조하세요.

읽기 작업 수행에 학습 보려면 MongoDB 에서 데이터 읽기를 참조하세요.

집계 작업 수행에 학습 보려면 애그리 게이션을 통한 데이터 변환 가이드 를 참조하세요.

이 가이드 에 언급된 함수에 학습 보려면 다음 API 문서를 참조하세요.

돌아가기

데이터베이스 & collection