Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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 大型非结构化数据集与elasticsearch集成的数据库建议_Amazon Web Services_Amazon S3_Amazon Dynamodb_Aws Elasticsearch_Aws Documentdb - Fatal编程技术网

Amazon web services 大型非结构化数据集与elasticsearch集成的数据库建议

Amazon web services 大型非结构化数据集与elasticsearch集成的数据库建议,amazon-web-services,amazon-s3,amazon-dynamodb,aws-elasticsearch,aws-documentdb,Amazon Web Services,Amazon S3,Amazon Dynamodb,Aws Elasticsearch,Aws Documentdb,在这个场景中,我们有数百万条记录保存在数据库中,目前我正在使用dynamodb保存元数据(以及对对象执行写入、更新和删除操作),S3存储文件(例如:文件可以是图像,其相关元数据存储在dynamodb中),elasticsearch用于索引和搜索。但由于dynamodb对行(单个对象)的限制为400kb,因此不足以保存数据。我曾考虑在dynamodb中保存不同版本的对象,但这太复杂了。 因此,我想用更好的存储设备替换dynamodb: AWS文档数据库 S3用于保存元数据以及对象文件 那么,在你看

在这个场景中,我们有数百万条记录保存在数据库中,目前我正在使用dynamodb保存元数据(以及对对象执行写入、更新和删除操作),S3存储文件(例如:文件可以是图像,其相关元数据存储在dynamodb中),elasticsearch用于索引和搜索。但由于dynamodb对行(单个对象)的限制为400kb,因此不足以保存数据。我曾考虑在dynamodb中保存不同版本的对象,但这太复杂了。 因此,我想用更好的存储设备替换dynamodb:

  • AWS文档数据库
  • S3用于保存元数据以及对象文件
  • 那么,在你看来,哪一个是更好的选择,为什么呢?这也是成本效益。(也很容易与elasticsearch同步,但这种ES同步不是什么大问题,因为两者都有可能实现)
    如果您还有其他比这两个更好的建议,您也可以告诉我。

    我建议您根据您的使用案例在Amazon S3上查看DocumentDB,原因如下:

    • 存储数据的定价为标准版的
      $0.023
      ,不经常访问的
      $0.0125
      每月每GB(而文档数据库是
      $0.10
      每月每GB),这取决于您的大小,这可能会大大增加。如果您使用
      IA
      请注意,您的检索成本可能会大大增加
    • 虽然您不会直接获取数据,但可以使用Athena或S3 Select进行过滤。根据查询的数据大小,可能需要几秒钟到几分钟(而不是您请求的毫秒)

    对于S3中的非结构化数据存储,它及其周围的查询技术更针对用于分析的数据湖。而DocumentDB在实时应用程序中的性能更受驱动(毕竟它是一个与MongoDB兼容的数据存储)。

    如何使用这些数据,是频繁查询还是偶尔查询?我需要对数据库中的数据执行更新和删除操作,并定期将数据接收到数据库中。未来单个对象的大小可以达到1-2 GB。此外,为了在毫秒内快速检索(搜索)这些数据,我目前使用elasticsearch,在这里我还进行聚合和地理空间数据查询。感谢您回答我的查询。我需要澄清更多的疑问。我目前只在DynamoDb中存储数据,在那里我对该数据执行写入、更新和删除操作。并进一步将其同步到Elasticsearch以执行快速搜索查询。所以,基本上我需要数据库通过RESTAPI进行写、更新和删除操作。S3真的很慢(需要几分钟的时间)吗?另外,如果您能帮助我了解在AWS DocumentDb中每月每gb执行这些操作的定价(因为您上面列出的定价是针对S3的,对于DocumentDb,找不到每gb/月的定价)。S3对于单个对象本身并不慢,查询数据时可能需要时间<代码>每月每GB$0.10是DocumentDB。S3在这方面比较便宜,但如果您使用IA并经常通过Athena查询数据,这可能会增加成本(如果只是写“是”,那会更好:)