满足以下要求的最佳AWS数据库是什么
我对MongoDB,DynamoDB和PostgreSQL之间有点困惑。请分享您对此的想法。
答案 0 :(得分:1)
DynamoDB:-
DynamoDB是一种完全托管的专有NoSQL数据库服务,它支持键值和文档数据结构。对于您在OP中描述的典型用例,它将达到目的。
DynamoDB每天可以处理超过10万亿个请求和支持 每秒超过2000万个请求的峰值。
DynamoDB对于所有操作都具有良好的AWS开发工具包。可以为该表配置read and write capacity units。
DynamoDB表使用按需容量模式自动适应 您的应用的流量。即时按需容量模式 最多可以容纳一张桌子上以前的高峰流量。对于 例如,如果您的应用的流量模式在25,000之间变化 每秒50,000次强一致性读取,其中每秒50,000次读取 第二个是先前的流量高峰,即时按需容量模式 可容纳高达每秒100,000次读取的持续流量。如果 您的应用程序维持每秒100,000次读取的流量, 峰值成为您之前的新峰值,从而使后续流量 达到每秒200,000次读取。
需要注意的一点是,它不允许基于非关键属性查询表。这意味着,如果您不知道表的哈希键,则可能需要执行全表扫描以获取数据。但是,有一个二级索引选项,您可以通过该选项解决该问题。在设计并做出明智的决定之前,您可能需要拥有用例的所有查询访问模式。
MongoDB:-
MongoDB不是AWS上的完全托管服务。但是,您可以使用AWS服务(例如EC2,VPC,IAM,EBS等)来设置数据库。这需要一定的AWS云经验来设置数据库。另一种选择是使用MongoDB Atlas service。
MongoDB在查询方面更加灵活。而且,它具有强大的聚合功能。有很多工具可以直接查询数据库以探索数据,例如SQL。
就Java API而言,Spring MongoDB可用于执行典型的数据库操作。同样,MongoDB也提供了许多支持各种语言的开源框架(例如Mongoose Nodejs)。
MongoDB支持多种编程语言,并且API也很成熟。
PostgreSQL:-
PostgreSQL是AWS上的完全托管数据库。
PostgreSQL已成为首选的开源关系数据库 对于许多企业开发人员和初创企业而言, 地理空间和移动应用程序。 Amazon RDS易于设置 在云端部署,操作和扩展PostgreSQL部署。
我认为我不需要为此数据库及其API编写太多内容。它是非常成熟的数据库,并且具有良好的API。
要考虑的要点:-