3.4.4. インターネットストレージ内ファイルの効率的な検索

3.4.4.1. Overview

インターネットストレージは、インターネットを介しての様々なファイルの登録と取得をどこからでも行える利便性をアプリケーション開発者に提供する。
しかしその反面、インターネット経由でアクセスすることによる応答性能の低下や、データベースのような高度な検索機能が用意されていない点など、アプリケーション開発者側の実装による解決が必要な問題がある。
本ガイドラインでは、インターネットストレージ上のファイルを高度な検索機能により効率的に検索するための処理方式について説明する。

3.4.4.1.1. 処理方式概要

インターネットストレージ上から目的のファイルを取得する際に、ファイル名を指定した検索など簡易的な絞込みには対応しているが、ファイルサイズや作成日、作成者などのメタデータを指定するような複雑な検索に対応していないことが多い。(特定の日に登録されたファイルをファイルサイズの大きい順に取得したい、など)
こういった検索性能の低さを補うため、検索性能の高いKVSなどをインターネットストレージと併用する処理方式を実装する。
まずインターネットストレージへファイルを登録するタイミングで、後にファイルを検索する条件として利用するための検索用情報(ファイルサイズ、作成日、作成者など)とファイルのキー情報をKVSに登録するアプリケーションを実行する。
その後のインターネットストレージからファイルを取得するタイミングでは、検索アプリケーションがKVSを利用して検索条件に一致するファイルを特定しキー情報を提供することにより、複雑な検索条件によるファイルの絞込みに対応することができる。
Screen image of storage file search overview.
項番 説明
(1)
ファイルを登録したいユーザは、インターネットストレージにファイルを登録する。
(2)
インターネットストレージの更新をトリガに登録アプリケーションを実行する。
(3)
登録アプリケーションは、登録ファイルの情報を検索用情報としてKVSに登録する。(同時にファイルのキー情報も登録する。)
(4)
ファイルを取得したいユーザは、検索アプリケーションを介してKVSから検索条件に合致するファイルを特定し、ファイルのキー情報を取得する。
(5)
ファイルを取得したいユーザは、ファイルのキー情報を指定してインターネットストレージからファイルを取得する。

Note

上記はファイル登録時のフローとなるがファイル削除の場合も同様で、登録アプリケーションがKVSから検索用情報を削除することにより検索アプリケーションから検索されなくなる。

Note

検索アプリケーションによる検索結果は検索実行時点のKVSの断面となるため、検索結果取得後にインターネットストレージが更新された場合は取得した情報が最新ではなくなる。 このため例えばダウンロード対象のファイルが既に削除されていたり、ダウンロードしたファイルのファイルサイズや作成者が異なる等の事象が発生し得ることに注意されたい。

3.4.4.2. How to use

3.4.4.2.1. クラウドベンダの利用

クラウドベンダ提供の環境を利用する場合のガイドラインについて記載箇所を示しておく。

3.4.4.2.1.1. Amazon Web Service

クラウドベンダとしてAWSを使用する場合のインターネットストレージ内ファイルの効率的な検索については、 インターネットストレージ内ファイルの効率的な検索 を参照されたい。