25、MongoDB与Amazon DynamoDB:分布式数据库的特性与应用

MongoDB与Amazon DynamoDB:分布式数据库的特性与应用

1. MongoDB的分布式特性

MongoDB为实现水平扩展,提供了两种数据分区或分片策略:基于哈希的分片和基于范围的分片。用户需为每个文档定义一个分片键,该键基于一个或多个字段值。在创建文档时,MongoDB会根据以下两种方式选择存储文档的数据库分片:
- 对分片键应用哈希函数的结果。
- 存储分片键所在范围的分片。

MongoDB的分片部署需要部署多个不同的数据库组件:
- mongod进程 :MongoDB数据库守护进程,必须在每个分片上运行。
- mongos进程 :负责处理数据库客户端查询,将请求路由到目标分片,并将结果返回给客户端。
- 配置服务器 :存储数据库集群配置元数据,mongos根据分片键值使用这些元数据将查询路由到正确的分片。

mongos进程充当客户端MongoDB驱动程序和数据库分片之间的代理,所有客户端请求都必须通过mongos实例。mongos没有持久状态,仅缓存从配置服务器获取的集群配置信息。

以下是MongoDB数据库部署的三种基本配置方式:
| 配置方式 | 描述 | 优点 | 缺点 |
| ---- | ---- | ---- | ---- |
| 配置(A) | 在每个充当MongoDB客户端的应用服务器上部署一个mongos。 | 减少延迟,因为每个客户端对mongos的请求都是本地调用。 | 无 |
| 配置(B) | 在每个数据库分片上部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值