SimpleDB 和 MongoDB 类似吗?
最佳答案
最大的相似之处在于它们都避免了关系模型。除此之外,无论您以何种方式看待它们,它们都主要是不同的。以下是对它们进行比较的十几种方法的分割。
简单数据库
- 由 Amazon 托管、维护和扩展的 Amazon 服务。超出免费使用层级后,您每个月都需要为使用量付费。
- 所有数据都在后台实时复制到多个数据中心
- 所有副本都能够为实时请求提供服务
- 网络或服务器出现故障后,任何不同步的节点都会自动重新同步
- 后台复制导致最终的一致性,但更高的(理论上)可用性
- 所有数据都存储为字符串名称/字符串值对,每个都与一个 ItemName 相关联
- 每个项目限制为半兆字节(每个名称或值只能是 1024 字节长,每个项目包含 256 个名称/值对)每个域可以容纳 10GB
- 这些限制使其适用于可以分解成小块的数据集。
- SimpleDB 针对并行执行的许多小请求进行了优化
- 每个数据域都有吞吐量限制
- 通过将数据分散到更多域来实现横向可扩展性
- 所有属性值都被自动索引,复合索引不存在(但可以模拟)
- 使用(精简的)类似 SQL Select 的查询语言执行查询
MongoDB
- 您在自己的服务器上安装和维护的开源产品。
- 数据可以在主从模式下复制
- 只有 master 可以服务实时写入请求,slave 可以服务查询(非推荐的 limited-master-master 模式除外)
- 在网络或服务器出现故障或副本落后太多时,始终需要运算符(operator)干预。
- 单主是强一致的。
- 所有数据都存储为序列化的 JSON 文档,允许使用大量数据类型
- 每个文档限制为 4MB,更大的文档可以使用特殊的文档分 block 系统存储
- 最适合中小型数据和小型二进制对象
- 吞吐量限制由 MongoDB 和您的硬件决定
- 通过更大的服务器实现垂直扩展, future 通过当前正在开发的分片模块在您自己的服务器集群中实现水平扩展的潜力。
- 文档 ID 会自动编入索引。可以根据需要创建和删除索引。索引可以用于单个键或复合。
- 使用 JSON 样式的查询语言执行查询。
关于mongodb - SimpleDB 与 MongoDB 类似吗?它们都是键/值类型数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1884577/