2016-03-29 6 views
-1

私は主な違いを知っています(私が間違っていれば私を修正します)が、データベースはデータが格納されている場所であり、サーバーはデータベースやその他のものが格納されているので、そのデータを格納し、このデータをコンピュータおよび他のサーバに送る。データベースとサーバーの相違

しかし、これは私のDjangoアプリをherokuにデプロイし、AWS S3をメディアファイルに使用すると非常にぼやけています。私がDjangoアプリケーションからメディアファイルをアップロードすると、herokuやAWSに何が送られているのかわからないので、それぞれ何を送るのか分からない。データベースはどこにありますか?

上記のすべてがわかっていれば、ファイル/データがビューに保存されているどこからファイル/データを取得すれば、メディアファイルの場合に表示することができますか?

答えて

0

サーバは、ファイルを保存したり、アプリケーションを実行したりできる(ネットワーク内の)任意の物理/仮想マシンです。データベースは、データを保持するサーバー上で実行されているアプリケーションです。 AWS s3はサーバーと似ていますが、s3でアプリを実行することはできませんが、保存目的でのみ使用できます。 (あなたはこれが雲の中のハードディスクであると言うことができます)

今、あなたのアプリを通してファイルをどのように保存しているのですか? しかし、s3には実際のファイルが含まれている必要があり、アプリケーション(実際にリンクされているデータベース)にはメディアファイルのURLが含まれている必要があります。 (今後このファイルにアクセスする必要がある場合)

0

多くの場合、メディアファイル(プロファイル写真など)はデータベースに保存されません。それらは単にサーバーのストレージシステムに格納されています。このストレージは、あらゆる種類のストレージサービス(Amazon AWS S3など)でもホストすることができます。

一般的に、データは実際のデータベース(mysql、nosql、...)にのみ格納されます。このデータは、例えばユーザプロファイル情報である。 Herokuで保持しているこれらのデータベース。

音楽、写真、ドキュメントなどのファイルは、データベースには格納されず、ハードディスクに保存されていることがよくあります。 (ときどき圧縮される)