【mongodb 学习笔记 09 -- shard分片】教程文章相关的互联网学习教程文章

MongoDB 学习笔记之 分片和副本集混合运用【代码】【图】

基本架构图:搭建详细配置: 3个shard + 3个replicat set + 3个configserver + 3个MongosshardrsnamePrimarySecondarySecondaryportbigdata-sh-abigdata-sh-a1bigdata-sh-a2bigdata-sh-a328111bigdata-sh-bbigdata-sh-b2bigdata-sh-b1bigdata-sh-b328112bigdata-sh-cbigdata-sh-c3bigdata-sh-c2bigdata-sh-c128113bigdata-csconfigserver1configserver2configserver328200 在三台Linux机器的mongo根目录下建立如下文件夹: Log: ...

MongoDB 学习笔记之 手动预先分片【图】

目的:手动预先分片是为了防止未来chunk的移动,减少IO。 sh.shardCollection("shop.users",{"userId": 1 }) for(var i=1; i<=30; i++){ sh.splitAt("shop.users", {userId: i*1000}) } 插入数据进行验证: for(var i=1; i<30000; i++){ db.users.insert({userId: i,name: ‘hello‘}) }由上可见,数据被均匀的分配在不同shard上。 MongoDB 学习笔记之 手动预先分片标签:shard 移动 img 插入 mongod 技术分享 spa...

mongodb 学习笔记【代码】

1. 登陆MongoDB下面这个命令用于登录MongoDB数据库。请确保在数据库dbname中存在对应用户的凭据(比如,用户名和密码)。mongo -u <username> -p <password> --authenticationDatabase <dbname>2. 显示所有的数据库一旦用户以适当的角色登录到数据库后,例如 userAdmin 或者 userAdminAnyDatabase,就可以用下面这个命令查看所有的数据库:show dbs3. 选择工作数据库要使用指定的数据库,请执行以下命令:use databaseName4. 身份验...

MongoDB 学习笔记之 TTL索引,部分索引和文本索引【图】

TTL集合支持mongodb对存储的数据进行失效时间设置,经过指定的时间段后、或在指定的时间点过期,集合自动被mongod清除。这一特性有利于对一些只需要保存一定时间的数据信息进行存储,比如机器产生的事件数据、日志、会话信息等。 先创建一个集合TTLCol: 创建TTL索引,60秒过期。60秒后查询发现数据被删除了。 部分索引: MongoDB部分索引只为那些在一个集合中,满足指定的筛选条件的文档创建索引。由于部分索引是一个集合文档的一...

MongoDB 学习笔记之 Aggregation Pipeline【图】

常用操作符介绍: $project:包含、排除、重命名和显示字段 $match:查询,需要同find()一样的参数 $limit:限制结果数量 $skip:忽略结果的数量 $sort:按照给定的字段排序结果 $group:按照给定表达式组合结果 $lookup: 左连接 $unwind:展开嵌入数组 定义comments和leftT集合: $project:$match:$limit:$skip:$sort:$group: $lookup: $unwind: MongoDB 学习笔记之 Aggregation Pipeline标签:展开 src 常...

MongoDB 学习笔记之 地理空间索引入门【图】

