mongodb 搜索速度_初识 MongoDB 数据库
初識 MongoDB 數據庫
前言
Flask 基礎框架在之前的三篇文章中寫完了。想要學習 web 相關的同學可以自己回顧翻一下,相信看完了,你也可以寫出來一個簡單的小案例來炫耀一波!
說到 web 開發,就不得不提到一個東西,數據庫!之前在介紹實戰項目時候,我提到過本次項目需要用到的數據庫 - MongoDB。本篇來帶你如何從零安裝 MongoDB 數據庫。下一篇介紹 Python 操作數據庫。
數據庫歷史
開始之前,為了照顧一些非專業領域的朋友,先來介紹一下,什么是數據庫?為什么會誕生出數據庫的概念?以及為什么數據庫下還要細分一些不同的領域數據庫。
1. 伴隨數據的發展歷史所帶來的載體
以下也是我自己查的資料(不一定準確,歡迎知道的讀者來挑錯!),雖然知道數據庫設計出來的目的是什么,不過還是去檢索了下它的發展由來歷史。
數據庫誕生的發展大概經歷了三個重大時期。每一次都是數據爆發提升所帶來的系統改變。
第一個時期是 1880 年美國人口普查。為了表示記錄數據,發明了分揀機、制表機和記錄機,記錄完整的數據。打孔卡上的孔,表示數據。打空帶便是信息的載體。
第二個時期 - 文件系統。其本身被認為是一個與文件柜極為相似的范例。這個時期我理解就是小學時候用到的文件夾,里面可以按照不同文件進行分類。
在電腦系統中,文件系統我們已經接觸過了,其實就是對文件的進行操作管理的系統。比如你在 Windows 上創建 txt 文本之類的。
第三個時期在二十世紀六十年代,隨著計算機速度和功能的增長,計算機被用于制造和更廣泛的實驗室使用。從而誕生了數據庫以及數據庫管理系統(DBMS),到20世紀60年代中期,許多此類系統已投入商業使用。
2. 數據庫的設計目的
這里我就不用官方定義來說了,簡單的舉個栗子用自己的觀點陳述一下。
早期我們使用文件來對數據進行記錄,比如我們常用的 excel ,word 等。Excel 相信大家都用過,它本身的設計基于行和列,由行和列組成一個“二維表”的結構,來對數據進行存儲。使用的過程中,我們可以用篩選等功能來處理數據。但面臨的問題是,當數據過于龐大,文件就會打不開了。甚至可能出現程序崩壞的情況。
那么此時,就需要一個大數據容量的東西來存儲數據,所以數據庫設計最重要的本質就是存儲大量數據。同時,再此基礎上提供了對數據操作的簡易性,對數據的完整性,以及對數據的安全性等特性。
下面是從 Quora (類似知乎,不對,應該是知乎仿照它...)查到的一個問題,為什么我們需要數據庫?英語好的同學可以看下,不翻譯了。
3. 關系型數據庫與非關系型數據庫
關系型數據庫:
SQL (Structured Query Language) 數據庫,指關系型數據庫。主要代表:SQL Server,Oracle,MySQL(開源),PostgreSQL(開源)。
現在市面上用的最多的關系型數據庫就是以上幾個代表,簡單的說,其實關系型數據庫原理類似 Excel ,由行和列組成一張“二維”關系的數據表。
使用 SQL 語句即可對數據庫進行操作,比如創建庫,創建表,查詢表數據等。。。SQL 語句就像下面這樣:
select * from user; # 查找用戶表查詢結果也類似這樣的展現形式:
非關系型數據庫:
NoSQL(Not Only SQL)泛指非關系型數據庫。主要代表:MongoDB,Redis,CouchDB。
有了 SQL 數據庫,為什么還有 NoSQL 數據庫?
在當今互聯網時代,數據越來越龐大,關系數據庫運行的慢,處理大數據的大多數情況是 NoSQL 比較高效,但 NoSQL 并不能完全取代關系數據庫,有些復雜操作并不能處理。
NoSQL 數據庫種類繁多,但是一個共同的特點都是去掉關系數據庫的關系型特性。數據之間無關系,這樣就非常容易擴展。
舉個常見的例子,僅是個人猜測,我們日常用的微博(若有錯誤,還望指出),它處理每個明星與粉絲之間的關系,這么種類繁多的屬性字段,如果用 NoSQL 遠比 SQL 要好很多,因為字段與字段之間沒有相關性。
說下為什么本交通統計項目采用的是 MongoDB 呢?理由很簡單,因為高德地圖返回的數據類型是 JSON 格式,用 MongoDB 兼容性非常好,直接存入即可。
安裝 MongoDB
不同平臺的下載地址都是一樣的,搜索引擎搜索 MongoDB :
這下載入口做的不太明顯,我也是找了一小會兒,哈哈哈!~大家根據自己電腦系統下載不同版本即可。Package MSI就是windows的一鍵安裝,我習慣下 ZIP ,所以選到了 ZIP 進行下載,大概 200 MB+。 解壓后,進入 bin :
如果此時你直接雙擊打開,能看到的結果就是黑框一閃而過,然后....然后就沒啥了。。。因為你打開的方式不太對!
接下來:
手動在此目錄下,創建一個文件 mongo.config:
記事本或者什么其他工具,打開編輯,配置下 Mongo 的數據存儲位置以及日志存儲位置:
dbpath=C:/Users/asus/Desktop/mongodb/db logpath=C:/Users/asus/Desktop/mongodb/log/mongodb.log這里的路徑一定要是絕對路徑,改成自己的即可,同時在創建對應指定目錄,db 和 log:
最后一步,進入 bin ,然后 shift + 鼠標右鍵,在此處打開 shell 窗口,輸入:
mongod.exe --config C:UsersasusDesktopmongodbbinmongo.config --install --serviceName "MongoDB" --journal這里的 --config 參數后面的文件也必須是絕對路徑。
解釋下,上述代碼的意思是將 mongo 作為服務的形式配置在 windows 電腦上,便于我們啟動。按下 win + R 鍵,打開服務:
這個就是剛才我們配置的 mongodb 服務,右鍵啟動就好。啟動完畢,可以看下剛才 mongo 的 db 和 log 目錄下是不是生成了一些文件呢:
以上,mongodb 數據庫安裝完畢。
MongoDB 可視化工具
依然官網,下載可視化工具:
類似 mongodb ,點到 tool 處下載,然后讓你填一個信息,瞎寫就好,提交完就能下載了:
可視化工具,直接打開 exe 即可:
配置默認即可,沒改動過,localhost代表本機,port 27017 是 mongodb 的默認端口:
完工!
可視化工具操作 MongDB
專業人員不要覺得用可視化工具來操作顯得很 lowB ,實際上工具本來就是可以幫我們節省大量的時間。而每個視圖背后對應的本質還是命令代碼。
1. 創建數據庫
2. 填寫數據庫名稱,以及 Collection 名稱
3. 創建文檔
插入完成后,轉化為表來展示,看看是否和我們常見的 Excel 相似呢:
總結
對于 MongoDB 的具體內容,以及每個官方字段的含義,放在下一篇介紹了!本篇篇幅又超長了。。。
下篇文章,如何使用 Python 操作 MongoDB 數據庫(拖延了一篇。。。),敬請期待!
如果有什么問題,歡迎小伙伴們留言探討!
總結
以上是生活随笔為你收集整理的mongodb 搜索速度_初识 MongoDB 数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外卖匹配系统_“外卖智能算法”和大学生有
- 下一篇: $_post 数据上传到那个位置_如何实