【发布时间】:2013-09-13 02:33:18
【问题描述】:
我正在构建一个需要使用 Amazon Web Services 托管的后端的移动应用程序。
他们的移动 SDK 提供 API 以直接与 DynamoDB 一起工作(使我的应用程序成为胖客户端),包括使用他们的 IAM 服务(我将使用它来跟踪用户)进行用户身份验证/授权。这样可以很容易地说“用户 X 想要他们的信息。这是他们的临时访问密钥。哦,这是您请求的信息。”
但是,如果我使用 RDS 作为后端数据库,我必须创建我的应用程序可以与之通信的 Web 服务(在 PHP 或 Java/等中)。然后我还必须自己在我的网络服务中实现身份验证/授权(我觉得这可能会变得非常混乱)。我还必须在 EC2 实例上托管 Web 服务,并拥有 RDS 实例。所以我的成本会增加。
后者似乎需要大量工作,而我可以通过使用 DynamoDB(及其 API)作为后端来避免这些工作。
我在这里的推理是否正确?或者是否有一种简单的方法可以使用 AWS RDS 数据库对 PHP Web 服务进行身份验证/授权?
我问是因为我以前只使用过关系数据库,所以运行 NoSQL 数据库会有一个学习曲线。虽然假设我的计划是最终在未来的某个时候切换到 NoSQL 数据库,但由于我的应用程序需求不断增加。
旁注:我已经在 MySQL 中设计了我的数据库。
【问题讨论】:
-
您听起来好像 NoSQL 在定义上优于 RDBMS。这并非总是如此。这取决于您的应用程序的要求。您是否需要 RDBMS 提供的连接等?我知道此评论与主题无关,因为您提出了不同的问题,但您确定需要 NoSQL 吗?
-
不,我不完全确定。我一直在阅读大量关于 NoSQL 的文章,但我仍然不确定它是否能满足我们的所有需求。例如,我希望能够根据所有数据向用户提供报告。我知道 NoSQL 不能进行连接,但老实说,我不知道这对我的限制有多大,因为我还没有看到完整的 NoSQL 数据库“模式”及其用途的好例子。
-
你最后用了什么?
-
@jasper 对不起,伙计,在我们放弃项目之前,我们最终转向 Azure 作为后端。
-
@G_M 谢谢...Wat 正是你在 Azure 中使用的后端,它更好吗?如果您有任何 cmets,请查看:stackoverflow.com/questions/28242387/…
标签: web-services security authentication mobile amazon-web-services