【AWS Timestream徹底比較】LiveAnalytics vs InfluxDB 2 vs InfluxDB 3——時系列DBを選ぶ前に知りたい違い

【AWS Timestream徹底比較】LiveAnalytics vs InfluxDB 2 vs InfluxDB 3——時系列DBを選ぶ前に知りたい違い

目次

    はじめに

    デジタルイノベーション部の謝超倫です。

    IoTデータや監視メトリクスの蓄積先として時系列データベースを検討しているとき、AWSのマネージドサービスとして Amazon Timestream に行き着く方は多いと思います。しかし実際に調べてみると、同じ「Timestream」という名前でも複数のサービスが存在していて、どれを選べばよいか迷ってしまいます。

    この記事は以下のような方を対象にしています。

    • AWSで時系列データを扱うシステムを設計・検討中のエンジニア
    • InfluxDBをオンプレで使っていてマネージドへの移行を考えている方
    • LiveAnalytics / InfluxDB 2 / InfluxDB 3 の違いが分からない方

    記事を読み終えると、3つのサービスの特徴と差異が整理でき、自分のユースケースに合ったサービスを選定するためのヒントが得られます。

    コンソール画面から見たTimestreamDB InfluxDB 2とInfluxDB 3は作成時選べる

    比較対象となるサービスの概要


    Amazon Timestream for LiveAnalytics

    項目 内容
    提供会社 Amazon Web Services
    費用 書き込み・クエリ・ストレージの従量課金
    クエリ言語 SQL互換の独自クエリ言語
    対象用途 リアルタイム分析・大規模IoTデータの高速クエリ

    AWSが独自に開発したフルマネージドの時系列データベースです。データを「メモリストア(最新データ)」と「マグネティックストア(長期保存)」に自動的に階層化して管理する点が大きな特徴です[1]。サーバーレスのため、インフラ管理が不要で、スケーリングも自動です。

    注意:Amazon Timestream for LiveAnalytics は新規リソースの作成が終了しています。既存リソースは引き続き利用可能ですが、新規プロジェクトでの採用は推奨されません。

    主な対象ユーザー:既存リソースを継続運用中のチーム

    AWSのサービスコンソール画面からスナックバーを表示している



    Amazon Timestream for InfluxDB 2

    項目 内容
    提供会社 Amazon Web Services(InfluxDataのOSSをホスト)
    費用 インスタンスタイプ+ストレージの時間課金
    クエリ言語 Flux / InfluxQL
    対象用途 InfluxDB 2との互換性が必要なシステム、既存移行

    InfluxData社が開発した InfluxDB 2.x をAWSがマネージドサービスとして提供するものです[2]。InfluxDB 2はFluxというスクリプト言語を採用しており、データの変換・集計・アラートを一つの言語で表現できます[3]。EC2インスタンスベースで動作し、常時起動コストが発生します。

    主な対象ユーザー:既存のInfluxDB 2環境をクラウドに移行したいチーム、Fluxに習熟しているチーム



    Amazon Timestream for InfluxDB 3

    項目 内容
    提供会社 Amazon Web Services(InfluxDB 3コアをホスト)
    費用 インスタンスタイプ+ストレージの時間課金
    クエリ言語 SQL / InfluxQL
    対象用途 大規模データの高速クエリ、新規構築・パフォーマンス重視

    InfluxDB 3はApache Arrow / DataFusionをベースに書き直された次世代エンジンです[4]。Fluxを廃止し、標準SQLとInfluxQLをサポートすることで学習コストを大幅に下げています[5]。列指向ストレージによりクエリ性能がInfluxDB 2と比べて大幅に向上しています[4]

    主な対象ユーザー:新規で時系列DBを導入するチーム、SQLの資産を活用したいチーム、高いクエリ性能が求められる環境

    比較ポイントと評価軸

    比較する観点

    時系列DBの選定では以下の観点が特に重要です。

    1. クエリ言語:既存スキルや連携ツールとの相性に直結する
    2. パフォーマンス:データ量・クエリ頻度によってボトルネックが変わる
    3. コスト構造:従量課金かインスタンス課金かで総コストが大きく変わる
    4. AWSサービスとの連携:Kinesis / Lambda / Grafana等との統合容易さ
    5. 運用負荷:サーバーレスか常時起動かで管理コストが異なる
    6. CDK対応状況:IaCで構築する場合のL1/L2コンストラクトの有無


    比較表

    比較項目 LiveAnalytics InfluxDB 2 InfluxDB 3
    新規作成 不可(終了)
    クエリ言語 SQL互換 Flux / InfluxQL SQL / InfluxQL
    コスト構造 完全従量課金 インスタンス課金 インスタンス課金
    スケーリング 自動(サーバーレス) 手動(インスタンス変更) 手動(インスタンス変更)
    クエリ性能 高い(大規模向け) 中程度 高い(列指向)
    AWS連携 ネイティブ 標準API経由 標準API経由
    Flux対応 なし あり なし[5]
    SQL対応 あり 限定的 あり
    学習コスト 低(SQL知識で可) 中(Flux習得が必要) 低(SQL知識で可)
    AWS CDK対応 あり[6] あり[7] なし(未対応)


    各サービスの強み・弱み

    LiveAnalytics

    • 強み:インフラ管理ゼロ、AWSサービスとの統合が最もスムーズ、自動スケーリング
    • 弱み:新規リソースの作成が終了済みのため、新規採用は不可。既存利用者のみ継続運用が可能
    • 向いている規模:既存リソースの継続運用のみ

    InfluxDB 2

    • 強み:Fluxによる柔軟なデータ変換[3]、既存InfluxDB 2環境との互換性
    • 弱み:Fluxは独自言語のため学習コストが高い、InfluxDB 3へのパスを考えると将来性がやや不透明
    • 向いている規模:中規模・既存移行案件

    InfluxDB 3

    • 強み:標準SQL対応でエントリーコスト低、高速な列指向クエリ[4]、OSSとの互換性
    • 弱み:Flux非対応のため InfluxDB 2 からの移行はクエリ書き直しが必要[5]
    • 向いている規模:中〜大規模・新規構築


    CDKでの構築対応状況

    3サービスのうち CDK(CloudFormation)で管理できるのはLiveAnalyticsとInfluxDB 2のみ です。InfluxDB 3はCDK未対応のため、マネジメントコンソールやCLIでの構築が必要になります。

    InfluxDB 3はCDKのサポートはしていません。[8] 202606_influxDB3CDK未対応

    Timestream for LiveAnalytics

    aws-cdk-lib/aws-timestreamCfnDatabase / CfnTable を使います[6]

    import { aws_timestream as timestream } from 'aws-cdk-lib';
    
    const db = new timestream.CfnDatabase(this, 'TsDatabase', {
      databaseName: 'my-ts-db',
    });
    
    new timestream.CfnTable(this, 'TsTable', {
      databaseName: db.ref,
      tableName: 'metrics',
      retentionProperties: {
        memoryStoreRetentionPeriodInHours: '24',
        magneticStoreRetentionPeriodInDays: '365',
      },
    });
    

    Timestream for InfluxDB 2

    aws-cdk-lib/aws-timestreamCfnDbInstance を使います[7]

    import { aws_timestream as timestream } from 'aws-cdk-lib';
    
    new timestream.CfnDbInstance(this, 'InfluxDB2Instance', {
      dbInstanceType: 'db.influx.medium',
      dbStorageType: 'InfluxIOIncludedT1',
      allocatedStorage: 20,
      dbInstanceIdentifier: 'my-influxdb2',
      username: 'admin',
      password: 'ChangeMe123!',
      organization: 'my-org',
      bucket: 'my-bucket',
      vpcSubnetIds: ['subnet-xxxxxxxx'],
      vpcSecurityGroupIds: ['sg-xxxxxxxx'],
      publiclyAccessible: false,
    });
    

    InfluxDB 3(CDK未対応)

    InfluxDB 3はCDKコンストラクトが提供されていないため、マネジメントコンソールまたはAWS CLIでのみ作成できます。CDKによる統一管理を優先する場合は InfluxDB 2 を選択してください。

    用途・ニーズ別のおすすめ


    AWSネイティブ構成でインフラ管理を省きたい

    → LiveAnalyticsは新規作成が終了しているため選択不可です。新規構築の場合は InfluxDB 2またはInfluxDB 3 を選択してください。


    既存のInfluxDB 2環境をそのままクラウドへ移したい

    Timestream for InfluxDB 2 を選択。Fluxクエリや既存のTelegraf設定をそのまま利用できます。


    これから新規で時系列DBを導入する、またはSQLで統一したい

    Timestream for InfluxDB 3 を選択。標準SQLが使えるため他のデータ基盤とのスキル共有が容易で、クエリ性能も高いです。

    まとめと選び方のヒント

    ユースケース おすすめ
    LiveAnalyticsの既存リソース継続運用 LiveAnalytics(新規作成不可・既存のみ)
    InfluxDB 2からの移行・Flux継続利用 InfluxDB 2
    新規導入・SQL統一・高クエリ性能 InfluxDB 3
    CDKで統一管理したい InfluxDB 2

    LiveAnalyticsは新規作成が終了しているため、新規プロジェクトでは選択肢から除外してください。

    迷ったときは以下の問いで絞り込んでみてください。

    1. 既存のLiveAnalyticsリソースを継続運用するか? → Yes ならそのまま継続、No(新規)なら InfluxDB 2 か 3 へ
    2. 既存のInfluxDB 2資産(Flux、Telegraf設定)があるか? → ある場合は InfluxDB 2
    3. 新規導入でSQLを使いたいか? → InfluxDB 3

    最終的には、小規模な検証環境を立ち上げてコストとクエリ感を実際に体験するのが最も確実な選定方法です。

    参考・引用

    1 AWS公式ドキュメント — Amazon Timestream for LiveAnalytics の概要(ストレージ階層化)

    2 AWS公式ドキュメント — Amazon Timestream for InfluxDB とは

    3 InfluxData公式ドキュメント — Flux language overview

    4 InfluxData公式ブログ — InfluxDB 3 Core & Enterprise GA: The Next Generation Time Series Platform for Developers is Here

    5 InfluxData公式ドキュメント — InfluxDB 3 query languages

    6 AWS CDK APIリファレンス — aws-cdk-lib.aws_timestream.CfnDatabase

    7 AWS CDK APIリファレンス — aws-cdk-lib.aws_timestream.CfnDbInstance

    8 Github aws-cdk — (aws-timestream): InfluxDb v3 not supported #35808

    アジアクエスト株式会社では一緒に働いていただける方を募集しています。
    興味のある方は以下のURLを御覧ください。