本文目录一览:
MongoDB自动分片介绍
1、MongoDB的分片机制能够帮助你将你的数据库划分到多个服务器,通常在生产环境中可以将数据集划分到多个副本集中。但分片最好在数据库建立早期划分,因为一旦你的数据大于512GB那么分片划分就不是那么容易了。
2、MongoDB 的数据分块称为 chunk。每个 chunk 都是 Collection 中一段连续的数据记录,通常最大尺寸是 200MB,超出则生成新的数据块。
3、面向集合存储,容易存储对象类型的数据。在MongoDB 中数据被分组存储在集合中,集合类似RDBMS 中的表,一个集合中可以存储无限多的文档。(2)模式自由,采用无模式结构存储。
4、MongoDB的分片框架中有3个角色:1)Query Routers:路由 2)Config servers:元数据服务器 3)Shards:数据节点 接着是坐标系的定义:MongoDB可通过索引来获取相关对象的地址,成为“坐标系”。
MongoDB分片片键如何选择
正如你所见,分片之后数据的存放位置依赖于片键,所以合理的选择片键十分重要。
使用片键的取值范围指定数据块 设置分片的时候,需要从集合里选出一个字段,用该字段的值作为数据拆分的依据,这个字段称为片键(shard key),文档中的数据按照这个字段排序切分成块,分布到各个片上。
调整数据分布和负载模式也不轻松.MongoDB支持自动分片,可以摆脱手动分片的管理.集群自动切分数据,做负载均衡。
如何搭建mongodb分片
1、要构建一个 MongoDB Sharding Cluster,需要三种角色:Config Server 为了将一个特定的collection存储在多个shard中,需要为该collection指定一个shard key,例如{age: 1} ,shard key可以决定该条记录属于哪个chunk。
2、为了实现分片,你必须向MongoDB指定使用哪个索引作为片键,然后MongoDB会根据你的设置将你的数据划分到有着相同片键的数据块(Chunk)中。而后这些数据块将根据片键的大致顺序分散到副本集中。
3、创建数据库路径(data目录)、日志路径(logs目录)和日志文件(mongo.log文件),完成后如下图所示 创建配置文件mongo.conf。