地理空间索引,可用于处理基于地理位置的查询。 Point:用于指定所在的具体位置,我们以restaurants为例: db.restaurants.insert({name: "Citi", loc: {type: "Point", coordinates: [52.37, 5.21]}}) db.restaurants.insert({name: "SAP", loc: {type: "Point", coordinates: [51.91, 4.41]}}) db.restaurants.insert({name: "IBM", loc: {type: "Point", coordinates: [52.36, 4.89]}})创建2dsphere索引:(经度默认范围是-18...

MongoDB 学习笔记之 Aggregation Pipeline实战实现inner join【代码】【图】

leftT集合: comments集合: 现在我们要用aggregation实现inner joindb.comments.aggregate([{ $lookup: { from:"leftT", localField:"timestamp", foreignField:"timestamp", as: "timestampCol" }}, {$unwind: "$timestampCol"}, {$project: {"ratingEQ": {"$eq": ["$rating", "$timestampCol.rating"]}, "timestamp" : 1, "rating" : 1, "timestampCol.timestamp": 1}}, {$match: {"ratingEQ":true}} ]) 是不是很神奇? 步骤解...

MongoDB 学习笔记之 匹配完整数组【图】

创建一个集合(包含数组) db.ArrayTest.insert({name: "Sky" , address: [{"street" : "JingKe", num: 12, code: 200101},{"street" : "GuangLan", num: 1, code: 222201}]})db.ArrayTest.insert({name: "Bill" , address: [{"street" : "ZhangJiang", num: 12, code: 200101},{"street" : "JingKe", num: 19, code: 222201}]})我想查询"street" : "JingKe", num: 12的文档。 db.ArrayTest.find({"address.street": "JingKe", "ad...

[转]MongoDB学习笔记(robomongo 数据查询)

1. 基本查询: 构造查询数据。 > db.test.findOne() { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "stephen@hotmail.com" } --多条件查询。下面的示例等同于SQL语句的where name = "stephen" and age = 35 > db.test.find({"name":"stephen","age":35}) { "_id" : ObjectId("4fd58ecbb9ac507e9...

MongoDB 学习笔记之 $push,$each,$slice组合使用【图】

使用$push给数组添加2个新成员 db.ArrayTest.updateOne({ "name" : "Bill"},{$push: {"address": {$each: [{"street" : "Xuhui"},{ "street" : "Xingzhuang", "num" : 1}]}}})查看结果:新数据已经被添加。 $slice在$push中是为了限制数组的总长度,-1说明数组长度为1,-5说明数组长度为5,数组为0说明数组是空。 假设原先address数组中有3个元素:db.ArrayTest.updateOne({ "name" : "Bill"},{$push: {"address": {$each: [{"st...

MongoDB 学习笔记之 删除数据,集合,数据库

MongoDB 学习笔记之 删除数据,集合,数据库标签:注意 mon remove base database color drop 文档 ase 本文系统来源:http://www.cnblogs.com/AK47Sonic/p/7530672.html

MongoDB 学习笔记之 WriteConcern【图】

转载:MongoDB WriteConcern(写关注)机制 http://www.ywnds.com/?p=3688&viewuser=40 MongoDB部署模式 MongoDB的部署模式有三种:第一种是单机模式(开发测试);第二种是高可用复制集;第三种是可扩展分片集群。如下图所示。知道了MongoDB几种常用的部署模式之后,接下来我们看看每种部署模式的写操作过程。 MongoDB单点写操作从上图可以看出,其中primary是MongoDB的一个实例,里面有两个内存区域,一个是Data Buffer(数据缓冲...

MongoDB 学习笔记之 mongo-connector安装【图】

https://github.com/mongodb-labs/mongo-connector 1. yum -y install openssl* 2.编译安装python3 下载地址:https://www.python.org/ftp/python/tar zxvf Python-3.5.2.tgz cd Python-3.5.2 ./configure make && make install (在安装结尾出可以看到pip3已经被安装的提示,如果提示require TLS/SSL,说明没有安装openssl-devel) yum install openssl-devel -y 3.pip3安装成功后,安装mongo-connector: pip3 install --target=/u...

MongoDB 基本操作学习笔记

查看所有数据库 show dbs // amdin 0.000GB // local 0.000GB// 使用数据库 use admin // switched to db admin// 创建数据库:向数据库中插入记录 db.user.insert({ ‘name‘: ‘wangxi‘ }) // WriteResult({ "nInserted" : 1 })// 显示当前数据库 db // admin// 查询当前集合中的文档 db.user.find() // { "_id" : ObjectId("59f7f0088cc643905a25fa7f"), "name" : "wangxi" }// 根据条件查询(and 条件查询) db.user.find({...

mongodb的基本概念 学习笔记(二)

mongodb的基本概念1.文档1.1定义:文档是mongodb的核心概念。多个键及其关联的值有序地放 置在一起便是文档。 文档可以理解为关系数据库总的一行数据。1.2表示方法:{"greeting":"hello,world"}1.3注意事项:文档包含多个键/值 对文档中的键/值 对是有序的文档中的值不仅可以使字符串,还可以是其他数据类型文档中的键是字符串。 键不能含有 \0 . $ 特殊字符 _也是保留的2.集合2.1 定义:集合就是一组文档。可以理解问等同于关系数...