すべてのプロダクト
Search
ドキュメントセンター

Tablestore:Lastpoint インデックスの取得

最終更新日:Apr 30, 2026

Lastpoint インデックスに多次元インデックスを追加すると、最新の時系列データに対して多次元フィルター、ジオクエリ、集約などのクエリを実行できます。これらのクエリは、Lastpoint インデックス単体では実行できません。

なぜ Lastpoint インデックスで検索インデックスを使用するのか

Lastpoint インデックスには、各時系列の最新データポイントのみが格納されます。たとえば、車両インターネット (IoV) シナリオでは、Lastpoint インデックスには車両ごとに 1 行のデータ(最新の GPS 座標、速度、ステータス、走行距離)が含まれます。

次の表は、車両フリートの Lastpoint インデックスのサンプルデータを示しています。

_#h

_m_name

_data_source

_tags

_time

gps

speed

status

total_mileage

remaining_mileage

4c#PlatformA#07

Platform A

sensor1

["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"]

1730423400000000

30.245853,120.178564

0

Idle

20000

450

25#PlatformA#ae

Platform A

sensor2

["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"]

1730779800000000

30.245853,120.213654

80

Active

15050

250

b2#PlatformB#4b

Platform B

sensor3

["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"]

1730862600000000

30.246022,120.124460

0

Idle

18230

270

