国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB

這篇具有很好參考價值的文章主要介紹了企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、背景描述及其方案設(shè)計

(一)業(yè)務(wù)背景描述

(二)模擬運維設(shè)計方案

二、Mongodb介紹

(一)nosql介紹

(二)產(chǎn)品特點

1、存儲性

2、 效率性

3、結(jié)構(gòu)

?三、安裝和配置

(一)安裝方式介紹

(二)二進制可執(zhí)行安裝

1、上傳安裝包到服務(wù)器目錄

2、 解壓到安裝目錄 并移動

?3、創(chuàng)建數(shù)據(jù)存儲目錄和日志目錄

4、啟動mongod服務(wù)

?(三)命令行客戶端操作

?四、數(shù)據(jù)結(jié)構(gòu)類型操作 CURD

(一)添加數(shù)據(jù)

1、mongodb里存儲數(shù)據(jù)的格式文檔形式,以bson格式的文檔形式。

2、 語法:db.集合名稱.insert(bson格式數(shù)據(jù))

3、普通數(shù)據(jù)添加

4、多維數(shù)據(jù)對象添加

?5、數(shù)組信息添加

?(二)查詢數(shù)據(jù)

1、語法:

2、籠統(tǒng)方式查詢

?3、條件限制查詢

?4、范圍條件查詢

5、多個條件查詢

6、多維字段查詢

7、數(shù)組條件查詢

(1)查詢滿足其中之一即可顯示

?(2)滿足查詢條件所有的才可顯示

8、限制查詢字段

?9、$or查詢

10、count 語法

?11、limit語法 skip語法

?(三)修改數(shù)據(jù)

?1、語法:

2、有$set的修改

3、 沒有$set的修改

?(四)刪除數(shù)據(jù)

1、刪除記錄

2、刪除字段

?五、安全設(shè)置

(一)限制登錄

1、使用另外一臺虛擬機,使用mongo命令行端進行測試

?編輯 2、關(guān)閉mongodb

3、 添加啟動的腳本,啟動mongod

?4、使用遠程登錄mongod服務(wù)

(二) 用戶權(quán)限管理

1、需求

2、語法:

3、實現(xiàn)步驟:

①切換admin庫,進行用戶創(chuàng)建

②關(guān)閉mongod服務(wù),重啟添加權(quán)限參數(shù)并啟動

?編輯?③測試使用

?編輯?六、業(yè)務(wù)實例

?(一)PHP擴展安裝

1、上傳php擴展包

2、解壓編譯安裝

3、添加php.ini匹配

4、重啟php-fpm查看phpinfo

?(二)桌面管理使用

?1、軟件是綠色版本,直接解壓,點擊使用即可

2、填寫相關(guān)參數(shù)

??編輯

?3、測試是否可以正常連接

4、點擊連接

?5、查看數(shù)據(jù)

?(三)日志統(tǒng)計展示

1、很多網(wǎng)站需要統(tǒng)計某個頁面或者某個功能訪問量,如果訪問量比較大,需要記錄的組件具有很快的讀寫效率??梢允褂霉δ苄愿嗟膍ongodb來完成此業(yè)務(wù)。mongodb具有更多的數(shù)據(jù)靈活性。

2、網(wǎng)站訪問日志記錄的信息:

3、使用服務(wù)器

4、Tip:nginx負載均衡服務(wù)器解決后端服務(wù)獲取不到真實用戶IP的方式

①在負載均衡nginx服務(wù)器,填寫真實用戶IP的轉(zhuǎn)發(fā)

②web服務(wù)器的nginx需要配置接收真實的用戶IP,需要使用到模塊--with-http_realip_module,在編譯安裝nginx時需要加入

③配置語法

?編輯 ④操作實現(xiàn)步驟:

?(1)刪除原來的文件

(2)上傳修改好的文件

(3)訪問頁面之后,可以查看到訪問已經(jīng)被記錄


一、背景描述及其方案設(shè)計

(一)業(yè)務(wù)背景描述

