AI、データウェアハウス、ビッグデータ分析などのビジネスの発展に伴い、Object Storage Service (OSS) 上で実行されるビジネスの増加に伴い、データアクセスレイテンシの低減とスループットの向上が求められています。OSS は OSS アクセラレータ機能を提供しており、これにより、高パフォーマンスの NVMe SSD にホットオブジェクトをキャッシュするアクセラレータを作成し、ミリ秒単位の低レイテンシと高スループットでデータアクセスを提供することができます。
メリット
低レイテンシ
アクセラレータの NVMe SSD メディアは、ビジネスにミリ秒レベルのダウンロードレイテンシを提供できます。アクセラレータは、データウェアハウスのホットデータクエリや推論モデルのダウンロードにおいて、より優れたパフォーマンスを提供します。
高スループット
アクセラレータは少量のデータに対して高スループットを提供し、少量のホットデータに対するバースト読み取り要件を満たすことができます。
スループットの向上
アクセラレータの帯域幅は、アクセラレータのキャッシュ容量とともに直線的に増加し、最大数百 Gbit/s のバーストスループットを提供します。
自動スケーリング
ほとんどの場合、コンピューティングタスクは、必要なリソース量に対して異なる要件を持つ定期的なタスクです。ビジネスを中断することなく、要件に基づいてアクセラレータのキャッシュ容量をスケールアップまたはスケールダウンできます。これにより、リソースの無駄とコストを削減できます。アクセラレータは、少なくとも 50 GB のキャッシュ容量と最大 100 TB のキャッシュ容量をサポートしています。アクセラレータは、OSS の大規模データストレージの利点を継承しており、データウェアハウス内の複数のテーブルまたはパーティションを直接キャッシュできます。
ストレージとコンピューティングの分離
コンピューティングサーバーのキャッシュ容量と比較して、アクセラレータはコンピューティングサーバーから独立しており、ビジネスを中断することなく、アクセラレータのキャッシュ容量とパフォーマンスをオンラインで変更できます。
データ整合性
従来のキャッシュソリューションと比較して、OSS アクセラレータ機能はデータ整合性を保証します。OSS バケット内のオブジェクトを更新すると、アクセラレータはオブジェクトの最新バージョンを自動的に識別してキャッシュし、コンピューティングエンジンがオブジェクトの最新バージョンを読み取ることができるようにします。
複数のウォームアップポリシー
アクセラレータは、OSS 上で更新されたオブジェクトを自動的に識別し、エンジンが最新のデータを読み取ることができるようにします。アクセラレータは、以下のウォームアップポリシーを提供します。
読み取り中のウォームアップ:リクエストしたデータがキャッシュにヒットしない場合、アクセラレータはデータが格納されているバケットからデータを自動的に取得し、アクセラレータにキャッシュします。
同期ウォームアップ:データが OSS に書き込まれると、データは同期され、アクセラレータにキャッシュされます。
非同期ウォームアップ:パラメータを設定して、OSS 内のデータを OSS アクセラレータにバッチキャッシュできます。
デフォルトでは、読み取り中のウォームアップが有効になっており、設定できません。
同期ウォームアップまたは非同期ウォームアップを有効にする場合は、手動で有効にする必要があります。同期ウォームアップと非同期ウォームアップは同時に有効にすることができます。
仕組み
アクセラレータが作成されると、リージョン専用の内部アクセラレータエンドポイントが作成されます。アクセラレータにキャッシュされたリソースには、内部ネットワーク経由でのみアクセスできます。たとえば、中国 (北京) リージョンのアクセラレータエンドポイントは http://cn-beijing-internal.oss-data-acc.aliyuncs.com
です。アクセラレータと同じ Virtual Private Cloud (VPC) にある場合は、アクセラレータエンドポイントを使用して、アクセラレータにキャッシュされているリソースにアクセスできます。次の図は、アクセラレータエンドポイントを使用して、アクセラレータにキャッシュされているリソースにアクセスする方法を示しています。
書き込みリクエスト
読み取り中のウォームアップ:クライアントからアクセラレータのアクセラレータエンドポイントに送信された書き込みリクエストは、OSS バケットに転送されます。このプロセスは、OSS バケットのデフォルトのドメイン名が使用されるプロセスに似ています。
同期ウォームアップ:クライアントからアクセラレータエンドポイントに送信された書き込みリクエストは、OSS バケットと OSS アクセラレータに転送されます。
非同期ウォームアップ:ウォームアップする必要があるデータは、読み取りリクエストが転送される前に、事前に OSS アクセラレータに書き込まれます。
同期ウォームアップ + 非同期ウォームアップ:リクエストは OSS バケットと OSS アクセラレータに転送されます。ホットデータは、読み取りリクエストが転送される前に、事前に OSS アクセラレータに書き込まれます。
読み取りリクエスト
読み取りリクエストは、ウォームアップポリシーが異なっても同じ方法で処理されます。
クライアントからアクセラレータエンドポイントに送信された読み取りリクエストは、アクセラレータに転送されます。
アクセラレータが読み取りリクエストを受信すると、アクセラレータはキャッシュ内でリクエストされたオブジェクトを検索します。
リクエストされたオブジェクトがアクセラレータにキャッシュされている場合、オブジェクトはクライアントに返されます。
リクエストされたオブジェクトがアクセラレータにキャッシュされていない場合、アクセラレータはアクセラレータにマッピングされている OSS バケットからオブジェクトをリクエストします。OSS はリクエストを受信すると、リクエストされたオブジェクトをアクセラレータにキャッシュします。次に、アクセラレータはオブジェクトをクライアントに返します。
アクセラレータのキャッシュ容量が使い果たされた場合、アクセラレータは比較的高い頻度でアクセスされるキャッシュされたオブジェクトを優先します。
シナリオ
OSS アクセラレータ機能は、高帯域幅が必要で、データが繰り返し読み取られるシナリオに適しています。例:
背景情報
顧客が自動販売機から商品を購入する場合、顧客はモバイル アプリケーションを使用してコンテナ内の商品をスキャンし、写真を撮ってアップロードします。アプリケーションバックエンドが写真を受信すると、アクセラレータは写真を保存します。次に、バックグラウンド サブシステムが写真に対してコンテンツ モデレーション分析とバーコード認識を実行し、バーコード認識の結果がアプリケーション バックエンドに返されて料金の控除などの操作が行われます。写真はミリ秒以内にダウンロードする必要があります。
ソリューション
アクセラレータの同期ウォームアップポリシーを使用します。アクセラレータは、分析システムへの写真のロードのレイテンシを効果的に削減し、トランザクションリンクを短縮できます。OSS アクセラレータ機能は、レイテンシに敏感で、データが繰り返し読み取られるビジネスに適しています。
背景情報
推論サーバーは、AI 生成コンテンツ (AIGC) モデル推論のためにモデルオブジェクトをプルしてロードする必要があります。推論とデバッグ中に、推論サーバーは新しいモデルオブジェクトを常に切り替える必要もあります。モデルオブジェクトのサイズが大きくなるにつれて、推論サーバーがモデルオブジェクトをプルしてロードするために必要な時間が長くなります。
ソリューション
OSS アクセラレータ機能の非同期ウォームアップポリシーまたは読み取り中のウォームアップポリシーを使用します。OSS アクセラレータ機能の非同期ウォームアップポリシーは、ホットモデルオブジェクトのリストを決定できるシナリオに適しています。読み取り中のウォームアップポリシーは、ホットモデルオブジェクトのリストを決定できないシナリオに適しています。ホットモデルオブジェクトのリストを決定できる場合は、特定のキャッシュ容量のアクセラレータを設定し、アクセラレータ SDK を使用してオブジェクトを事前にアクセラレータに保存できます。また、以前の経験に基づいて、特定のキャッシュ容量のアクセラレータを設定することもできます。アクセラレータは、データが読み取られるときにモデルオブジェクトを高パフォーマンスメディアに自動的にキャッシュし、後続の読み取りで迅速にアクセスできるようにします。アクセラレータのキャッシュ容量は、アクセラレーション要件に基づいていつでもスケーリングできます。推論サーバーがローカルディレクトリから OSS にアクセスする必要がある場合は、ossfs をデプロイする必要があります。
背景情報
企業のビジネスデータは日ごとにパーティション分割され、長期間 OSS に保存されます。アナリストは Hive や Spark などのコンピューティングエンジンを使用してデータを分析しますが、クエリ範囲については確信がありません。アナリストは、クエリと分析に必要な時間を短縮する必要があります。
ソリューション
OSS アクセラレータ機能の読み取り中のウォームアップポリシーを使用します。このポリシーは、大量のデータが保存され、データクエリ範囲が不確実で、データを正確にウォームアップできないオフラインクエリシナリオに適しています。たとえば、アナリスト A によってクエリされたデータは、アクセラレーション クラスタにキャッシュされます。アナリスト B によってクエリされたデータにアナリスト A によってクエリされたデータが含まれている場合、データ分析が高速化されます。
背景情報
クライアント側キャッシュとサーバー側アクセラレーションの間に競合はありません。ビジネス要件に基づいてマルチレベルアクセラレーションを実現したいと考えています。
ソリューション
クライアント側キャッシュとともに OSS アクセラレータを使用します。コンピューティング クラスタとともに Alluxio をデプロイすることをお勧めします。読み取るデータが Alluxio キャッシュのデータと一致しない場合、データはバックエンド ストレージから読み取られます。OSS アクセラレータは読み取り中のウォームアップポリシーを使用し、データが初めて読み取られるときにデータをウォームアップします。クライアント ホストのキャッシュ容量の制限により、Alluxio の各オブジェクトとディレクトリに対して Time to Live (TTL) が設定されます。TTL 期間が終了すると、ストレージスペースを節約するためにキャッシュが削除されます。この場合、OSS アクセラレータのデータはすぐに削除されず、そのキャッシュ容量には数百 TB のデータを保存できます。Alluxio キャッシュのデータと一致しないデータが再度読み取られると、データは OSS アクセラレータから直接ロードされ、2 レベルのアクセラレーションが実装されます。
メトリックの説明
メトリック | 説明 |
メトリック | 説明 |
キャッシュ容量 |
ビジネスでより大きなキャッシュ容量が必要な場合は、チケットを送信 してください。 |
アクセラレータ スループット | アクセラレータは、設定されたキャッシュ容量に基づいて、アクセラレータにキャッシュされたデータのスループット帯域幅を提供します。アクセラレータは、アクセラレータの 1 TB のキャッシュ容量に対して最大 2.4 Gbit/s のスループットを提供します。アクセラレータによって提供されるスループットは、OSS によって提供される標準スループットによって制限されません。OSS の標準帯域幅制限の詳細については、「制限とパフォーマンス メトリック」をご参照ください。 たとえば、OSS は中国 (深セン) リージョンで 100 Gbit/s の標準帯域幅を提供します。OSS アクセラレータ機能を有効にして、キャッシュ容量が 10 TB のアクセラレータを作成すると、アクセラレータのアクセラレータエンドポイントを使用してアクセラレータにキャッシュされたデータにアクセスする場合、アクセラレータによって提供される 24 Gbit/s の低レイテンシ スループットを追加で取得できます。バッチ オフライン コンピューティング アプリケーションの場合、OSS 内部エンドポイントを使用すると、大規模な同時ブロック読み取りに 100 Gbit/s の標準スループットを利用できます。ホットデータクエリサービスの場合、アクセラレータのアクセラレータエンドポイントを使用してアクセラレータの NVMe SSD メディアにキャッシュされたデータにアクセスすると、24 Gbit/s の低レイテンシ スループットを追加で取得できます。 |
ピーク読み取り帯域幅 | 式:MAX[600,300 × キャッシュ容量 (TB)] MB/s
たとえば、アクセラレータが 2,048 GB (2 TB) のキャッシュ容量を提供する場合、読み取り帯域幅は 600 MB/s です。 |
最大読み取り帯域幅 | 40 GB/s ビジネスでより大きな読み取り帯域幅が必要な場合は、チケットを送信 してください。 |
単一リクエストで 128 KB のデータを読み取るための最小レイテンシ | <10 ms |
スケールアップまたはスケールダウン間隔 | 1 時間に 1 回 |
スケールアップまたはスケールダウン方法 | OSS コンソールで手動でスケールアップまたはスケールダウンする |
キャッシュ削除ポリシー | キャッシュは、Least Recently Used (LRU) アルゴリズムに基づいて削除されます。LRU アルゴリズムは、頻繁にアクセスされるデータが保持され、長期間アクセスされないデータが優先的に削除されるようにするために使用されます。この場合、キャッシュ容量が効率的に使用されます。 |
課金ルール
OSS アクセラレータ機能はパブリック プレビュー中です。パブリック プレビュー中は、最大 100 GB のキャッシュ容量が無料で提供されます。パブリック プレビューが終了すると、従量課金制に基づいて、アクセラレータの実際のキャッシュ容量に対して課金されます。
アクセラレータのアクセラレータエンドポイントを使用して OSS からデータを読み書きする場合、オリジン フェッチ リクエストが送信されない場合でも、OSS API 操作呼び出し料金が発生します。
時間単位で生成される OSS 課金データのクエリ方法の詳細については、「時間単位で生成される OSS 課金データのクエリ」および「請求書のクエリ」をご参照ください。
次のステップ
アクセラレータを作成し、アクセラレータのキャッシュ容量を変更する方法の詳細については、「アクセラレータの作成」をご参照ください。
OSS ツールと OSS SDK とともに OSS アクセラレータ機能を設定して使用する方法の詳細については、「OSS アクセラレータの使用」をご参照ください。
特定のビジネス シナリオで OSS 内部エンドポイントとアクセラレータを使用してリソースにアクセスする場合のパフォーマンスの違いの詳細については、「パフォーマンス メトリック」をご参照ください。