MongoDB与Amazon DynamoDB:分布式数据库的特性与应用
1. MongoDB的分布式特性
MongoDB为实现水平扩展,提供了两种数据分区或分片策略:基于哈希的分片和基于范围的分片。用户需为每个文档定义一个分片键,该键基于一个或多个字段值。在创建文档时,MongoDB会根据以下两种方式选择存储文档的数据库分片:
- 对分片键应用哈希函数的结果。
- 存储分片键所在范围的分片。
MongoDB的分片部署需要部署多个不同的数据库组件:
- mongod进程 :MongoDB数据库守护进程,必须在每个分片上运行。
- mongos进程 :负责处理数据库客户端查询,将请求路由到目标分片,并将结果返回给客户端。
- 配置服务器 :存储数据库集群配置元数据,mongos根据分片键值使用这些元数据将查询路由到正确的分片。
mongos进程充当客户端MongoDB驱动程序和数据库分片之间的代理,所有客户端请求都必须通过mongos实例。mongos没有持久状态,仅缓存从配置服务器获取的集群配置信息。
以下是MongoDB数据库部署的三种基本配置方式:
| 配置方式 | 描述 | 优点 | 缺点 |
| ---- | ---- | ---- | ---- |
| 配置(A) | 在每个充当MongoDB客户端的应用服务器上部署一个mongos。 | 减少延迟,因为每个客户端对mongos的请求都是本地调用。 | 无 |
| 配置(B) | 在每个数据库分片上部
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



