🛠Tools🔥🔥

AWS、推論サーバー Amazon SageMaker Feature Store に一括書き込み・列挙 API を追加──複数フィーチャグループへ最大 25 件を同時送信

Amazon SageMaker Feature Store が BatchWriteRecord と ListRecords を発表し、ループ処理によるオーバーヘッド削減とインメモリ層のレコード探索を可能にした。
リリース: 2026-08-28 · 読了 3

記事の要約

1. 核心(What)

  • BatchWriteRecord API により、1 回のリクエストで最大 25 件のレコードを複数フィーチャグループへ同時に書き込める。
  • ListRecords API により、標準(DynamoDB)およびインメモリ(Redis)の各ストレージ層でレコード識別子のページネーション列挙が可能になった。
  • BatchWriteRecord は部分成功セマンティクスを採用し、エラーとなった個別レコードのみをエラーレスポンスとして返却する。
  • TTL(Time-to-Live)の優先順位としてレコードレベル、リクエストレベル、フィーチャグループレベルの 3 階層をサポートする。

2. 影響(Why)

  • API 呼び出しループの解消: 従来の PutRecord では 1 レコードごとに 1 回の呼び出しが必要だったため、高スループット環境で接続オーバーヘッドと遅延が発生していたが、一括処理でスケーラビリティが改善する。
  • インメモリ層の可観測性向上: オフラインストアを持たない Redis バックエンドのインメモリ層において、バグ等で識別子を失ったレコードが永久に回復不能だった致命的な制約が ListRecords によって解消される。

3. 根拠・詳細(How)

  • BatchWriteRecord の処理機構: Boto3 または SageMaker Python SDK v3.8.0 以降を使用し、EventTime ベースの順序付けを維持しながら、失敗したエントリのみを Errors および UnprocessedEntries として返却する。
  • ListRecords のスキャン仕様: ストレージ層に応じて、DynamoDB からは最新バージョンの識別子を、Redis からはソフトデリートやシステムキーを除外して抽出する。

4. 展望・課題(Next)

  • SDK のバージョン要件: 利用には Boto3 の最新バージョンまたは SageMaker Python SDK v3.8.0 以降へのアップデートが必要となる。