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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mongodb 搜索速度_初识 MongoDB 数据库

發(fā)布時(shí)間:2024/4/17 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 搜索速度_初识 MongoDB 数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

初識(shí) MongoDB 數(shù)據(jù)庫(kù)

前言

Flask 基礎(chǔ)框架在之前的三篇文章中寫(xiě)完了。想要學(xué)習(xí) web 相關(guān)的同學(xué)可以自己回顧翻一下,相信看完了,你也可以寫(xiě)出來(lái)一個(gè)簡(jiǎn)單的小案例來(lái)炫耀一波!

說(shuō)到 web 開(kāi)發(fā),就不得不提到一個(gè)東西,數(shù)據(jù)庫(kù)!之前在介紹實(shí)戰(zhàn)項(xiàng)目時(shí)候,我提到過(guò)本次項(xiàng)目需要用到的數(shù)據(jù)庫(kù) - MongoDB。本篇來(lái)帶你如何從零安裝 MongoDB 數(shù)據(jù)庫(kù)。下一篇介紹 Python 操作數(shù)據(jù)庫(kù)。

數(shù)據(jù)庫(kù)歷史

開(kāi)始之前,為了照顧一些非專業(yè)領(lǐng)域的朋友,先來(lái)介紹一下,什么是數(shù)據(jù)庫(kù)?為什么會(huì)誕生出數(shù)據(jù)庫(kù)的概念?以及為什么數(shù)據(jù)庫(kù)下還要細(xì)分一些不同的領(lǐng)域數(shù)據(jù)庫(kù)。

1. 伴隨數(shù)據(jù)的發(fā)展歷史所帶來(lái)的載體

以下也是我自己查的資料(不一定準(zhǔn)確,歡迎知道的讀者來(lái)挑錯(cuò)!),雖然知道數(shù)據(jù)庫(kù)設(shè)計(jì)出來(lái)的目的是什么,不過(guò)還是去檢索了下它的發(fā)展由來(lái)歷史。

數(shù)據(jù)庫(kù)誕生的發(fā)展大概經(jīng)歷了三個(gè)重大時(shí)期。每一次都是數(shù)據(jù)爆發(fā)提升所帶來(lái)的系統(tǒng)改變。

第一個(gè)時(shí)期是 1880 年美國(guó)人口普查。為了表示記錄數(shù)據(jù),發(fā)明了分揀機(jī)、制表機(jī)和記錄機(jī),記錄完整的數(shù)據(jù)。打孔卡上的孔,表示數(shù)據(jù)。打空帶便是信息的載體。

第二個(gè)時(shí)期 - 文件系統(tǒng)。其本身被認(rèn)為是一個(gè)與文件柜極為相似的范例。這個(gè)時(shí)期我理解就是小學(xué)時(shí)候用到的文件夾,里面可以按照不同文件進(jìn)行分類。

在電腦系統(tǒng)中,文件系統(tǒng)我們已經(jīng)接觸過(guò)了,其實(shí)就是對(duì)文件的進(jìn)行操作管理的系統(tǒng)。比如你在 Windows 上創(chuàng)建 txt 文本之類的。

第三個(gè)時(shí)期在二十世紀(jì)六十年代,隨著計(jì)算機(jī)速度和功能的增長(zhǎng),計(jì)算機(jī)被用于制造和更廣泛的實(shí)驗(yàn)室使用。從而誕生了數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),到20世紀(jì)60年代中期,許多此類系統(tǒng)已投入商業(yè)使用。

2. 數(shù)據(jù)庫(kù)的設(shè)計(jì)目的

這里我就不用官方定義來(lái)說(shuō)了,簡(jiǎn)單的舉個(gè)栗子用自己的觀點(diǎn)陳述一下。