?戶數(shù)量: 10000-12000(?戶量猛增)
PV : 1000000-5000000(24小時訪問次數(shù)總和)
QPS: 50-100*(每秒訪問次數(shù))? 300
DAU: 2000~*000(每日活躍用戶數(shù))

根據(jù)業(yè)務(wù)需求:

用戶訪問日志是在web服務(wù)器access.log存儲

統(tǒng)計每日訪問量,峰值訪問量

把每次訪問存儲到mongodb中,mongodb用來篩選日志

(二)模擬運維設(shè)計方案

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

根據(jù)以上業(yè)務(wù)需求,采用mongodb數(shù)據(jù)庫存儲用戶的訪問日志,使用單臺服務(wù)器

①訪問日志存儲

②在mongo中篩選查看信息

二、Mongodb介紹

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

(一)nosql介紹

數(shù)據(jù)庫排名:https://db-engines.com/en/ranking

關(guān)系數(shù)據(jù)庫 RDBMS?? 設(shè)計表結(jié)構(gòu),通過SQL語句進行操作。連表關(guān)系

常見的關(guān)系型數(shù)據(jù)庫:mysql oracle(商業(yè)) DB2(IBM) sqlserver(微軟) access(微軟) sqlite3(小型 嵌入到APP中) postgresql(加州伯克利大學(xué))

nosql 泛指非關(guān)系數(shù)據(jù)庫 存儲格式key=>value ??

memcached ??redis 內(nèi)存緩存數(shù)據(jù)庫??

mongodb ?具有更多的功能,可以適用于大部分的mysql場景 document store ?文檔型數(shù)據(jù)庫

(二)產(chǎn)品特點

1、存儲性

比較適合存儲大量的沒有規(guī)則無序的數(shù)據(jù)。

存儲量大:單表實現(xiàn)存儲PB級別的數(shù)據(jù)

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

1PB = 1024TB

1EB (Exabyte 百億億字節(jié) 艾字節(jié))=1024PB,

1ZB (Zettabyte 十萬億億字節(jié) 澤字節(jié))= 1024EB,

1YB (Yottabyte 一億億億字節(jié) 堯字節(jié))= 1024ZB,

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

2、 效率性

數(shù)據(jù)的效率,就是指存儲和讀寫速度。

?企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

3、結(jié)構(gòu)

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?三、安裝和配置

(一)安裝方式介紹

yum方式安裝:Install MongoDB Community Edition on Red Hat or CentOS — MongoDB Manual

手動通用安裝:Install MongoDB Community Edition on Linux — MongoDB Manual

(二)二進制可執(zhí)行安裝

1、上傳安裝包到服務(wù)器目錄

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

2、 解壓到安裝目錄 并移動

shell > tar xvf mongodb-linux-x86_64-rhel62-3.6.5.tgz
shell > mv mongodb-linux-x86_64-rhel62-3.6.5 /usr/local/mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?3、創(chuàng)建數(shù)據(jù)存儲目錄和日志目錄

shell > cd /usr/local/mongodb

shell > mkdir data

shell > mkdir logs

4、啟動mongod服務(wù)

shell > cd /usr/local/mongodb/bin

shell > ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/log.txt --fork

參數(shù)介紹:

dbpath?數(shù)據(jù)存儲路徑

logpath?日志存儲路徑

fork??后臺啟動

auth??權(quán)限開啟

bind_ip ?指定綁定網(wǎng)卡ip

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(三)命令行客戶端操作

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?四、數(shù)據(jù)結(jié)構(gòu)類型操作 CURD

(一)添加數(shù)據(jù)

1、mongodb里存儲數(shù)據(jù)的格式文檔形式,以bson格式的文檔形式。

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

在mongodb中,可有無需創(chuàng)建數(shù)據(jù)庫和集合,使用的時候會自動創(chuàng)建?

創(chuàng)建一個庫devops

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

2、 語法:db.集合名稱.insert(bson格式數(shù)據(jù))

3、普通數(shù)據(jù)添加

db.goods.insert({name:'huawei01',price:1000,weight:135,number:35})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

4、多維數(shù)據(jù)對象添加

