Amazon S3をデータベースとして使用するにはどうすればよいですか?


ベストアンサー

まず、AmazonS3をデータベースとして使用できるかどうかについてはさまざまな理論があります。私は個人的に、AmazonS3を少しアーキテクチャを変えたデータベースとして使用できると信じています。しかし、これは心の弱い人向けではなく、ほんの少しの塩で服用する必要があります!それができて、探しているものを達成できたとしても、それ自体に欠点がある可能性があります。

アーキテクチャの洞察:データベースでS3を有効にするアプローチを説明するために、最初にS3の基盤となるアーキテクチャを理解しましょう。 Amazon S3は、それ自体が単なるバニラオブジェクトストレージプラットフォームではなく、ファイルシステムです。実際のところ、AmazonS3自体は本質的にNoSQLデータベースです。これは大規模なKey-Valueストアであり、Keyはファイル名、Valueはファイルコンテンツです。

As S3 “主な使用例はオブジェクトの保存です。基盤となるアーキテクチャ自体は主にファイルシステムです。バケット内でデータを自動的に分割し、キーのプライマリインデックスを維持します。

アプローチ: S3を疑似ファイルシステムと見なすと、その目的を微調整して ACID データベース。ただし、他のデータベースと同じようにクエリを実行することはできません。ただし、高度なものを問わず、大規模なデータレイクに対してランダムクエリを実行することはできません。プラットフォームはです。

一方、AWS S3では、 Elastic MapReduce をインテリジェントに使用することで、洞察に満ちた指標を抽出できます。 s Hadoopパイプラインでサポートされています。このアプローチでは、基本的に、 OpenHeatMapによって生成されたすべてのデータをJSONファイルとしてS3バケットに保存する必要があります。最も重要なのは、データの構造に応じて、アテナまたは S3選択。データベースにアクセスするために他のAWSサービスが必要な場合は、SQLトランザクションを許可する APIスクリプトが必要です。

提供する試してみてください。きっと何かが得られると思います。

これがお役に立てば幸いです!

S3の学習に役立つ情報を探していて、独自に設定したい場合S3バケットについては私に連絡してください。

回答

できますか?承知しました。あなたはすべきですか?絶対にありません。

AWS S3は、ファイルを保存するための優れたサービスです。ただし、ファイルを編集する場合は、ファイル全体をダウンロードし、必要なものを変更してから、もう一度アップロードする必要があります。その間に行われた変更を上書きします。

データベースには、ファイルを常に開いておくことができ、ジャンプしてデータを検索し、段階的に書き込むことができるという利点があります。したがって、マルチユーザーやパフォーマンスの低下を予期するデータベースは、このコンテキストでは機能しません。また、これは、「fuse」またはその他のmount-S3-as-a-file-systemソフトウェアを使用していることを前提としています。

ただし、特定のユースケースでは、S3をデータベースとして使用する方法があります。場合によっては、「サイドカーファイル」とともにファイルをS3に保存することが理にかなっていることがあります。つまり、たとえばimage123.jpgが保存され、その横にこのファイルに関する情報を含むimage123.jsonがあります。

たとえば、バックアップや、ファイルが存在するかどうかを確認できるその他のデータについては、たとえば、日付を含む命名スキーム。含まれている場合は、ファイルに関する追加情報とともにサイドカーファイルもフェッチします。そうすれば、実際のデータベースを使用せずに、無期限に拡張できます。

プロジェクトによっては、サイドカーファイルは単一ファイルベースでSQL(ほとんど)互換性のあるSQLiteデータベースでも可能です。上記の注意事項に注意してください。

以下にコメントしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です