早期我們使用文件來(lái)對(duì)數(shù)據(jù)進(jìn)行記錄,比如我們常用的 excel ,word 等。Excel 相信大家都用過(guò),它本身的設(shè)計(jì)基于行和列,由行和列組成一個(gè)“二維表”的結(jié)構(gòu),來(lái)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。使用的過(guò)程中,我們可以用篩選等功能來(lái)處理數(shù)據(jù)。但面臨的問(wèn)題是,當(dāng)數(shù)據(jù)過(guò)于龐大,文件就會(huì)打不開(kāi)了。甚至可能出現(xiàn)程序崩壞的情況。

那么此時(shí),就需要一個(gè)大數(shù)據(jù)容量的東西來(lái)存儲(chǔ)數(shù)據(jù),所以數(shù)據(jù)庫(kù)設(shè)計(jì)最重要的本質(zhì)就是存儲(chǔ)大量數(shù)據(jù)。同時(shí),再此基礎(chǔ)上提供了對(duì)數(shù)據(jù)操作的簡(jiǎn)易性,對(duì)數(shù)據(jù)的完整性,以及對(duì)數(shù)據(jù)的安全性等特性。

下面是從 Quora (類似知乎,不對(duì),應(yīng)該是知乎仿照它...)查到的一個(gè)問(wèn)題,為什么我們需要數(shù)據(jù)庫(kù)?英語(yǔ)好的同學(xué)可以看下,不翻譯了。

3. 關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)

關(guān)系型數(shù)據(jù)庫(kù):

SQL (Structured Query Language) 數(shù)據(jù)庫(kù),指關(guān)系型數(shù)據(jù)庫(kù)。主要代表:SQL Server,Oracle,MySQL(開(kāi)源),PostgreSQL(開(kāi)源)。

現(xiàn)在市面上用的最多的關(guān)系型數(shù)據(jù)庫(kù)就是以上幾個(gè)代表,簡(jiǎn)單的說(shuō),其實(shí)關(guān)系型數(shù)據(jù)庫(kù)原理類似 Excel ,由行和列組成一張“二維”關(guān)系的數(shù)據(jù)表。

使用 SQL 語(yǔ)句即可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,比如創(chuàng)建庫(kù),創(chuàng)建表,查詢表數(shù)據(jù)等。。。SQL 語(yǔ)句就像下面這樣:

select * from user; # 查找用戶表

查詢結(jié)果也類似這樣的展現(xiàn)形式:

非關(guān)系型數(shù)據(jù)庫(kù):

NoSQL(Not Only SQL)泛指非關(guān)系型數(shù)據(jù)庫(kù)。主要代表:MongoDB,Redis,CouchDB。

有了 SQL 數(shù)據(jù)庫(kù),為什么還有 NoSQL 數(shù)據(jù)庫(kù)?

在當(dāng)今互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)越來(lái)越龐大,關(guān)系數(shù)據(jù)庫(kù)運(yùn)行的慢,處理大數(shù)據(jù)的大多數(shù)情況是 NoSQL 比較高效,但 NoSQL 并不能完全取代關(guān)系數(shù)據(jù)庫(kù),有些復(fù)雜操作并不能處理。

NoSQL 數(shù)據(jù)庫(kù)種類繁多,但是一個(gè)共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫(kù)的關(guān)系型特性。數(shù)據(jù)之間無(wú)關(guān)系,這樣就非常容易擴(kuò)展。

舉個(gè)常見(jiàn)的例子,僅是個(gè)人猜測(cè),我們?nèi)粘S玫奈⒉?#xff08;若有錯(cuò)誤,還望指出),它處理每個(gè)明星與粉絲之間的關(guān)系,這么種類繁多的屬性字段,如果用 NoSQL 遠(yuǎn)比 SQL 要好很多,因?yàn)樽侄闻c字段之間沒(méi)有相關(guān)性。

說(shuō)下為什么本交通統(tǒng)計(jì)項(xiàng)目采用的是 MongoDB 呢?理由很簡(jiǎn)單,因?yàn)楦叩碌貓D返回的數(shù)據(jù)類型是 JSON 格式,用 MongoDB 兼容性非常好,直接存入即可。

