我正在为最终用户设计一个图像存储应用程序,它将具有许多CRUD类型功能。我想在亚马逊网络服务(AWS)上托管应用程序,并准备使用该游戏!框架,S3和NoSQL数据库。我无法找到适用于Play的DynamoDB适配器!并且读到MongoDB和EC2不能很好地融合在一起。我可以在DynamoDB上使用AWS上的Web应用程序来玩Play吗?
是否有很好的替代方案可以与DynamoDB一起使用?
我是否应该考虑替代框架(玩!看起来对我很有吸引力,干净,精益和简单)。
我正在为最终用户设计一个图像存储应用程序,它将具有许多CRUD类型功能。我想在亚马逊网络服务(AWS)上托管应用程序,并准备使用该游戏!框架,S3和NoSQL数据库。我无法找到适用于Play的DynamoDB适配器!并且读到MongoDB和EC2不能很好地融合在一起。我可以在DynamoDB上使用AWS上的Web应用程序来玩Play吗?
是否有很好的替代方案可以与DynamoDB一起使用?
我是否应该考虑替代框架(玩!看起来对我很有吸引力,干净,精益和简单)。
遇到此问题:https://github.com/wfaler/scala-dynamo 看起来像是第一次尝试用于发电机的scala驱动程序。
Play是数据库不可知的,但它确实对其他不太新的数据存储有所支持。 Dynamo仅仅是太新而无法直接在Web框架中提供支持。 Play是一个很好的框架,我个人非常喜欢它。虽然我使用Play 2.0,但我不推荐将它用于完全不熟悉scala或FP的用户。他们说,你不需要知道,但这是一厢情愿的想法,直到产品更成熟。
底线是你分别选择你的web框架和数据存储。每个中的正确的一个应该有灵活性来支持另一个的多种选择。
检查jcabi-dynamo。它是DynamoDB SDK上的一个对象层,例如:
Credentials credentials = new Credentials.Simple("AWS key", "AWS secret");
Region region = new Region.Simple(credentials);
Table table = region.table("foo");
Collection<Item> items = table.frame().where("id", Conditions.equalTo(123));
for (Item item : items) {
System.out.println(item.get("name").getS());
}
我改变了标题以反映更多的内容。如果你不喜欢它,请将它还原。 – 2012-04-09 06:36:39
不是您的问题的答案,但许多人在EC2上使用mongoDB - 甚至有关于最佳实践的白皮书:http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf - 有些警告和您需要有一个沉重的EC2配置,但没有什么能阻止你在EC2中使用mongoDB。 – 2012-04-09 10:10:03
谢谢史蒂芬,你可以评论DynamoDB和Play!吗? – 2012-04-09 13:25:25