日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

NoSQL(3)

發布時間:2025/3/8 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NoSQL(3) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是MongoDB ?

MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。

在高負載的情況下,添加更多的節點,可以保證服務器性能。

MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB 將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。

MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。

2、MongoDB特性

MongoDB是一個可擴展、高性能的下一代數據庫,它的特點是高性能、易部署、易使用、存儲數 據方便,主要特性有:

? 面向文檔存儲,json格式的文檔易讀、高效;

? 模式自由,支持動態查詢、完全索引,無模式;

? 高效的數據存儲,效率提高;

? 支持復制和故障恢復;

? 以支持云級別的伸縮性,支持水平數據庫集群,可動態添加額外服務器;

3、MongoDB的工作方式

傳統的關系型數據庫一般有數據庫(database)、表(table)、記錄(record)三級層次構成。

MongoDB同樣是由數據庫(database)、集合(collection)、文檔對象(documen)三個層次組 成。

文檔 類似于json的鍵值對。{"name":"tom","age":23} 集合 一組文檔的集合。

4、MongoDB局限與不足

32位系統上,不支持大于2.5G的數據。

單個文檔大小限制為16M。

鎖粒度太粗,MongoDB使用一把全局讀寫鎖。

不支持join操作和事務機制 對內存要求比較大,至少要保證熱數據(索引,數據及系統其他開銷)都能裝進內存

用戶權限方面較弱 MapReduce在單個實例上無法運行,可用Auto-Sharding實現,是由JS引擎限制造成。

MapReduce的結果無法寫入到一個被Sharding的collection中,待后續版本解決

對于數組型的數據操作不夠豐富

?

1、使用yum在線安裝MongoDB?

配置yum源

[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/4.2/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

[root@localhost yum.repos.d]# yum list | grep -i mongodb

重點關注:libmysqlclient.so.18()(64bit)
解決:
缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm這個包
# wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
# rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm?

我們下載完后,啟動服務就行了。這也太慢了

?

2、源碼安裝MongoDB并配置服務腳本?

下載軟件包:

鏈接:https://pan.baidu.com/s/1GfDaKYbaKBK5xHln8qspMg?
提取碼:yang?

解壓:

tar xf mongodb-linux-x86_64-rhel70-3.4.7.tgz ?-C /usr/local/

創建數據目錄:

啟動:

echo "export PATH=$PATH:/usr/local/mongodb/bin" > /etc/profile.d/mongo.sh

source /etc/profile.d/mongo.sh

mongod --dbpath /data/db/ &

?ps -ef | grep mongod

netstat -lnupt | grep 27017

lsof -i tcp:27017

以系統服務方式啟動:(服務腳本沒有成功,有待修正)

創建配置文件mongod.conf

vim /usr/local/mongodb/bin/mongod.conf

systemLog:
destination: file?
path: /usr/local/mongodb/log/mongodb.log?
logAppend: true
storage:
dbPath: /usr/local/mongodb/data?
processManagement:
fork: true?

?

按配置文件設置創建日志和數據文件存放目錄:

[root@localhost ~]# mkdir -p /usr/local/mongodb/{data,log}

配置mongodb.service文件

vim /usr/lib/systemd/system/mongodb.service

[Unit]
Description=mongodb service daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f ?/usr/local/mongodb/bin/mongod.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f ?/usr/local/mongodb/bin/mongod.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

?

保存mongodb.service文件后,需要輸入命令進行重新加載.

3、基本操作作業?

1)創建一個數據庫 名字grade?

use grade


2)數據庫中創建一個集合名字 class?

db.createCollection('class')

3)集合中插入若干數據 文檔格式如下 {name:'zhang',age;10,sex:'m',hobby:['a','b','c']} hobby: draw sing dance basketball football pingpong computer?


自行插入數據,后面查詢使用?
4)查詢操作?
查看班級所有人信息?

db.class.find()


查看班級中年齡為8歲的學生信息?

db.class.find({age:8})

查看年齡大于10歲的學生信息?

db.class.find({age:{$gt:10}})

查看年齡在 4---8歲之間的學生信息?

db.class.find({age:{$gt:4,$lt:8}})


找到年齡為6歲且為男生的學生?

db.class.find({age:6,sex:'m'})



找到年齡小于7歲或者大于10歲的學生?

db.class.find({$or:[{age:{$gt:10}},{age:{$lt:7}}]})


找到年齡是8歲或者11歲的學生?

db.class.find({age:{$in:[8,11]}})


找到興趣愛好有兩項的學生?

db.class.find({hobby:{$size:2}})


找到興趣愛好有draw的學生?

db.class.find({hobby:"draw"})



