Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 对于简单而大型的数据库,最好的AWS数据库解决方案是什么_Amazon Web Services_Amazon S3_Amazon Rds_Amazon Simpledb - Fatal编程技术网

Amazon web services 对于简单而大型的数据库,最好的AWS数据库解决方案是什么

Amazon web services 对于简单而大型的数据库,最好的AWS数据库解决方案是什么,amazon-web-services,amazon-s3,amazon-rds,amazon-simpledb,Amazon Web Services,Amazon S3,Amazon Rds,Amazon Simpledb,我正在开发一个将在EC2 Web服务器上运行的应用程序。该应用程序将使用两个数据库,一个是管理站点/应用程序并保存所有此类相关数据的小型数据库,另一个是专门用于存储和检索浮点值的大型数据库 即使在阅读了一些AWS文档之后,我仍然对最佳方法感到困惑。该数据库应存储在连接的EBS卷上,还是使用SimpleDB、RDS或S3 如何在S3中存储数据库?我已经读到SimpleDB对于简单数据库是一个很好的解决方案,这个数据库没有关系,每个表只有一个id和值列,但是SimpleDB对于大型数据库不是一个很好

我正在开发一个将在EC2 Web服务器上运行的应用程序。该应用程序将使用两个数据库,一个是管理站点/应用程序并保存所有此类相关数据的小型数据库,另一个是专门用于存储和检索浮点值的大型数据库

即使在阅读了一些AWS文档之后,我仍然对最佳方法感到困惑。该数据库应存储在连接的EBS卷上,还是使用SimpleDB、RDS或S3

如何在S3中存储数据库?我已经读到SimpleDB对于简单数据库是一个很好的解决方案,这个数据库没有关系,每个表只有一个id和值列,但是SimpleDB对于大型数据库不是一个很好的解决方案。显然,在SimpleDB中存储元数据然后在S3中存储主数据是一种方法,但我并不真正理解这在数据库上下文中是如何工作的


RDS听起来有些过分,因为我的数据库没有关系等,而EBS只能连接到一个实例,我不认为它是可伸缩的,而且我认为与S3相比,它的数据量大

我想要一些解释来填补我知识中的明显空白,但主要目标是找到满足我需求的最佳解决方案,我的需求主要是廉价存储和快速数据检索


非常感谢advanced。

根据您的要求,AWS DynamoDB最适合您的场景

DynamoDB是一个为更高规模而构建的关键值和文档数据库,完全由AWS管理。 它非常适合查询没有关系和复杂事务的可索引数据。 如果数据记录大小大于400KB,则可以将数据存储在AWS S3中,并将元数据保存在DynamoDB中以供查询。 由于DynamoDB跨多个设施进行复制,因此它提供了高可用性。 它还支持自动缩放以处理更大的负载。
RDS听起来有些过分了,因为我的数据库没有关系,等等,也许你应该在这方面做更多的扩展。如果数据库没有关系,那么它到底是什么?只是一堆平面文件?我还建议忽略simpledb,转而考虑更新的DynamoDB服务。S3可能是存储数据库的一个可怕的地方,除非您只需要归档/备份存储,因为您不能随机访问S3中文件的内容。嗨,马克,谢谢您回复我。我正在寻找一个在用的操作数据库的解决方案,所以听起来S3不是前进的方向。数据库最终将由数千个表组成,每个表只包含一个id列和一个浮点数据列。我只会创建更多这种结构的表,向表中添加数据,并从表中选择数据,从不连接或做任何事情。数据库作为一个整体将存储数以百万计的这些浮点值,并将被频繁查询。我主要关心的是成本和速度。再次感谢advanced。也许我甚至不需要数据库,平面文件会更便宜更快吗?你需要定义什么对你来说是快的,什么对你来说是便宜的。你通常不能同时拥有最快的和最便宜的。换句话说,你必须为速度付出代价。话虽如此,我认为DynamoDB是满足您需求的正确解决方案。我理解,但由于我只是在这一点上进行规划,我没有任何指标可供参考。我认为迪纳摩似乎是最好的方法。嗨,阿山,谢谢你,这听起来很有希望。我想这是满足我需求的最快、最便宜的解决方案吧?你能为我提供一个完美文章的链接,让我学习如何实现这一点吗?你打算如何使用DynamoDB,它是与一个带有API网关和Lambda的无服务器项目一起使用,还是在一个带有服务器代码的web服务器中使用?语言偏好是什么?任何其他约束,如法规遵从性或监管性?我将从EC2上linux Web服务器上的PHP应用程序访问数据。没有其他限制。您可以使用适用于DynamoDBClient的PHP SDK。还需要允许EC2角色在策略中访问DynamoDB。互联网上很少有这样的例子