Amazon S3 は、その堅牢性、可用性、スケーラビリティ、および安全性のおかげで、ナレッジ レイク を作成することができます。 何百ものファイル レイクが S3 上に構築され、分析パイプライン、機械学習コーチング、業界インテリジェンスなどで使用される 多様な構造化されていない知識のセット を保存します。 確かに、これらのイニシアチブはオープンソース分析エンジンの上に作成され、ナレッジ ソースとして S3 にネイティブに接続し、S3 の弾力性から喜びを得る Apache Spark を賞賛します。仕事を失い、低賃金で。 AWS は、s3a アダプター を含む、これらの オープンソース プロジェクト の多様性をサポートし、貢献しています。 ) Apache Hadoop 用と Hive コネクタ Trino 用はエンジンに問題を設定し、パフォーマンスの選択を提供し、新しい S3 の側面を改善します。
しかし、多くのナレッジ レイクの可能性は、S3 のオブジェクト API をネイティブに改善しない追加のドメイン想定ツールを使用し、別のセットとして入力と出力をファイルにする必要があります。ローカル ファイル ガジェット。 たとえば、多くのゲノミクス分析ツールは、ファイル ガジェットからシーケンスの知識を調査するオープンソースの Linux 機能であり、ネイティブ ファイル ガジェットの小売店のチェックポイントをコーチング パイプラインで調査するマシンもあります。 これらの機能を適応させて S3 の知識にアクセスし、S3 の弾力性と過剰なスループットから利益を得ることは、非常に多くの差別化されていない重労働になる可能性があり、効果の可能性にソフトウェアのソース コードがない場合は不可能ですらあります。 最近の Hadoop や Trino のように、S3 ナレッジ レイクを利用できるように、これらのツールを事実に基づいたものにすることに専念しています
今日、私たちは激怒しています。 Amazon S3 のマウントポイント は、Linux ベースの機能を簡単に Amazon に直接接続できる、まったく新しいオープンソース ファイル クライアントです。 S3 バケットとアクセス オブジェクトはファイル API を使用します。 Mountpoint は、膨大な量の S3 知識を並行して調査および生成する大規模な分析機能用に設計されていますが、既存のオブジェクトの中心に書き込むスキルは必要ありません。 マウントポイントを使用すると、S3 バケットまたはプレフィックスをイベントのファイル ガジェットの名前空間に計画し、バケットのコンテンツをネイティブ ファイルであった場合と同様にトラバースし、パフォーマンスのチューニングやプロビジョニングを気にすることなく、問題への過剰なスループット アクセスを実行できます。 Mountpoint を使用すると、S3 に対する GET および PUT 操作のファイル操作スキームが可能になり、スケーラブルなファイル基本ベースの機能を混合スループットの 2 分の 1 あたりテラビットまでバーストできるようになり、コードを変更する必要はありません。 Mountpoint が一般的なネットワーク ファイル ガジェットではなく、ファイル操作にいくつかの制限があることはよく知られています。 説明すると、この最初のリベラートへの書き込みは改善されず、長期的には、新しいオブジェクトへの順次書き込みが最も簡単に改善されます。 インスタンスまたはユーザー間で共有された知識について協力または調整することを望むファイルベースの機能をジョギングするために探しているイベント内で、Amazon FSx または Amazon Elastic File Plan (EFS)。 たとえば、Amazon FSx for Lustre では、本当に POSIX 準拠のファイル ガジェットを S3 バケットにリンクします。 しかし、さまざまなファイル ガジェットの側面を使用せずに巨大なオブジェクトを研究したいナレッジ レイク ソフトウェアを構築している場合、ロックや POSIX パーミッションを賞賛したり、単一ノードからオブジェクトを順次書き込みます。
Amazon S3 のマウントポイントは、最近アルファ リベラートとしてローンチされており、コードは 利用可能ですGitHub で。 まだ本番環境のワークロードで使用する準備はできていませんが、試してみて、あなたの想像を私たちに知らせてください! さらに、マウントポイントの構築
に関するロードマップを公開 しています。
Mountpoint を使ってみようAmazon S3 の場合
Amazon S3 のマウントポイントは、Amazon EC2 イベント または Amazon EKS ポッド をマウントし、S3 バケットをネイティブ ファイル ガジェットのアイテムにマウントします。 Mountpoint から始めるために、Amazon S3 バケットを作成して、正規の re のペアの記録を小売業者に送信しました。 Invent 2022 映画:
ファイルサイズを最適化するために、マウントポイントを使用して、これらのムービーの縮小バリエーションを機能させます。 まず、マウントポイント GitHub リポジトリ
の 指示に従って、イベントにマウントポイントをセットアップしました。 :
これで、S3 バケットを添付するブランド ノベルの項目化を実行することができました:
さて、マウントポイントを始めます。マウントする S3 バケットのタイトルとマウントする項目を指定します。 マウントポイントは、S3 バケットのアクセス許可またはアクセス管理について 1 つのことを交互に行うのではなく、すべてのバケットの アクセス保護戦略 – そのため、バケットをマウントするようにアドバイスするには、バケットにアクセスするための資格情報が必要です。 この場合、EC2 イベントには IAM マップ が接続されています。マウントポイントはそれらの資格情報を自動的に取得するため、追加の構成は必要ありません:
バケットがマウントされると、バケットがあったかのようにバケットをトラバースできます。ローカル ファイル ガジェットで、知り合いのアカウントを使用してライン ツールを使用する:
ビデオをダウンスケールするには、オープンソース ffmpeg 効用。 一方
ffmpeg は を使用してネイティブに S3 にアクセスできます) 署名付きの URL
、マウントポイントで実行できるローカル パスを実際に指定する方がはるかに簡単です:
これで、ネイティブ イベント ストレージにこのビデオの縮小モデルができました。 Mountpoint の alpha liberate は書き込み (PUT) を改善しないため、ファイル ガジェットを介してこの出力ヘルプを S3 バケットに直接書き込むことはまだできません。 ただし、AWS CLI を使用できます。それをバケットにアップロードします。その後、マウントポイントを介して表示される可能性があります:
私たちに合わせて保存します 公開ロードマップ 書き込みの改善に関する更新 予想以上のパフォーマンスを誇るファイル クライアントの構築方法
すべて私たちの多くは、Amazon S3 のマウントポイントが S3 にアクセスするための重要なファイル クライアントではないことを認識しています。 反対に、これらの可能性から私たちが聞いた流行のテーマは、これらの購入者が、彼らが拾うのと同じ安定性、パフォーマンス、および技術的改善を提供する必要があるということです S3 の REST API と AWS SDK. おそらくこれに同意するために、私たちは 3 つの基礎応用科学の上にマウントポイントを構築しています.
まず、マウントポイントは同じ上に構築されています AWS フレッシュ ランタイム (CRT) 古代ほとんどの AWS SDK で。 CRT は、AWS の製品やサービスとやり取りするためのソフトウェア ライブラリであり、IO、HTTP、および暗号化に適したパーツを提供します。 CRT は、コンピューティング リソースの最も生産的な使用に同意するために、過剰なパフォーマンスと有用なリソース使用率の低さのために構築されています。 Amazon S3 の場合、CRT は タイムアウト、再試行、過剰なスループットのための並列化による自動シーク ファイルなど、最も単純なパフォーマンス実行パターン に従います。 Mountpoint for Amazon S3 を使用してファイル ガジェット インターフェイスを介してオブジェクトにアクセスする関数は、このすべての作業の利点を無料で利用できます。
2 つ目は、マウントポイントが組み込みのRustプログラミング言語 は、ジョギング時間のオーバーヘッドがなく、実際の組み立て時間の安全性を保証します。 Amazon S3 と AWS のチームは最近、 などのコア製品とサービスを Rust で構築しています S3 オブジェクトの知識を永続的に保存し、オープンソース プロジェクトが賞賛する ShardStore ストレージ ノード
爆竹と ボトルロケット. 私たちが Rust を使用するのは、妥協のない信頼性を提供するためです: 言語ランタイムやガベージ コレクターの値札を支払うことなく、メモリの安全性と豊富な並べ替えガジェットを賞賛する真の安全性保証をピックアップして、それらの保証を強制します。 Mountpoint は Rust を利用してテール レイテンシを短縮し、有用なリソースの使用量を減らし、追加のメモリと CPU を機能に利用できるようにします
3 番目に、自動の使用に同意します。マウントポイントの信頼性を選択し、その習慣を明確に概説する理由。 S3 のエンジニア自動推論 を使用して主要なシステムの習慣を数学的に概説した後、実装がこれらの必要性を満たしていることを正式に観察します。 Mountpoint の場合、S3 バケットのマウント時に提供されるファイル ガジェットのセマンティクスを検証するために自動推論を使用します。 説明のために、S3 オブジェクト キーからファイル ガジェット名へのマッピングには、/ または現在は忠実なファイル名ではないキーで殺害されたキーを賞賛するエッジ ケースが詰め込まれています。 Mountpoint の信頼性に対する自信を示すために、オープンソース リポジトリには S3 キーがファイル ガジェットの建物にどのようにマッピングされるかの実行可能な仕様 に基づいており、自動推論を使用して、マウントポイントがこの仕様に従っていることを継続的に検証します。 この自動的な推論の努力により、マウントポイントを過度に自信を持って使用する機能が複雑にならなくなります. Amazon S3 全体で非常に効果的な製品とサービスを作成します。 過剰なパフォーマンスのライブラリは、CRT が 17 年以上にわたって大規模に構築された機能を複製することを賞賛し、アイデアは、広範なケースでは事実ではなく、大規模に発生する 1 兆分の 1 のエッジ ケースではなく、エンジニアの自動推論を賞賛します。 これらを組み合わせることで、S3 での大規模なナレッジ レイク ワークロード向けの、推定可能で過度にパフォーマンスの高いファイル クライアントである Mountpoint に同意することができます。 では、なぜこれはパンチのあるファイル ガジェットではないのでしょうか?
AWS には多くのパウンチ機能を備えたファイル ガジェット製品は、Amazon Elastic File Plan (EFS) と を高く評価しています。 Amazon FSx 製品およびサービスのファミリー。 Mountpoint について S3 の可能性について話し合ったところ、Mountpoint が強力な機能を備えたファイル ガジェット インターフェイスや POSIX 互換性を提供しない理由から、通常はファイルを探していることがわかりました。 私たちの回答は、きちんと好まれているファイル ガジェット インターフェイスはリッチで高度なものだということです。 彼らは、操作がファイルを賞賛し、名前を変更するアイテム化、一貫性のセマンティクス、exclaim でファイルの内容を変更するスキル、および OS が管理するアクセス許可と属性マッピングを含む、オブジェクト ストレージと重複しない側面の輝かしい欲求を獲得しています。 ファイルを使用するすべての機能に関して言えば、これらのファイル ガジェットの API と側面の一部のサブセットに依存しており、参加者の機能は実際にはマウントポイントでは機能しません。
しかし、マウントポイントを構築している間、 私たちの可能性から、彼らがS3の知識に逆らってジョギングしたい機能は、通常、パンチの効いたPOSIX機能スペースを必要としないと聞いています. 様々なファイルガジェットをうまく使いこなしている彼らのスペックには感心するApache Hadoop File Plan (HDFS) インターフェイス。これは、非常に巨大なファイルへのストリーミング アクセス用に最適化されており、最も単純な方法では、ファイルを一度だけ書き込むことができます。 このモデルを採用することは、イベントのルート ファイル ガジェットを賞賛するユースケースにひどく循環する Mountpoint に同意しますが、反対に、S3 に保存された巨大なデータセットでスケールアウト分析を行う多くのナレッジ レイク機能とは山ほど一致します。
ソリューションのこれらの機能を使用して、マウントポイントの球形を設計しています tenet は、S3 のネイティブ パフォーマンスを公開しており、おそらく今もそうかもしれません。 S3 のオブジェクト API に対して効率的に適用できないファイル ガジェット操作は改善されません。 これは、Mountpoint が操作をエミュレートしようとせず、おそらく多くの S3 API 呼び出しを必要とする可能性があり、アトミックではない項目名の名前変更を賞賛しないことを示唆しています。 同じように、S3 のオブジェクト API に完全なアナログがない POSIX ファイル ガジェットの側面をエミュレートしようとはしません。 この信条は、大規模なスケールアウト ナレッジ レイク ワークロードの価格を引き下げる、過剰なスループットのファイル クライアントの構築に焦点を当てています。 Amazon S3 の可能性をブロックし、最近の AWS SDK に実際に感心しています。 私たちの alpha liberate では、ナレッジ レイクの機能が S3 と連携することを望んでいる、過剰なスループットの単一オブジェクトの読み取りに感心する基本的な側面に興味を持っています。 私たちが Mountpoint について話し合った初期の可能性の一部は、より豊かなパフォーマンスを提供するためにマウントポイントを適合させることに関心があることをすでに私たちに知らせてくれました。 結論
Amazon S3 のマウントポイントにより、ナレッジ レイク機能がファイル操作を S3 API 呼び出しに変換することが簡単になり、コードを変更することなく S3 の知識に逆らうことができます。 Mountpoint の最近のアルファ リベラートの開始により、これらの機能について推定可能な過剰なパフォーマンスのファイル クライアントに対して重要な措置を講じています。 アルファ版は本番ワークロードの準備ができていませんが、テストとソリューションの準備は整っています。 これを願っています GitHubで仮解放と 私たちの公開ロードマップは、私たちが長期的に計画していることの信念を提供しており、私たちは耳を傾けることに激怒していますソリューションを公開し、オープンソース プロジェクトとして Mountpoint で mercurial を反復します。 Mountpoint で実行されている S3 ワークロードをすぐに検索するのが待ちきれません!
このブログを見つけてくれてありがとう。 イベント中にフィードバックや質問がある場合は、遠慮なくフィードバックの部分に残してください。 𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