安裝 MongoDB

不同平臺(tái)的下載地址都是一樣的,搜索引擎搜索 MongoDB :

這下載入口做的不太明顯,我也是找了一小會(huì)兒,哈哈哈!~大家根據(jù)自己電腦系統(tǒng)下載不同版本即可。Package MSI就是windows的一鍵安裝,我習(xí)慣下 ZIP ,所以選到了 ZIP 進(jìn)行下載,大概 200 MB+。 解壓后,進(jìn)入 bin :

如果此時(shí)你直接雙擊打開(kāi),能看到的結(jié)果就是黑框一閃而過(guò),然后....然后就沒(méi)啥了。。。因?yàn)槟愦蜷_(kāi)的方式不太對(duì)!

接下來(lái):

手動(dòng)在此目錄下,創(chuàng)建一個(gè)文件 mongo.config:

記事本或者什么其他工具,打開(kāi)編輯,配置下 Mongo 的數(shù)據(jù)存儲(chǔ)位置以及日志存儲(chǔ)位置:

dbpath=C:/Users/asus/Desktop/mongodb/db logpath=C:/Users/asus/Desktop/mongodb/log/mongodb.log

這里的路徑一定要是絕對(duì)路徑,改成自己的即可,同時(shí)在創(chuàng)建對(duì)應(yīng)指定目錄,db 和 log:

最后一步,進(jìn)入 bin ,然后 shift + 鼠標(biāo)右鍵,在此處打開(kāi) shell 窗口,輸入:

mongod.exe --config C:UsersasusDesktopmongodbbinmongo.config --install --serviceName "MongoDB" --journal

這里的 --config 參數(shù)后面的文件也必須是絕對(duì)路徑。

解釋下,上述代碼的意思是將 mongo 作為服務(wù)的形式配置在 windows 電腦上,便于我們啟動(dòng)。按下 win + R 鍵,打開(kāi)服務(wù):

這個(gè)就是剛才我們配置的 mongodb 服務(wù),右鍵啟動(dòng)就好。啟動(dòng)完畢,可以看下剛才 mongo 的 db 和 log 目錄下是不是生成了一些文件呢:

以上,mongodb 數(shù)據(jù)庫(kù)安裝完畢。

MongoDB 可視化工具

依然官網(wǎng),下載可視化工具:

類似 mongodb ,點(diǎn)到 tool 處下載,然后讓你填一個(gè)信息,瞎寫(xiě)就好,提交完就能下載了:

可視化工具,直接打開(kāi) exe 即可:

配置默認(rèn)即可,沒(méi)改動(dòng)過(guò),localhost代表本機(jī),port 27017 是 mongodb 的默認(rèn)端口:

完工!

可視化工具操作 MongDB

專業(yè)人員不要覺(jué)得用可視化工具來(lái)操作顯得很 lowB ,實(shí)際上工具本來(lái)就是可以幫我們節(jié)省大量的時(shí)間。而每個(gè)視圖背后對(duì)應(yīng)的本質(zhì)還是命令代碼。

1. 創(chuàng)建數(shù)據(jù)庫(kù)

2. 填寫(xiě)數(shù)據(jù)庫(kù)名稱,以及 Collection 名稱

3. 創(chuàng)建文檔

插入完成后,轉(zhuǎn)化為表來(lái)展示,看看是否和我們常見(jiàn)的 Excel 相似呢:

總結(jié)

對(duì)于 MongoDB 的具體內(nèi)容,以及每個(gè)官方字段的含義,放在下一篇介紹了!本篇篇幅又超長(zhǎng)了。。。

下篇文章,如何使用 Python 操作 MongoDB 數(shù)據(jù)庫(kù)(拖延了一篇。。。),敬請(qǐng)期待!

如果有什么問(wèn)題,歡迎小伙伴們留言探討!

總結(jié)

以上是生活随笔為你收集整理的mongodb 搜索速度_初识 MongoDB 数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。