多次元インデックスがない場合、プライマリキー (_#h) でのみ行を取得できます。「残り走行距離が 300 km を超えており、現在アイドル状態の車両はどれか」といった質問に答えるには、すべての行をスキャンし、アプリケーション層でフィルター処理を行う必要があります。この方法は、大規模なデータでは遅く、コストがかかります。

Lastpoint インデックス上に構築された多次元インデックスは、転置インデックスおよび列のストアをサポートしており、以下の機能を実現します。

  • プライマリキー以外によるクエリ — 車両ステータスや残り走行距離など、任意の属性列でフィルター処理可能

  • ブール値、あいまい、全文検索クエリ — AND、OR、NOT 演算子を使用して条件を組み合わせ可能

  • ジオクエリ — 地理的エリア内のレコードを検索可能

  • k 最近傍 (KNN) ベクトルクエリ — ベクトルフィールドに対する類似検索が可能

  • 集約 — 最新データポイント全体で最大値、最小値、件数、グループ別統計などを計算可能

    説明

    このトピックでは、検索インデックスを使用して Lastpoint インデックスを取得するサンプルシナリオを提供します。詳細については、「付録: サンプルシナリオ」をご参照ください。検索インデックスの機能について詳しく知りたい場合は、「検索インデックス」をご参照ください。

前提条件

作業を開始する前に、以下の条件を満たしていることを確認してください。

時系列テーブルに対して Lastpoint インデックスが作成されていること。詳細については、「LastPoint インデックスの作成」をご参照ください。

多次元インデックスの管理とデータのクエリ

[時系列テーブルの管理] ページの [LastPoint インデックス] セクションで、検索インデックスを管理し、データのクエリを実行します。

検索インデックスの作成

  1. インスタンス管理 ページに移動します。

    1. Tablestore コンソール にログインします。

    2. 上部のナビゲーションバーで、リソースグループとリージョンを選択します。

    3. 概要 ページで、インスタンス名をクリックするか、操作 列の インスタンスの管理 をクリックします。

  2. 時系列テーブルの管理 ページに移動します。

    1. インスタンス管理 ページで、時系列テーブル タブをクリックします。

    2. 時系列テーブル タブで、時系列テーブル名をクリックするか、操作 列の データの管理 をクリックします。

  3. Lastpoint インデックスの検索インデックスを作成します。

    1. [LastPoint インデックス] セクションの [基本情報] タブで、Lastpoint インデックスの [検索インデックス] 列にある [検索インデックスの作成] をクリックします。

    2. [検索インデックスの作成]」ダイアログボックスで、検索インデックスのパラメーターを設定します。

      image

      1. デフォルトのインデックス名をそのまま使用するか、必要に応じて名前を入力します。

      2. スキーマ生成方法を選択します。

        重要

        フィールド名 および フィールドタイプ は、Lastpoint インデックス内のフィールド名およびタイプと一致している必要があります。Lastpoint インデックスと多次元インデックスのフィールドタイプの対応関係については、「データタイプ」をご参照ください。

        • スキーマ生成タイプ手動 に設定した場合、フィールド名を入力し、フィールドタイプを選択して、配列 を有効にするかどうかを指定します。

        • スキーマ生成タイプ自動生成 に設定した場合、システムは Lastpoint インデックスのフィールドをインデックスフィールドとして使用します。必要に応じてフィールドタイプを選択し、配列 を有効にするかどうかを指定します。

        説明

        仮想カラムを使用すると、テーブルスキーマを変更せずにテーブルのカラムを多次元インデックス内の 1 つ以上の仮想カラムにマッピングできます。仮想カラムを使用して、クエリを高速化したり、異なる形態素解析方法を適用したりできます。詳細については、「仮想カラム」をご参照ください。

      3. 生存時間 (TTL)、ルートキー、事前ソートの設定を構成するには、詳細設定 をオンにします。次の表にパラメーターの説明を示します。

        パラメーター

        説明

        ルートキー

        データ分布を制御するために使用されるルートフィールドです。1 つ以上のプライマリキーカラムを選択します。同じルートフィールド値を持つレコードは、同じデータパーティションに配置されます。通常、1 つのルートフィールドで十分です。複数のフィールドを指定する場合、その値は連結されてパーティションキーが形成されます。

        生存時間

        多次元インデックス内のデータの保存期間です。単位:秒。デフォルト値:-1(データは期限切れになりません)。

        TTL は、86,400 秒(1 日)以上または -1 である必要があります。Tablestore は、TTL を超過したデータを自動的に削除します。

        事前ソート

        返されるデータのデフォルトのソート順です。有効値:デフォルト(プライマリキーでソート)および カスタム(指定したフィールドでソート)。

        重要

        Nested フィールドを含む多次元インデックスは、事前ソートをサポートしていません。

      4. OK をクリックします。

多次元インデックスを使用したデータのクエリ

  1. 基本情報 タブの LastPoint インデックス セクションで、Lastpoint インデックスの 多次元インデックス 列にある データの管理 をクリックします。

  2. 検索 ダイアログボックスで、データをクエリします。

    1. デフォルトでは、システムはすべてのカラムを返します。特定の属性列を返すには、返却カラム パラメーターの すべてのカラム をオフにして、必要な属性列を入力します。複数のカラムを指定する場合は、カンマ (,) で区切ります。

      説明

      Lastpoint インデックスのすべてのプライマリキーカラムは常に返されます。

    2. 論理演算子を選択します:AndOr、または Not

      [And] は、すべての条件を満たす行を返します。[Or] は単一の条件の場合、その条件を満たす行を返します。複数の条件の場合、[Or] はいずれかの条件を満たす行を返します。[Not] は、指定された条件を満たさない行を返します。

    3. インデックスフィールドを選択し、追加 をクリックして、クエリタイプ および パラメーターを設定します。

      説明

      フィールドに複数の値を指定するには、同じフィールドに対して再度 追加 をクリックし、別の を設定します。

    4. デフォルトではソートは無効になっています。結果を特定のフィールドでソートするには、ソート をオンにして、ソートフィールドを追加し、ソート順を設定します。

    5. デフォルトでは統計情報の収集は無効になっています。フィールドの統計情報を収集するには、統計情報の収集 をオンにして、フィールドを追加し、統計設定を構成します。

    6. はい をクリックします。

      クエリ結果および統計情報は、基本情報 タブの LastPoint インデックス セクションに表示されます。

検索インデックスの管理

次の表では、検索インデックスに対して実行できる操作について説明します。

操作

説明

検索インデックスの詳細を表示

検索インデックスの基本情報、課金情報、ルーティングキー、インデックスフィールド、事前ソートの詳細を表示するには、次の手順を実行します。

  1. 時系列テーブルの管理 ページで、基本情報 タブをクリックします。

  2. LastPoint インデックス セクションで、Lastpoint インデックスの 検索インデックス 列にある インデックスの詳細 をクリックします。

  3. インデックスの詳細 パネルで、インデックス情報を確認します。

検索インデックスの削除

検索インデックスが不要になった場合は、削除してください。

  1. 時系列テーブルの管理 ページで、基本情報 タブをクリックします。

  2. LastPoint インデックス セクションで、Lastpoint インデックスの 検索インデックス 列にある 削除 をクリックします。

  3. 検索インデックスの削除 ダイアログボックスで、インデックス情報を確認し、OK をクリックします。

SDK 統合

次の Tablestore SDK を使用して、Lastpoint インデックス上の多次元インデックスを操作できます。

課金

  • Lastpoint インデックスの作成は無料です。Lastpoint インデックスデータのストレージおよび読み取り操作には課金されます。詳細については、「TimeSeries モデルの課金項目」をご参照ください。

  • 検索インデックスを介して Lastpoint インデックスをクエリ実行すると、検索インデックスの料金が発生します。詳細については、「検索インデックスの課金対象項目」をご参照ください。

よくある質問

付録:サンプルシナリオ

車両インターネット (IoV) シナリオでは、車両センサーが時系列データをクラウドに送信します。アプリケーションは、このデータを保存・クエリ・分析し、車両ステータスのモニタリング、フリートの位置把握、軌跡表示などのユースケースに活用します。

次の表は、時系列テーブル内のサンプルデータを示しています。

説明

この例では、_m_name_data_source、および _tags は時系列識別子であり、それぞれメジャー名、データソース、タグ情報を指定します。_time はデータ送信タイムスタンプです。gpsspeedstatustotal_mileage、および remaining_mileage は時系列データフィールドであり、それぞれ GPS 座標、速度、車両ステータス、総走行距離、残り走行距離を指定します。

_m_name

_data_source

_tags

_time

gps

speed

status

total_mileage

remaining_mileage

Platform A

sensor1

["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"]

1730422800000000

30.245853,120.178564

0

Idle

20000

450

Platform A

sensor1

["region=hangzhou","car_model=sedan","number_plate=ZheA D7512*","color=white"]

1730423400000000

30.245853,120.178564

0

Idle

20000

450

Platform A

sensor2

["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"]

1730779200000000

30.245278,120.150269

50

Active

15000

300

Platform A

sensor2

["region=hangzhou","car_model=suv","number_plate=ZheC 72B2*","color=black"]

1730779800000000

30.245853,120.213654

80

Active

15050

250

Platform B

sensor3

["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"]

1730862000000000

30.246013,120.124470

60

Active

18200

300

Platform B

sensor3

["region=hangzhou","car_model=sedan","number_plate=ZheB 121*9","color=blue"]

1730862600000000

30.246022,120.124460

0

Idle

18230

270

Tablestore は、各時系列の最新データポイントを自動的に Lastpoint インデックスに同期します。その結果得られる Lastpoint インデックスのデータは、前のセクションの表に示されています。

次のクエリ要件に基づき、Lastpoint インデックス上に多次元インデックスを作成し、その完全なクエリ機能を利用します。

  • 現在アイドル状態で、残り走行距離が 300 km を超える車両を検索する。

  • 指定された地理的エリア内の車両を検索する。

  • 現在アクティブな車両の中で、最大速度を検索する。

  1. 次のフィールドを持つ多次元インデックスを作成します:gpsspeedstatus、および remaining_mileage

  2. 多次元インデックスを使用してデータをクエリします。次の表は、各要件とその実装方法の対応関係を示しています。

クエリ要件

実装方法

現在アイドル状態で、残り走行距離が 300 km を超える車両を検索する

status フィールドに対して完全一致検索(値:"Idle")を実行し、remaining_mileage フィールドに対して範囲クエリ(値 > 300)を組み合わせます。

指定された地理的エリア内の車両を検索する

gps フィールドに対してジオクエリを実行し、対象座標内の行を返します。

現在アクティブな車両の中で、最大速度を検索する

status フィールドに対して一致検索(値:"Active")を実行し、speed フィールドに対して最大値集約を実行します。