【问题标题】:Difference between database and server [closed]数据库和服务器之间的区别[关闭]
【发布时间】:2016-07-16 23:45:16
【问题描述】:
所以我知道主要区别(如果我错了,请纠正我)但是数据库是存储数据的地方,而服务器是存储数据库和其他内容的地方,因此它可以接收对其存储的数据的请求并将这些数据发送到计算机和其他服务器。
但是,当我将 Django 应用程序部署到 heroku 并使用 AWS S3 存储媒体文件时,这对我来说变得非常模糊。当我从我的 Django 应用程序上传媒体文件时,我不确定发送到 heroku 或 AWS 的内容,我什至不确定每个发送的内容。数据库在哪里? (或者他们应该在哪里?)
既然以上都知道,那么如何从文件/数据存储到视图中的任何位置获取文件/数据,以便在它是媒体文件时显示它?
【问题讨论】:
标签:
django
amazon-web-services
heroku
amazon-s3
【解决方案1】:
服务器是任何物理/虚拟机(在网络中),您可以在其中存储文件、运行应用程序。数据库是在保存数据的服务器上运行的应用程序。 AWS s3 就像一个服务器,但您不能在 s3 上运行应用程序,但您可以将其仅用于存储目的。 (可以说这是云端硬盘)
现在问题是如何通过应用存储文件?
但可以肯定的是 s3 应该包含实际文件,而 app(实际链接的数据库)应该包含媒体文件的 url。 (如果你以后需要访问这个文件)
【解决方案2】:
在大多数情况下,媒体文件(如个人资料图片)不存储在数据库中。它们只是存储在服务器的存储系统中。这种存储也可以由任何类型的存储服务(例如 Amazon AWS S3)托管。
通常,您只将数据存储在“真实”数据库(mysql、nosql、...)中。该数据例如是用户配置文件信息。您可能会在 Heroku 上保存这些数据库。
音乐、照片和文档等文件通常不存储在数据库中,而是存储在硬盘上。 (有时被压缩)