Docs Menu
Docs Home
/
MongoDBマニュアル

時系列

項目一覧

  • 時系列コレクション
  • メリット
  • 動作
  • はじめる

時系列データとは、時間の経過に伴う変化を分析することでインサイトを得られるデータ ポイント列です。

通常、時系列データを構成するのは以下のコンポーネントです。

  • 時間: データ ポイントが記録されています。

  • メタデータ(ソースとも): シリーズを一意に識別するラベルやタグのこと。ほとんど変更されることはありません。

  • 測定値(メトリクスまたは値とも): 時間の経過とともに追跡されるデータ ポイントです。一般的に、時間とともに変化するキーと値のペアです。

次の表に、時系列データの例を示します。

測定値
Metadata
株価データ
株価
株式ティッカー、取引所
気象データ
温度
センサー識別子、ロケーション
ウェブサイトの訪問者
閲覧数
URL

時系列データ ストレージの効率化に向け、MongoDB では時系列コレクションを提供しています。

バージョン 5.0 で追加

時系列コレクションは時系列データを効率的にストアします。時系列コレクションでは、同じソースから収集されたデータが、ほぼ同じ時点のデータ ポイントと一緒にストアされるよう、書込みが整理されます。

MongoDB Atlas でホストされている配置向け に UI で時系列コレクションを 作成 できます。

時系列データを時系列コレクションに保存すると、通常のコレクションと比較して、クエリの効率が向上し、時系列データやセカンダリインデックスのディスク使用量が削減されます。

時系列コレクションは、基礎となる列指向ストレージ形式を使用して、自動作成されるクラスター化インデックスを使用して時間順にデータを保存します。 列指向ストレージ形式には、次のメリットがあります。

  • 時系列データの操作の簡素化

  • クエリ効率の向上

  • ディスク使用量の削減

  • 読み取り操作の I/O を削減

  • WiredTiger キャッシュの使用量増加

時系列コレクションは、通常のコレクションと同様に動作します。 通常どおり、データの挿入とクエリができます。

MongoDB では、時系列コレクションは、内部コレクションを基盤とした書込み可能な非マテリアライズド ビューとして扱われます。データを挿入すると、時系列データは内部コレクションにより最適化されたストレージ形式に自動的に整理されます。

時系列コレクションをクエリする場合、1 回の測定ごとに 1 つのドキュメントに対して操作します。 時系列コレクションに対するクエリでは、最適化された内部ストレージ形式を活用して、結果がより速く返されます。

Tip

クエリのパフォーマンスを高めるために、セカンダリ インデックスを測定フィールドまたは時系列コレクション内の任意のフィールドに手動で追加できます。

重要

下位互換性のない機能

以下のダウングレードを行う前に、時系列コレクションを削除する必要があります。

  • MongoDB 6.0 以降から MongoDB 5.0.7 またはそれ以前のバージョンへ

  • MongoDB 5.3 から MongoDB 5.0.5 以前のバージョンへ

警告

MongoDB サーバーがクラッシュするため、 system.profileという名前の時系列コレクションまたはビューを作成しないでください。

時系列コレクションを作成すると、MongoDB は時間フィールドに内部クラスターインデックスを自動的に作成します。 このインデックスにより、クエリの効率が向上し、ディスク使用量が削減されます。 クラスター化インデックスのパフォーマンス上の利点の詳細については、「クラスター化されたコレクション 」を参照してください。

listIndexesを実行すると、内部インデックスはリストされません。

注意

1970-01-01T00:00:00.000Zの前または2038-01-19T03:14:07.000Zの後にtimeField値を持つドキュメントをコレクションに挿入すると、MongoDB は警告をログに記録し、一部のクエリ最適化で内部インデックスを使用できなくなります。 クエリ パフォーマンスを回復し、ログ警告を解決するには、 timeFieldセカンダリ インデックスを作成します。

時系列コレクションを初めて使用する場合は、「時系列コレクションの作成とクエリ」を参照してください。

戻る

参照