我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB描述,它似乎几乎相同:NoSQL Key-value存储服务.
有人可以简单地解释它们之间的主要区别,并告诉在哪些情况下选择一个而不是另一个.
我认为我可以使用SimpleDB来处理我的应用程序中最具挑战性的区域(就缩放而言) - 类似Twitter的评论,但位置在顶部 - 直到我坐下来实际开始实现它SDB.
首先,SDB每个属性值有1000个字节的限制,即使是注释也是不够的(可能需要将更长的值分解为多个属性).
然后,最大域大小为10GB.承诺是您可以扩展而不必担心数据库分片等,因为SDB不会随着数据量的增加而降级.但是如果我理解正确的话,对于域名,我会遇到与分片完全相同的问题,即.在某些时候需要在应用程序级别跨域实现数据记录的分发和查询.
即使对于我在整个应用程序中使用的最简单的对象,即.原子用户评级,SDB不是一个选项,因为它无法计算查询中的平均值(一切都是基于字符串的).因此,要计算对象的平均用户评级,我必须加载所有记录 - 一次250个 - 并在应用程序级别计算它.
我错过了关于SDB的一些事情吗?10GB真的可以用来克服所有SDB限制吗?我真的很热衷于利用SDB,因为我已经使用了S3和EC2,但现在我根本没有看到用例.
什么情况更有意义 - 安装了几个安装了MongoDB的EC2实例,或者更确切地说使用Amazon SimpleDB Web服务?
当有几个使用MongoDB的EC2实例时,我遇到了自己设置实例的问题.
使用SimpleDB时,我遇到了将我锁定到Amazons数据结构的问题吗?
发展方面有什么不同?我不应该只是切换服务层的DAO,写入MongoDB或AWS SimpleDB吗?
对不起,如果这个问题有些主观.我是"可以存储","分布式商店"或类似这样的概念的新手.我真的很想知道他们有什么共同之处,并希望对所有这些有所了解.如果我想编写与此类似的产品,我需要准备什么?
我正处于设计应用程序的早期阶段,该应用程序必须具有高可用性和可扩展性.出于多种原因,我想为此使用最终的一致性数据模型.我知道并理解为什么这是许多解决方案不受欢迎的架构选择,但在我的案例中这很重要.
我正在寻找真实世界的建议,最佳实践以及在处理分布式/文档式数据库时需要注意的问题.尤其是电子商务(购物车风格)应用程序周围的区域,传统上更容易与关系数据库组合在一起.
我知道使用这些类型的数据库具有挑战性,但是嘿,Google和E-bay使用它们所以它们不能那么难;-)任何建议都会受到赞赏.
SimpleDB与MongoDB类似吗?
我正在使用亚马逊的工具来构建一个Web应用程序.我对他们很满意,但我有安全问题.
现在,我正在使用多个EC2实例,S3,SimpleDB和SQS.为了验证对不同服务的请求,您需要包含访问标识符(需要登录).
例如,要从EC2实例将文件上载到S3,您的EC2实例需要具有您的访问密钥ID和您的秘密访问密钥.
这基本上意味着您的用户名和密码需要在您的实例中.
如果我的某个实例遭到入侵,我的所有亚马逊资产都将受到损害.密钥可用于上传/替换S3和SimpleDB数据,启动和停止EC2实例等.
如何最大限度地减少单个受感染主机的损坏?
我的第一个想法是为每个帐户获取多个标识符,以便我可以跟踪所做的更改并快速撤消"黑客"帐户.亚马逊每个帐户不支持多套凭据.
我的第二个想法是创建多个帐户并使用ACL来控制访问.遗憾的是,并非所有服务都支持授予其他帐户访问您的数据的权限.加上你使用的带宽越便宜,所以拥有一个帐户是理想的.
有没人处理过,或者至少考虑过这个问题?
security amazon-s3 amazon-ec2 amazon-web-services amazon-simpledb
我正在尝试解决如何迭代返回的SimpleXML对象.
我正在使用一个名为Tarzan AWS的工具包,它连接到Amazon Web Services(SimpleDB,S3,EC2等).我特意使用SimpleDB.
我可以将数据放入Amazon SimpleDB服务,我可以将其恢复.我只是不知道如何处理返回的SimpleXML对象.
Tarzan AWS文档说明了这一点:
查看响应以浏览响应的标题和正文.请注意,这是一个对象,而不是一个数组,并且正文是一个SimpleXML对象.
这是返回的SimpleXML对象的示例:
[body] => SimpleXMLElement Object
(
[QueryWithAttributesResult] => SimpleXMLElement Object
(
[Item] => Array
(
[0] => SimpleXMLElement Object
(
[Name] => message12413344443260
[Attribute] => Array
(
[0] => SimpleXMLElement Object
(
[Name] => active
[Value] => 1
)
[1] => SimpleXMLElement Object
(
[Name] => user
[Value] => john
)
[2] => SimpleXMLElement Object
(
[Name] => message
[Value] => This is a message.
)
[3] = … 像Google BigTable和Amazon SimpleDB这样的新学校数据存储范例是专门为可扩展性而设计的.基本上,禁止连接和非规范化是实现这一目标的方法.
然而,在这个主题中,共识似乎是大型表上的连接不一定必须太昂贵,并且非规范化在某种程度上被"高估"为什么然后,这些上述系统不允许连接并强制所有连接在一起单表实现可扩展性?是否需要存储在这些系统中的大量数据(许多兆兆字节)?
数据库的一般规则是否根本不适用于这些尺度?是因为这些数据库类型专门用于存储许多类似的对象吗?
或者我错过了一些更大的图片?
database scalability bigtable amazon-simpledb key-value-store
我正在开发一个数据大小和SQL查询很重的应用程序.我在Cassandra或Amazon SimpleDB之间思考.你能否建议哪种更适合这种情况?
Cassandra数据索引似乎比Amazon SimpleDB更好,但与Amazon SimpleDB相比,查询的选项更少.似乎Amazon SimpleDB具有很高的I/O速率.
很少有复杂的用例是具有不同过滤器的用户活动,用户可以将其缩小到一些有趣的活动.
如果你认为除了这两个之外还有更清洁,更好的解决方案,请提出建议.
amazon-simpledb ×10
nosql ×3
bigtable ×2
cassandra ×2
couchdb ×2
database ×2
mongodb ×2
amazon-ec2 ×1
amazon-s3 ×1
hypertable ×1
php ×1
scalability ×1
security ×1
simplexml ×1