初识MongoDB -

2018-04-19  本文已影响0人  机器不能学习

MongoDB是一个开源的文档数据库(文档数据库是NOSQL的重要组成部分)它提供了高性能,高能用性和自动伸缩比的功能。

MongoDB是把数据记录在一个文档中,里面的数据结构有点类似JSON。这个值由dield:value组成,有点类似键值形式。

优势:

1.文档符合非强制数据类型的编程语言

2.嵌入式的文档减少了像关系数据库一样的内联

3.动态模式支持了多态性

4.嵌入式的数据模型有助于减少IO的消耗在数据库体系中

5.索引有着更快query能力,可以包含嵌入式文档的key

分片群集:

MongoDB由三个板块组成一个完整的体系(sharded cluster分片群集)。

1.shard(shardsvr)  切片

切片相当于关系数据库中的存储端,它包含了一个切片数据,并且一个切片应有多个副本集,它们存着相同的数据当作备份。一个库中数据可能会被切分成多份分给多个切片,一个群集中所有切片数据加起来就是全部数据了。

登陆命令

mongod --shardsvr --dbpath c:\mongodb\shard1-3\data --port 1114 --bind_ip=127.0.0.1 --replSet=replcopy1

2.mongos 路由服务器

它提供一个接口给用户应用,并且会把数据分享给他们。

登陆命令

mongod --configsvr --replSet=conf --port 4446 --dbpath C:\mongodb\conf\config3\data --logpath C:\mongodb\conf\config3\log.log --bind_ip=127.0.0.1 --journal

3.config servers  配置服务器

配置服务器存储了元数据和集群的配置信息。在3.4版本之后,配置服务器就应建立副本集了。

登陆命令

mongos --configdb conf/127.0.0.1:4444,127.0.0.1:4445,127.0.0.1:4446 --port 30000 --bind_ip=127.0.0.1 这里的conf要配置多个

结构介绍

Database ->数据库

collection ->表

document ->数据

shard Keys:当要分配collection中的数据给片时,需要一个key作为标准,它可以规定从哪里开始分从哪里结束分。

chunks:数据块。MongoDB会把被分享的data划分成多个数据块。每个数据库都有一个最小和最大的shard key。

shard优势

MongoDB支持读写分离,并且

Both read and write workloads can be

scaled horizontally across the cluster by adding more shards.(通过增加shard可以在集群中横向增加读写效率)

Asharded clustercan continue to perform partial read / writeoperations even if one or more shards are unavailable. While the subset ofdata on the unavailable shards cannot be accessed during the downtime, readsor writes directed at the available shards can still succeed.(就算有机器停止运行,读写工作都能在部分继续经行)

分组方式

hashed sharding

哈希会为key计算一个哈希值,通过哈希值来对数据经行分类并放在不同的chuck中

randed sharding

排列分享,将相近的数据放在同一个chuck中

分析片

https://blog.csdn.net/long12310225/article/details/77689460

分片的维护

https://blog.csdn.net/yisun123456/article/details/78284128

常见操作和java调用api

https://blog.csdn.net/u011191463/article/details/70060806

上一篇下一篇

猜你喜欢

热点阅读