Amazon Omics Storage と S3 でゲノムデータを保存する場合のコストを比較してみた
ゲノムデータを保存するなら結局のところ Omics Storage と S3 どっちが安いのか?気になったので確認しました。
確認結果
以下の条件で試算すると Omics Storage の方が3分の1のコストでゲノムデータを保存できました。とくに Omics Storage が有利になる条件を想定したわけではないです。
- 保存するデータは10TB(≒ 合計12Tb換算)
- 頻繁にアクセスするデータは全体の30%(3TB ≒ 3.6Tb換算)
- 30日以上アクセスされないデータは全体の10%(1TB ≒ 1.2Tb換算)
- 90日以上アクセスされないデータは全体の60%(6TB ≒ 7.2Tb換算)
- ストレージからデータの取り出す頻度は月間3,000回
- Omics Storage は一時保存用の S3 を利用
- 月間平均100GBのデータ保存
- Omics Storage からデータを取り出す頻度(3,000回)
Omics Storage | S3 | |
---|---|---|
保存コスト | $30.51 | $103.1 |
データ取り出しコスト | $0.0027 | $0 |
月額合計 | $32.9 | $103.1 |
S3 と Omics Storage では単価の単位の違いがあるため 1TB ≒ 1.2Tb 換算で試算しています。FASTQ
,BAM
,CRAM
のファイル数が多いと想定しています。
Omics Storage の料金体系
最新情報は以下の公式サイトをご確認ください。本記事では2023年1月20日時点のバージニア北部(us-east-1
)の料金を元に解説します。
ゲノムデータ分析 - Amazon Omics の料金表 - Amazon Web Services
現在 Amazon Omics は日本(ap-northeast-1
)には未提供のサービスです。
特徴的な課金単位
課金対象の単位がbp(base pair)となっており、塩基対の数に対して課金される他に例を見ないストレージとなっています。
塩基対数で課金されるメリットはユーザー側が圧縮形式、圧縮レベルを気にしなくて済みます。
滅多に使わないデータを長期保存するなら tar で固めてから全力で圧縮してサイズ小さくした方がいいかな?と悩まなくて済みます。実際にやるのも手間ですしね、Omics Storage ならファイルサイズで保存コストは変わらないので。とはいえ、Omics Storage に保存できるデータフォマーマットには制限がありFASTA
,FASTQ(要 gzip 圧縮)
,BAM
,CRAM
形式に限られています。FASTA を除けば圧縮レベルの違いあれど圧縮済みであることが前提となっています。
bp を byte 換算すると?
base pair 換算だと何が嬉しいのかヒトゲノムを例に確認してみます。
FASTA ファイル
ヒトのリファレンスゲノムを確認します。ファイルサイズは約3.25GB
でした。
$ ls -l Homo_sapiens_assembly38.fasta -rw-r--r-- 1 ohmura.yasutaka staff 3249912778 11 7 2018 Homo_sapiens_assembly38.fasta
seqstatus
で base pair 数を確認すると約3.22Gb
でした。FASTA ファイルは概ねファイルサイズと変わりはありません。ヒトゲノムは約30億塩基対とよく聞きますがはじめてまじめに確認する機会となりました。
$ ./seqstats Homo_sapiens_assembly38.fasta Total n: 3366 Total seq: 3217346917 bp Avg. seq: 955836.87 bp Median seq: 2379.00 bp N 50: 145138636 bp Min seq: 970 bp Max seq: 248956422 bp
FASTQ ファイル
とある日本人女性の末梢静脈の血液のリード配列を確認します。ファイルサイズは154MB
でした。
$ ls -l ERR244202_1.fastq.gz -rw-r--r-- 1 ohmura.yasutaka staff 154255444 1 18 16:00 ERR244202_1.fastq.gz
base pair 数は165Mb
でした。圧縮されたデータであればファイルサイズ換算の方が小さいことになります。
$ ./seqstats ERR244202_1.fastq.gz Total n: 1653541 Total seq: 165354100 bp Avg. seq: 100.00 bp Median seq: 100.00 bp N 50: 100 bp Min seq: 100 bp Max seq: 100 bp
大切なことなのでもう一度 Omics Storage の課金対象はbase pairです。Omics Storage はゲノムデータ保存専用設計のストレージですのでコストを確認してみます。
2階層の構造を持つストレージ
Omics Storage はActive
とArchive
階層という構造を持つストレージになっています。いつでも引き出せる状態のデータはActive
にあり、30日間アクセスがなければ自動的にArchive
へ移されます。
Inventory icons created by Freepik - Flaticon
Archive
に移動されたデータはすぐにアクセスできずActive
化するコマンドを発行する必要があります。Active
化に要する時間についてはドキュメントに記述がなくかつ、直接Archive
へデータを保存することができないため手元で検証ができていません。30日後には検証できるようになるため追って情報を共有したいと思います。
Archive
に移動されたデータはActive
に比べると8割引きになります。50TB 以上保存すると単価が安くなるようなボリュームディスカウントは Omics Storage には用意されていません。とてもシンプル料金体系で提供されています。
S3 と料金比較
課金単位が Gb と GB で違うため単純比較はできないですが、FASTA ファイルであれば同等で、FASTQ ファイルであれば base pair はファイルサイズの1.1倍程度でした。Omics Storage で利用される bp 単価の方が数値としては多少大きくなることが予想されます。
S3 は Omics Storage と同様の階層構造を持つ S3 Inteligent-Tiering と機能的に近い単価層を比較(青い矢印)してみました。
機能面で近しい層を比較すると Omics Storage の保存コストは安価に設定されていることがわかります。
アクセス速度は Omics Storage のActive
も S3 のFrequent Access Tier
(アクセス頻度の高いオブジェクトストレージ)もミリ秒単位のアクセスとなっています。ですが...
- Genomic Data Analysis - Amazon Omics Pricing - Amazon Web Services
- Amazon S3 ストレージクラスを使用する - Amazon Simple Storage Service
Omics Storage へのアクセス方法
S3 の様に大容量ストレージとして Omics Storage の利用を考えた場合、データを保存またはデータを取り出すとき必ず S3 バケットを経由しないといけません。
Omics Storage へ直接アップロード、ダウロードはできないです。S3 に直接保存と比べるとデータアクセスするために一手間発生します。
Inventory icons created by Freepik - Flaticon
Omics Storage へのデータ保存方法は以下の記事も参考にしてください。
料金シミュレーション
10TB ≒ 合計12Tb と仮定してゲノムデータを保存コストを試算します。以下の条件で Omics Storageに保存した場合と、S3に保存した場合で比較します。
- 頻繁にアクセスするデータは全体の30%
- 30日以上アクセスされないデータは全体の10%
- 90日以上アクセスされないデータは全体の60%
- ストレージからデータの取り出す頻度は月間3,000回
Omics Storage
Omics階層 | 料金 | 備考 |
---|---|---|
アクティブ | $20.8 | 3.6Tb |
アーカイブ | $9.7 | 8.4Tb |
データ取り出し | $0.0015 | 3000回のGetリクエスト |
月額合計 | $30.51 |
S3 Inteligent-Tier
S3 INT階層 | 料金 | 備考 |
---|---|---|
高頻度アクセスティア | $69 | 3TB |
低頻度アクセスティア | $12.5 | 1TB |
アーカイブアクセスティア | $21.6 | 6TB |
データ取り出し | $0 | 3000回のGetリクエスト |
月額合計 | $103.1 |
本来 S3 Inteligent-Tier は階層移動するかどうかのチェックのために保存されているオブジェクト数に対してチェックコストがかかります。保存コストだけでも3倍近い開きがあったので厳密に計算はしませんでした。
Omics Storage では S3 バケットを経由する都合、一時的にゲノムデータを保存する想定で S3 バケットの料金を試算しました。S3 の標準ストレージになんやかんやデータを置き忘れてしまうことを想定して月間平均で 100GB 保存すると仮定しました。3,000回のデータ取り出しリクエストを含めてもコストは微々たるものでした。
S3 一時利用 | 料金 | 備考 |
---|---|---|
S3 標準 | $2.3 | 100GB保存 |
データ取り出し | $0.0012 | 3000回のGetリクエスト |
計算結果比較
- 保存するデータは10TB(≒ 合計12Tb換算)
- 頻繁にアクセスするデータは全体の30%(3TB ≒ 3.6Tb換算)
- 30日以上アクセスされないデータは全体の10%(1TB ≒ 1.2Tb換算)
- 90日以上アクセスされないデータは全体の60%(6TB ≒ 7.2Tb換算)
- ストレージからデータの取り出す頻度は月間3,000回
- Omics Storage は一時保存用の S3 を利用
- 月間平均100GBのデータ保存
- Omics Storage からデータを取り出す頻度(3,000回)
Omics Storage | S3 | |
---|---|---|
保存コスト | $30.51 | $103.1 |
データ取り出しコスト | $0.0027 | $0 |
月額合計 | $32.9 | $103.1 |
長期保存することを考えると保存コストの安さは魅力的です。
おわりに
NGS の進化や、研究によって膨れ上がるゲノムデータの保存コストは喫緊の課題ではないでしょうか?一度 S3 を経由したりデータの保存方法にお作法があるため通常のストレージの様にとはいかないのですが、触って使用感を確認してみてはいかがでしょうか。安く保存しておけるのは魅力的ですね。