AI、データウェアハウス、ビッグデータ分析を使用するビジネスでは、Object Storage Service (OSS) で実行されるサービスに対して、より低いデータアクセスレイテンシ、より高いクエリ/秒 (QPS)、およびより大きなスループットが求められます。これらの要求に応えるため、OSS はアクセラレータ機能を提供します。アクセラレータは、コンピューティングサービスと同じゾーンにある高性能 NVMe SSD ストレージメディア上の OSS からのホットオブジェクトをキャッシュします。これにより、ミリ秒レベルのレイテンシと高い QPS でのデータアクセスが可能になります。
メリット
低レイテンシ
OSS アクセラレータは、コンピューティングリソースと同じゾーンにデプロイしてネットワークレイテンシを削減できるゾーンレベルのサービスです。アクセラレータは NVMe SSD メディアを使用してストレージアクセスレイテンシを低減し、ミリ秒レベルのレイテンシでエンドツーエンドのダウンロードプロセスを提供します。これは、推論用のモデルファイルのダウンロードや、データウェアハウス内のホットデータのクエリに非常に効果的です。
高 IOPS
高性能 NVMe SSD メディアは、毎秒数十万の読み取り I/O 操作 (IOPS) を提供します。これは、数百 KB サイズの小さなファイルやデータブロックを頻繁に読み取る場合に最適です。
高スループット密度
OSS アクセラレータは、少量のデータに対して高いスループットを提供します。これにより、小さなホットデータセットに対するバースト読み取りの要求に対応します。
高スループット
アクセラレータの帯域幅は、その容量に比例して線形にスケールします。最大で数百 GB/s のバーストスループットを提供します。
弾力的なスケーリング
コンピューティングタスクはしばしば周期的であり、リソース要件はタスクによって異なります。必要に応じて、アクセラレータをオンラインでスケールアウトまたはスケールインできます。これにより、リソースの無駄を防ぎ、コストを削減します。アクセラレータは、50 GB から数百 TB までのキャッシュサイズをサポートします。また、OSS の大規模なデータストレージの利点を継承し、データウェアハウスから複数のテーブルやパーティションを直接キャッシュできます。
ストレージとコンピューティングの分離
コンピューティングサーバー上のキャッシュスペースと比較して、OSS アクセラレータのスペースとパフォーマンスは、コンピューティングサーバーとは独立してオンラインで調整できます。
データ整合性
アクセラレータは、OSS データに対して強力な整合性を提供します。これは、従来のキャッシングソリューションでは利用できない機能です。OSS 内のファイルが更新されると、アクセラレータは更新されたファイルを自動的に検出してキャッシュします。これにより、コンピュートエンジンは常に最新のデータを読み取ることができます。
複数のプリフェッチポリシー
OSS アクセラレータは OSS 内のファイル更新を自動的に検出し、DPI エンジンが最新のデータを読み取ることを保証します。OSS アクセラレータは、次のプリフェッチポリシーを提供します。
リードスループリフェッチ: 読み取りリクエストがアクセラレータでキャッシュミスになった場合、アクセラレータは自動的に OSS からオリジンフェッチを実行します。その後、データが取得され、アクセラレータに保存されます。
同期プリフェッチ: データが OSS に書き込まれると、アクセラレータにも同期的にキャッシュされます。
非同期プリフェッチ: アクセラレータを設定して、OSS からアクセラレータにデータをバッチキャッシュできます。
説明リードスループリフェッチはデフォルトで有効になっており、設定できません。
同期プリフェッチと非同期プリフェッチは手動で有効にする必要があります。両方の機能を同時に使用できます。
仕組み
アクセラレータを作成すると、ゾーン固有の内部アクセラレーションドメイン名が割り当てられます。このドメイン名は内部ネットワークからのみアクセスでき、パブリックネットワークアクセスはサポートしていません。たとえば、中国 (北京) リージョンのゾーン H のアクセラレーションドメイン名は cn-beijing-h-internal.oss-data-acc.aliyuncs.com です。アクセラレータと同じ VPC (Virtual Private Cloud) にいる場合、アクセラレーションドメイン名を通じてアクセラレータ内のリソースにアクセスできます。プロセスは次のとおりです。
書き込みリクエスト
リードスループリフェッチ: クライアントからアクセラレーションドメイン名に送信された書き込みリクエストは、OSS バケットに直接転送されます。このプロセスは、デフォルトの OSS ドメイン名を使用する場合と同じです。
同期プリフェッチ: クライアントからアクセラレーションドメイン名に送信された書き込みリクエストは、OSS バケットと OSS アクセラレータの両方に直接転送されます。
非同期プリフェッチ: プリフェッチする必要があるデータは、アクセスリクエストが開始される前に OSS アクセラレータに書き込まれます。
同期 + 非同期プリフェッチ: リクエストは OSS バケットと OSS アクセラレータの両方に直接転送されます。さらに、ホットデータはアクセスリクエストが開始される前に OSS アクセラレータに書き込むことができます。
読み取りリクエスト
説明読み取りリクエストのプロセスは、すべてのプリフェッチポリシーで同じです。
クライアントからアクセラレーションドメイン名に送信された読み取りリクエストは、OSS アクセラレータに転送されます。
アクセラレータが読み取りリクエストを受信した後、キャッシュ内のオブジェクトファイルを検索します:
オブジェクトファイルがキャッシュに存在する場合、ファイルは直接クライアントに返されます。
オブジェクトファイルがキャッシュに存在しない場合、アクセラレータはアタッチされた OSS バケットからオブジェクトファイルをリクエストします。ファイルが取得された後、アクセラレータはオブジェクトファイルをキャッシュし、クライアントに返します。
アクセラレータのキャッシュがいっぱいになると、アクセラレータはアクセス頻度に基づいて、アクセス頻度の低いファイルをアクセス頻度の高いファイルに置き換えます。
シナリオ
OSS アクセラレータは、高い帯域幅を必要とし、繰り返しデータ読み取りを伴うシナリオに適しています。具体的なシナリオは次のとおりです:
低レイテンシのデータ共有
背景
顧客がスマート自動販売機から商品を購入します。モバイルアプリを使用して商品をスキャンし、写真を撮り、その写真がアップロードされます。アプリケーションバックエンドは画像を受信し、OSS アクセラレータに保存します。その後、バックエンドサブシステムは画像に対して Content Moderation 分析とバーコード検出を実行します。バーコード検出結果は、支払い処理やその他の操作のためにアプリケーションバックエンドに送り返されます。画像はミリ秒単位でダウンロードする必要があります。
ソリューション
同期プリフェッチを有効にした OSS アクセラレータを使用します。OSS アクセラレータは、分析システムの画像読み込みレイテンシを効果的に削減し、トランザクションプロセスを短縮します。OSS アクセラレータは、繰り返し読み取りを伴うレイテンシに敏感なサービスに最適です。
モデル推論
背景
AI モデルの推論には、モデルファイルのプルとロードが必要です。推論のデバッグ中には、テストのために常に新しいモデルファイルに切り替える必要がある場合もあります。モデルファイルが大きくなるにつれて、推論サーバーがファイルをプルするのに必要な時間が増加します。
ソリューション
非同期プリフェッチまたはリードスループリフェッチを備えた OSS アクセラレータを使用します。非同期プリフェッチは、どのモデルファイルがホットデータであるかがわかっているシナリオに適しています。リードスループリフェッチは、ホットモデルファイルが不確かなシナリオに適しています。ホットモデルファイルのリストがある場合は、それに応じてアクセラレータを構成し、アクセラレータソフトウェア開発キット (SDK) を使用して指定された OSS ファイルをアクセラレータにプリフェッチできます。また、経験に基づいて特定のサイズのアクセラレータを構成することもできます。アクセラレータは、最初の読み取り時にファイルを自動的にキャッシュし、後続の読み取りでより高速なアクセスを実現します。アクセラレータは、パフォーマンス要件に基づいていつでもスケーリングできます。推論プログラムがローカルディレクトリを介して OSS にアクセスする必要がある場合は、ossfs をデプロイする必要があります。
ビッグデータ分析
背景
企業のビジネスデータは日ごとにパーティション分割され、長期保存のために OSS にアーカイブされます。アナリストは Hive や Spark などのコンピュートエンジンを使用してデータを分析しますが、クエリの範囲は不確かです。アナリストは、クエリ分析時間を最小限に抑えたいと考えています。
ソリューション
リードスループリフェッチを備えた OSS アクセラレータを使用します。このモードは、クエリ範囲が不確実で正確なプリフェッチが不可能な大量のデータを持つオフラインクエリシナリオに適しています。たとえば、アナリスト A によってクエリされたデータはアクセラレータクラスターにキャッシュされます。アナリスト B からのクエリに、以前にアナリスト A によってクエリされたデータが含まれている場合、データ分析プロセスが高速化されます。
多階層アクセラレーション
背景
クライアント側のキャッシングとサーバー側のアクセラレーションは相互に排他的ではありません。ビジネスニーズに基づいてこれらを組み合わせて、多階層のアクセラレーションを実現できます。
ソリューション
クライアント側のキャッシングと組み合わせて OSS アクセラレータを使用します。クライアント側のキャッシュをコンピュートクラスターと同じホストにデプロイします。読み取りリクエストがクライアント側のキャッシュミスになった場合、データはバックエンドストレージである OSS アクセラレータから読み取られます。OSS アクセラレータにはリードスループリフェッチを使用し、最初のアクセスでデータをキャッシュします。クライアントホストのキャッシュスペースは限られているため、クライアント側キャッシュの各ファイルとディレクトリには TTL が設定されます。TTL が期限切れになると、キャッシュされたデータはスペースを節約するために削除されます。OSS アクセラレータ内のデータはすぐには削除されません。そのキャッシュは数百テラバイトのデータを保存できます。クライアント側のキャッシュをミスしたデータが再度読み取られる場合、OSS アクセラレータから直接ロードできます。これにより、2 段階のアクセラレーションが実現します。
メトリック
メトリック | 説明 |
容量 |
ビジネスシナリオでより高い容量が必要な場合は、チケットを送信して容量の増加をリクエストしてください。 |
アクセラレータ帯域幅 | アクセラレータは、構成されたスペースに基づいてキャッシュされたデータにスループット帯域幅を提供します。1 テラバイトのアクセラレータスペースごとに最大 2.4 Gbps の帯域幅が提供されます。アクセラレータによって提供されるスループット帯域幅は、標準の OSS 帯域幅に追加されるものであり、標準の OSS 帯域幅能力によって制限されません。標準の OSS 帯域幅制限の詳細については、「制限とパフォーマンスメトリック」をご参照ください。 たとえば、中国 (深圳) リージョンでは、OSS は 100 Gbps の標準帯域幅を提供します。アクセラレータを有効にして 10 TB のアクセラレータスペースを構成すると、アクセラレーションドメイン名を通じて追加で 24 Gbps の低レイテンシ帯域幅を得ることができます。バッチオフラインコンピューティングアプリケーションの場合、OSS の内部の同一リージョンエンドポイントを使用して、大規模な同時読み取りで 100 Gbps の標準帯域幅を活用します。ホットデータクエリサービスの場合、OSS アクセラレーションドメイン名を通じて NVMe SSD メディアにキャッシュされたデータにアクセスして、追加で 24 Gbps の低レイテンシのスループットを得ることができます。 |
読み取り帯域幅 (ピーク) | 式: MAX[600, 300 × 容量 (TB)] MB/s
たとえば、2048 GB (2 TB) の容量を持つアクセラレータの読み取り帯域幅は 600 MB/s です。 |
最大読み取り帯域幅 | 40 GB/s (320 Gbps) ビジネスシナリオでより高い読み取り帯域幅が必要な場合は、チケットを送信して増加をリクエストしてください。 |
128 KB の単一リクエストの最小読み取りレイテンシ | <10 ms |
スケーリング間隔 | 1 時間に 1 回変更可能 |
スケーリング方法 | コンソールを介した手動スケーリング |
キャッシュの立ち退きポリシー | 最近最も使用されていない (LRU) キャッシュの立ち退きポリシーが使用されます。LRU ポリシーは、頻繁にアクセスされるデータが保持され、長期間アクセスされていないデータが優先的に削除されることを保証します。これにより、キャッシュスペースを効率的に使用できます。 |
課金
OSS アクセラレータを使用する場合、アクセラレータの構成容量とその使用期間に基づいて課金されます。詳細については、「OSS アクセラレータの料金」をご参照ください。
アクセラレーションドメイン名を通じて OSS のデータを読み書きする場合、オリジンフェッチが発生しなくても OSS リクエスト料金が発生します。
次のステップ
OSS アクセラレータの作成方法と容量の変更方法の詳細については、「アクセラレータの作成、変更、削除」をご参照ください。
一般的な OSS ツールと OSS SDK で OSS アクセラレータを構成して使用する方法の詳細については、「アクセラレータの使用」をご参照ください。
特定のビジネスシナリオで OSS の内部の同一リージョンエンドポイントを使用する場合と OSS アクセラレータを使用する場合のパフォーマンスの違いの詳細については、「パフォーマンスメトリック」をご参照ください。