找到既喜歡畫畫又喜歡跳舞的學生?

db.class.find({hobby:{$all:['draw','dance']}})


統計愛好有三項的學生人數?

?db.class.find({hobby:{$size:3}}).count()


找出本班年齡第二大的學生?

db.class.find({}).sort({age:-1}).skip(1).limit(1)


查看學生的興趣范圍?

db.class.distinct('hobby')


將學生按年齡排序找到年齡最大的三個?

db.class.find({}).sort({age:-1}).limit(3)



刪除所有 年級大于12或者小于4歲的學生

db.class.remove({$or:[{age:{$lt:6}},{age:{$gt:12}}]})

?

5)增加、更新、刪除、統計?
將小紅的年齡變為8歲 興趣愛好變為 跳舞 畫畫?
追加小明興趣愛好 唱歌?
小王興趣愛好增加 吹牛 打籃球?
小李增加愛好,跑步和唱歌,但是不要和以前的重復?
該班所有同學年齡加1?
刪除小明的sex屬性?
刪除小李興趣中的第一項?
將小紅興趣中的畫畫愛好刪除?
增加分數域 score:{'chinese':88,'english':78,'math':98}?
1. 按照性別分組統計每組人數?
2. 按照姓名分組,過濾出有重名的同學?
3. 統計每名男生的語文成績?
4. 將女生按照英語分數降序排列

未完待續

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的NoSQL(3)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av免费观看在线 | 爱情岛论坛自拍亚洲品质极速最新章 | 亚洲一区二区三区四区五区六区 | av资源网在线| 久草视频观看 | 国产交换配乱淫视频免费 | 五月激情在线 | av在线官网 | 国产精品suv一区二区69 | 免费看污片的网站 | 中文字幕乱码亚洲精品一区 | 在线天堂中文字幕 | 欧美激情15p| 午夜老司机免费视频 | 成年人视频网址 | 夜夜操导航 | 国产激情福利 | 欧美理伦片在线播放 | jizz性欧美2| 色老妹| 91精品国产乱码久久久 | 美女色诱男人激情视频 | 成人黄色激情视频 | 日韩av网址大全 | 91一区在线 | 激情春色网 | 久久人人爽人人爽 | 国产精品第56页 | 久久久久久久久久久影院 | 精品午夜久久 | 卡通动漫亚洲综合 | 污黄网站在线观看 | 色婷婷视频在线 | 中文字幕被公侵犯的漂亮人妻 | 亚洲av无码精品色午夜果冻不卡 | 亚州精品视频 | 黄色网战入口 | 久久精品中文字幕 | 梦梦电影免费高清在线观看 | 日韩伊人网 | 国产精品天美传媒 | 一边摸一边做爽的视频17国产 | 欧美午夜精品理论片a级按摩 | 久久久涩 | 久久精品国产精品亚洲色婷婷 | 澳门一级黄色片 | 日韩a级在线观看 | 综合色在线 | 色呦网站 | 色羞羞 | 国产麻豆精品在线观看 | 毛片毛片 | 国产免费www| 在线免费观看网站入口在哪 | 色妞综合网 | 一级艳片新婚之夜 | 免费观看黄色网页 | 国产视频一区二区在线观看 | 伊人成人在线观看 | 美女一区 | 免费看片网站91 | 亚洲 日本 欧美 中文幕 | 91精品免费观看 | 成人免费性生活视频 | 午夜在线一区二区三区 | 亚洲精品国产成人久久av盗摄 | 中日韩在线 | 日韩欧美手机在线 | 午夜精品久久久久久久99老熟妇 | 羞羞的视频在线观看 | 欧美性xxxxx极品娇小 | 国产精品色婷婷99久久精品 | 久久精品香蕉 | 欧美视频一区二区三区在线观看 | 东方伊甸园av在线 | 欧美乱码精品一区二区 | 特大黑人巨交性xxxx | 深夜视频在线看 | 精品国产欧美日韩 | 亚洲精品一区二区三区新线路 | 全部免费毛片在线播放高潮 | 调教丰满的已婚少妇在线观看 | 午夜精品福利一区二区三区蜜桃 | 国产喷水福利在线视频 | 视频一区二区视频 | 黄色在线免费看 | 看av免费毛片手机播放 | 成人深夜福利在线观看 | 国内av自拍| 国产精品人妻一区二区三区 | 91喷水视频| 黄色a级片视频 | 热久久久久久 | 精品在线视频免费观看 | 国产aaa毛片 | 激情图片在线视频 | 哈利波特3在线观看免费版英文版 | 又大又粗欧美黑人aaaaa片 | 成人免费视频国产 |