db.goods.insert({name:'xiaomi5',price:1999,weight:156,number:45,area:{province:'beijing',city:'beijing'}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?5、數(shù)組信息添加

db.goods.insert({name:'xiaomimax',price:2000,weight:180,number:100,area:{province:'henan',city:'zhengzhou'},color:['black','white','red']})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(二)查詢數(shù)據(jù)

1、語法:

db.集合名稱.find(查詢條件)

db.集合名稱.findOne(查詢條件)

2、籠統(tǒng)方式查詢

不進行條件限制,全部取出來。

findOne會取出符合結(jié)果的第一條信息,并且以格式化形式返回

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?3、條件限制查詢

條件格式,所見及所得
db.goods.find({name:'xiaomimax'})
db.goods.findOne({name:'xiaomimax'})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?4、范圍條件查詢

mysql?? <???? <=?? >?? >=??? !=

mongo? $lt??? $lte? $gt? $gte? $ne

db.goods.find({price:{'$lte':1999}})

db.goods.find({price:{'$lt':1999}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

5、多個條件查詢

類似mysql中的AND語法

db.goods.find({price:{'$lte':1999},number:{'$gte':40}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

6、多維字段查詢

通過多維字段的值進行查詢

db.goods.find({'area.city':'zhengzhou'});

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

注意:多維字段需要用引號包含起來

7、數(shù)組條件查詢

(1)查詢滿足其中之一即可顯示

db.goods.find({color:'black'})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(2)滿足查詢條件所有的才可顯示

db.集合名稱.find({字段(數(shù)組):{‘$all’:[v1,v2]}})

db.goods.insert({name:'iphonex',price:8398,weight:100,number:200,area:{province:'jiangsu',city:'nanjing'},color:['gray','black','white','gold']})

db.goods.find({color:{'$all':['black','gold']}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

8、限制查詢字段

在實際使用環(huán)境,不需要查詢并顯示太多的字段??梢赃x擇設(shè)定顯示。

語法:db.集合名稱.find({查詢條件},{篩選條件})

顯示為1,不顯示為0?? 要是1都是1,要是0都是0? _id除外

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

db.goods.find({color:{'$all':['black','gold']}},{name:1,_id:0})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?注意采用合適的方式,顯示出查詢字段值內(nèi)容

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

_id是mongodb數(shù)據(jù)庫里的集合中,默認的主鍵id,具有索引內(nèi)容,通過主鍵查詢,會很快的查詢速度。不要隨意修改此值,使用默認即可。

?9、$or查詢

滿足其中之一的條件就可以顯示,類似mysql的中的or條件語法
select * from goods where price > 5000 or number >= 100

db.goods.find({'$or':[{price:{'$gt':5000}},{number:{'$gte':100}}]})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

10、count 語法

返回結(jié)果的數(shù)量統(tǒng)計

鏈式操作

db.goods.count()
db.goods.find({price:{'$gt':5000}}).count()
db.goods.count({price:{'$gt':5000}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

?11、limit語法 skip語法

類似于mysql中的limit(skip,length)語法
limit()? 取幾個
skip()?? 跳過幾個
db.goods.find().limit(1);

db.goods.find().skip(1).limit(1);

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

mongodb語法和SQL語句的對比

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

?(三)修改數(shù)據(jù)

?1、語法:

db.集合名稱.update({查詢條件},{修改條件})
db.集合名稱.updateOne()? 修改匹配的第一條
db.集合名稱.updateMany()? 修改匹配所有條

2、有$set的修改

db.goods.update({name:'iphonex'},{'$set':{price:8500}})
???企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

db.沒有$set的修改goods.updateOne({name:'xiaomi5'},{'$set':{price:1500}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

3、 沒有$set的修改

沒有$set關(guān)鍵字語法,把設(shè)置的字段進行修改,沒有設(shè)置的就會被刪除掉

db.goods.update({name:'iphonex'},{price:8550})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(四)刪除數(shù)據(jù)

1、刪除記錄

db.集合名稱.remove({查詢條件})

db.集合名稱.deleteOne()? 刪除匹配的第一條

db.集合名稱.deleteMany()? 刪除匹配的多條

db.goods.remove({price:8550})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

db.goods.deleteMany({price:{'$lte':2000}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

2、刪除字段

可以刪除某個字段的操作,使用的是update語法的$unset

db.goods.update({name:'huawei01'},{'$unset':{weight:0}})

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

值給一個就可以刪除了

真實業(yè)務(wù)當(dāng)中,一般不做物理刪除,會使用一個標識,來確認是否已經(jīng)被刪除的數(shù)據(jù)

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?五、安全設(shè)置

https://docs.mongodb.com/manual/tutorial/create-users/?? ????

mongodb安全事件:https://www.jianshu.com/p/48d17a69e190

(一)限制登錄

1、使用另外一臺虛擬機,使用mongo命令行端進行測試

遠程登錄方法

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb 2、關(guān)閉mongodb

正常情況下不要kill -9 mongod,使用mongo命令客戶端里的關(guān)機命令

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

3、 添加啟動的腳本,啟動mongod

shell > vim /etc/init.d/mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

bind綁定是外網(wǎng)通訊的網(wǎng)卡?? --bind_ip_all表示綁定0.0.0.0這個任意地址

?4、使用遠程登錄mongod服務(wù)

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

(二) 用戶權(quán)限管理

1、需求

設(shè)置一個超級管理員賬戶,對于所有庫具有讀寫權(quán)限

2、語法:

db.createUser({user:"root",pwd:"root",roles:["root"]})

3、實現(xiàn)步驟:

①切換admin庫,進行用戶創(chuàng)建

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

②關(guān)閉mongod服務(wù),重啟添加權(quán)限參數(shù)并啟動

關(guān)閉

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

在啟動腳本中加入--auth參數(shù)

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?③測試使用

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?添加用戶,限制用的庫的權(quán)限,只讀

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?六、業(yè)務(wù)實例

?(一)PHP擴展安裝

1、上傳php擴展包

如果沒有phpize這個命令,需要yum安裝php-devel

2、解壓編譯安裝

shell > yum -y install php-devel? #安裝phpize
shell > tar xvf mongodb-1.5.3.tgz
shell > cd mongodb-1.5.3
shell > phpize
shell > ./configure && make && make install

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

3、添加php.ini匹配

shell > vim /usr/local/php/etc/php.ini

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

4、重啟php-fpm查看phpinfo

shell > service php-fpm restart

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(二)桌面管理使用

?1、軟件是綠色版本,直接解壓,點擊使用即可

?企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

2、填寫相關(guān)參數(shù)

?企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

?3、測試是否可以正常連接

?企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

4、點擊連接

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?5、查看數(shù)據(jù)

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

?(三)日志統(tǒng)計展示

1、很多網(wǎng)站需要統(tǒng)計某個頁面或者某個功能訪問量,如果訪問量比較大,需要記錄的組件具有很快的讀寫效率??梢允褂霉δ苄愿嗟膍ongodb來完成此業(yè)務(wù)。mongodb具有更多的數(shù)據(jù)靈活性。

2、網(wǎng)站訪問日志記錄的信息:

ip 用戶訪問的來源ip
url? 用戶訪問的地址? 功能模塊頁面地址
time? 訪問時間? 記錄用戶訪問的時間值
user_agent 用戶訪問的客戶端信息

3、使用服務(wù)器

web1(server01)->mycat(server07)->master(server02)->slave(server06)->cache(server08)->mongodb(server10)

4、Tip:nginx負載均衡服務(wù)器解決后端服務(wù)獲取不到真實用戶IP的方式

①在負載均衡nginx服務(wù)器,填寫真實用戶IP的轉(zhuǎn)發(fā)

注意如果使用負載均衡,后端獲取的IP為負載均衡代理的IP。

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

如果后端需要獲取到真是的IP,負載均衡服務(wù)器,必須要配置參數(shù),把真實IP進行傳輸?

②web服務(wù)器的nginx需要配置接收真實的用戶IP,需要使用到模塊--with-http_realip_module,在編譯安裝nginx時需要加入

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

③配置語法
企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb ④操作實現(xiàn)步驟:
?(1)刪除原來的文件

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

(2)上傳修改好的文件

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

(3)訪問頁面之后,可以查看到訪問已經(jīng)被記錄

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb

php中獲取代理的真實IP的方式,但是一定要注意必須是代理服務(wù)器有傳真實IP

企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB,架構(gòu),nosql,數(shù)據(jù)庫,開發(fā)語言,編輯器,運維,mongodb?

?文章來源地址http://www.zghlxwxcb.cn/news/detail-625353.html

到了這里,關(guān)于企業(yè)架構(gòu)NOSQL數(shù)據(jù)庫之MongoDB的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • NoSQL數(shù)據(jù)庫使用場景以及架構(gòu)介紹

    NoSQL數(shù)據(jù)庫使用場景以及架構(gòu)介紹

    其它相關(guān)推薦: 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu) 系統(tǒng)架構(gòu)設(shè)計之微內(nèi)核架構(gòu) 鴻蒙操作系統(tǒng)架構(gòu) 架構(gòu)設(shè)計之大數(shù)據(jù)架構(gòu)(Lambda架構(gòu)、Kappa架構(gòu)) 所屬專欄:系統(tǒng)架構(gòu)設(shè)計師 NoSQL(Not-onlySQL):不僅僅只是SQL,泛指非關(guān)系型的數(shù)據(jù)庫。 是對關(guān)系型數(shù)據(jù)庫的補充和完善,它不使用傳統(tǒng)的表格

    2024年02月06日
    瀏覽(30)
  • Star 8K+,使用.NET開發(fā)的開源NoSQL數(shù)據(jù)庫

    Star 8K+,使用.NET開發(fā)的開源NoSQL數(shù)據(jù)庫

    LiteDB 是一個輕量級、快速、易用的 .NET NoSQL 嵌入式數(shù)據(jù)庫,完全用 C# 托管代碼開發(fā),并且是免費和開源的。它非常適合在移動應(yīng)用(Xamarin iOS/Android)和小型的桌面/Web 應(yīng)用中使用。 簡單易用的 API,類似于 MongoDB 100% C# 代碼,支持 .NET 4.5 / NETStandard 1.3/2.0,其核心代碼只有不到

    2024年01月21日
    瀏覽(31)
  • 系統(tǒng)架構(gòu)設(shè)計師考試論文:論NoSQL 數(shù)據(jù)庫技術(shù)在現(xiàn)代軟件項目中的應(yīng)用與效果

    ????????隨著互聯(lián)網(wǎng) web2.0 網(wǎng)站的興起,傳統(tǒng)關(guān)系數(shù)據(jù)庫在應(yīng)對 web2.0 網(wǎng)站,特別是超大規(guī)模和高并發(fā)的 web2.0 純動態(tài) SNS 網(wǎng)站上已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。NoSQL(Not only SQL )的產(chǎn)生就是為

    2024年02月11日
    瀏覽(21)
  • NoSQL數(shù)據(jù)庫入門

    NoSQL數(shù)據(jù)庫入門

    ????????NoSQL 是一種不同于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)設(shè)計方式,是對非關(guān)系型數(shù)據(jù)庫的統(tǒng)稱,它所采用的數(shù)據(jù)模型并非傳統(tǒng)關(guān)系數(shù)據(jù)庫的關(guān)系模型,而是類似鍵/值、列族、文檔等非關(guān)系模型。NoSQL 數(shù)據(jù)庫沒有固定的表結(jié)構(gòu),通常也不存在連接操作,也沒有嚴格遵守

    2024年02月09日
    瀏覽(23)
  • 掃盲:常用NoSQL數(shù)據(jù)庫

    掃盲:常用NoSQL數(shù)據(jù)庫

    關(guān)系型數(shù)據(jù)庫產(chǎn)品很多,如 MySQL、Oracle、Microsoft SQL Sever 等,但它們的基本模型都是關(guān)系型數(shù)據(jù)模型。 非關(guān)系型數(shù)據(jù)庫又稱為:NoSQL ,沒有統(tǒng)一的模型,而且是非關(guān)系型的。 常見的 NoSQL 數(shù)據(jù)庫包括 鍵值數(shù)據(jù)庫 、 列族數(shù)據(jù)庫 、 文檔數(shù)據(jù)庫 和 圖形數(shù)據(jù)庫 。 NoSQL 數(shù)據(jù)庫并沒

    2024年02月10日
    瀏覽(54)
  • Redis 數(shù)據(jù)庫 NoSQL

    Redis 數(shù)據(jù)庫 NoSQL

    目錄 一、NoSQL 二、為什么會出現(xiàn)NoSQL技術(shù) 三、NoSQL的類別 鍵值(Key-Value)存儲數(shù)據(jù)庫 列存儲數(shù)據(jù)庫 文檔型數(shù)據(jù)庫 圖形(Graph)數(shù)據(jù)庫 四、NoSQL適應(yīng)場景 五、在分布式數(shù)據(jù)庫中CAP原理 1、CAP 2、BASE NoSQL(Not Only SQL)即不僅僅是SQL,泛指非關(guān)系型的數(shù)據(jù)庫,它可以作為關(guān)系型數(shù)

    2024年02月12日
    瀏覽(25)
  • NoSQL數(shù)據(jù)庫介紹+Redis部署

    NoSQL數(shù)據(jù)庫介紹+Redis部署

    目錄 一、NoSQL概述 1、數(shù)據(jù)的高并發(fā)讀寫 2、海量數(shù)據(jù)的高效率存儲和訪問 3、數(shù)據(jù)庫的高擴展和高可用 二、NoSQL的類別 1、鍵值存儲數(shù)據(jù)庫 2、列存儲數(shù)據(jù)庫 3、文檔型數(shù)據(jù)庫 4、圖形化數(shù)據(jù)庫 三、分布式數(shù)據(jù)庫中的CAP原理 1、傳統(tǒng)的ACID 1)、A--原子性 2)、C--一致性 3)、I--隔

    2024年02月11日
    瀏覽(25)
  • 數(shù)據(jù)庫選型sql和nosql

    數(shù)據(jù)庫選型sql和nosql

    1.1關(guān)系型數(shù)據(jù)庫sql和非關(guān)系型數(shù)據(jù)庫nosql 1.2關(guān)系型數(shù)據(jù)庫特點: 數(shù)據(jù)結(jié)構(gòu)化存儲在二維表中 支持事務(wù)的原子性A,一致性C,隔離性I持久性D 特性 支持使用SQL語言對存儲在其中的數(shù)據(jù)進行操作 1.3關(guān)系型數(shù)據(jù)庫的適用場景: 數(shù)據(jù)之間存在著一定關(guān)系,需要關(guān)聯(lián)查詢數(shù)據(jù)的場景 需要

    2024年02月12日
    瀏覽(23)
  • 大數(shù)據(jù)NoSQL數(shù)據(jù)庫HBase集群部署

    大數(shù)據(jù)NoSQL數(shù)據(jù)庫HBase集群部署

    目錄 1.? 簡介 2.? 安裝 1. HBase依賴Zookeeper、JDK、Hadoop(HDFS),請確保已經(jīng)完成前面 2. 【node1執(zhí)行】下載HBase安裝包 3. 【node1執(zhí)行】,修改配置文件,修改conf/hbase-env.sh文件 4. 【node1執(zhí)行】,修改配置文件,修改conf/hbase-site.xml文件 5. 【node1執(zhí)行】,修改配置文件,修改conf/regi

    2024年02月08日
    瀏覽(19)
  • 【NOSQL數(shù)據(jù)庫】Redis數(shù)據(jù)庫的配置與優(yōu)化一

    【NOSQL數(shù)據(jù)庫】Redis數(shù)據(jù)庫的配置與優(yōu)化一

    關(guān)系型數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)庫, 創(chuàng)建在關(guān)系模型(二維表格模型)基礎(chǔ)上 ,一般面向于記錄。 SQL 語句(標準數(shù)據(jù)查詢語言)就 是一種基于關(guān)系型數(shù)據(jù)庫的語言 ,用于執(zhí)行對關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)的檢索和操作。 主流的關(guān)系型數(shù)據(jù)庫包括 Oracle、MySQL、SQL Server、Microso

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包