今はGoogleのクラウドストレージ(GCS)に〜300Gbの画像を保存しています。 Google Compute Engine(GCE)仮想マシン(VM)で動作するソフトウェアがあり、これらの画像をすべて読み込んで順次処理する必要があります。これらの画像は、メモリにロードする必要はなく、プログラムへの入力としてストリーミングすることができます。私はこれを行う効率的な方法を見つけるのに苦労しています。グーグルクラウドストレージからデータにアクセスし、GoogleクラウドVM上で実行するソフトウェアにストリームする最も速い方法はどれですか?
私は試しました:
1)GCSfuse。 GCSfuseを使用すると、VM上にgcsバケットをマウントして、データに直接アクセスできます。これは最初は理想的だったようですが、I/Oは非常に遅いです。
2)GSutil。これにより、 "gsutil cp gs://my-gcs-bucket/training_data/*.jpg - |"を使って私のプログラムにデータを流すことができます。これはGCSfuseよりはるかに優れていますが、まだかなり遅いです。
私は2つの主な質問があると思います。 1)GCSバケットに格納されたデータにアクセスし、GCE VM上のスクリプトへの入力としてストリームする最速の方法は何ですか?私はこれを毎日1回行う必要がありますが、需要は時間とともに増加する可能性があります。 2)これを行うためのすばやく巧妙な方法がない場合は、ストレージのどのような選択肢がありますか?別のGoogleクラウド製品を使用する必要がありますか?私はすべてのデータをVMに直接ロードする必要がないようにしたい。
ありがとうございます!