MongoDB(一)——簡單介紹
這兩天簡單學習了一下MongoDB資料庫,屬於NoSQL型別資料庫的一種,先簡單巨集觀的看一下NoSQL的相關知識和MongoDB的基礎知識。
NoSQL是Not Only SQL的縮寫,它指的是非關係型資料庫,即有別於Oracle,mysql,sqlserver等常用的關係型資料庫。它是以key-value形式存在,即我們熟悉的JSON資料形式。
發展:NoSQL是隨著網際網路Web2.0網站的興起,傳統的關係資料庫在應付web2.0網站,特別是超大規模資料量和高併發的SNS型別的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,而NoSQL也就是為了應付這些問題而出現,並不斷髮展著。最開始是
NoSQL發展迅速的原因:隨著網際網路的不斷髮展,各種型別的應用層出不窮,所以導致在這個雲端計算的時代,對技術提出了更多的需求。雖然關係型資料庫已經在業界的資料儲存方面佔據不可動搖的地位,但是由於其天生的幾個限制,使其難以滿足以上的幾個需求:擴充套件困難,讀寫慢,成本高,有限的支撐容量。但是NoSQL關注的對資料高併發讀寫和對海量資料的儲存等,與關係型資料庫相比,它們在架構和資料模型方面做了削弱,而在擴充套件和併發等方面做了增強突出。
特點:非關係型的,分散式的,開源的,水平可擴充套件的。
優點:擴充套件簡單,讀寫更加快速,成本更加低廉,靈活的資料模型。
不足:不提供的對SQL的支援,支援的特性不夠豐富,現在的產品相比關係型資料庫不夠成熟。
總而言之NoSQL的出現是緊隨時代的步伐——大資料,雲端計算而誕生,並不斷髮展的,是處在一個成長中的。下邊簡單看一下它的比較成熟的一個產品MongoDB的簡單介紹。
MongoDB 的名稱取自“humongous” (巨大的) 的中間部分,足見mongodb 的宗旨在處理大量資料上面。是一個可擴充套件、高效能的下一代資料庫,由 C++語言編寫,旨在為web 應用提供可擴充套件的高效能資料儲存解決方案。
Mongo DB很好的實現了面向物件的思想(OO思想),在Mongo DB中每一條記錄都是一個Document物件。MongoDB最大的優勢在於所有的資料持久操作都無需開發人員手動編寫SQL語句,直接呼叫方法就可以輕鬆的實現CRUD操作。
好,看一下它有什麼特性,根據這些特性我們可以選擇什麼時候用它:高效能、易部署、易使用,儲存資料非常方便是它的主要特點:
²模式自由,支援動態查詢、完全索引,可輕易查詢文件中內嵌的物件及陣列
²面向文件儲存,易儲存物件型別的資料, 包括文件內嵌物件及陣列
²高效的資料儲存,支援二進位制資料及大型物件(如照片和視訊)
²支援複製和故障恢復;提供了主-從、主-主模式的資料複製及伺服器之間的資料複製
²自動分片以支援雲級別的伸縮性,支援水平的資料庫叢集,可動態新增額外的伺服器
適用場景:
²適合作為資訊基礎設施的持久化快取層
²適合實時的插入,更新與查詢,並具備應用程式實時資料儲存所需的複製及高度伸縮性
²Mongo 的 BSON 資料格式非常適合文件化格式的儲存及查詢
²適合由數十或數百臺伺服器組成的資料庫。因為 Mongo 已經包含了對 MapReduce 引擎的內建支援
不適用場景:
²要求高度事務性的系統
²傳統的商業智慧應用
²複雜的跨文件(表)級聯查詢
綜上,我們對NoSQL,MongoDB有了個巨集觀的理解,知道NoSQL出現並不斷髮展狀態的原因,MongoDB的使用範圍,長處短處等,這對於我們對此款軟體的認識非常重要,關係到我們技術選擇的一關。就是認識人一樣,我們是從整體容貌開始,然後隨著不斷的深入,在觀察他們細節外貌,行為方式,生活習慣等等,學習一門技術也是這樣,先了解他了,然後在開始一點點的學習技術,並隨著使用次數的增多,不斷的加深理解,不斷的昇華。
相關推薦
MongoDB(一)——簡單介紹
這兩天簡單學習了一下MongoDB資料庫,屬於NoSQL型別資料庫的一種,先簡單巨集觀的看一下NoSQL的相關知識和MongoDB的基礎知識。 NoSQL是Not Only SQL的縮寫,它指的是非關係型資料庫,即有別於Oracle,mysql,sqlserv
MongoDB(1)--簡單介紹以及安裝
bool avi dsm south drive 內嵌 安裝 默認安裝 區別 前段時間接觸了NoSql類型的數據庫redis,當時是作為緩存server使用的。那麽從這篇博客開始學習還有一個非常出名的NoSql數據庫:MongoDb。只是眼下還沒有在開發其中
MongoDB(一) 基本介紹
symbol 對組 joins lean 擴展 編程 數據庫系統 ads index MongoDB是是什麽 MongoDB 是由C++語言編寫的,是一個基於分布式文件存儲的開源數據庫系統。 在高負載的情況下,添加更多的節點,可以保證服務器性能。 MongoDB 旨在為WE
spring boot整合mongodb使用簡單介紹 spring整合mongo使用簡單介紹 spring整合mongoDB使用簡單介紹
最近在專案中使用到了mongodb,第一次用,各種百度加問大佬,簡單記錄下自己的理解,一是希望能幫助到同樣要學習mongo的同學,另外就是以後可以看一下複習複習。 簡單理解 第一步匯入mongo的依賴 <!--mongodb--> <dependen
Azure Table Storage(一) : 簡單介紹
Azure Table Storage是什麼: Azure Table Storage是隸屬於微軟Azure Storage這個大服務下的一個子服務, 這個服務在Azure上算是老字號了, 個人大概在2013年的時候就已經用過了(那會還叫Windows Azure的年代).也算是微軟Azure上最早的NoSq
FreeSWITCH第三方庫(音頻)的簡單介紹(一)
優勢 帶寬 blog 網絡 ndt 目標 領域 合成 通道 FreeSWITCH使用了大量的第三方庫,本文檔主要介紹音頻相關庫的信息: 視頻相關庫的信息介紹參考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相關庫的信
mongoDB簡單介紹及安裝
疑問 每次 data- .org 存儲 cmd 針對 安裝包 目錄 近期一段時間對mongoDB進行了簡單的學習,從它是什麽?幹什麽?怎麽用?優缺點?這一系列的疑問到如今可以簡單運用。我想須要對其進行簡單的總結和概述。那麽這一篇就從最基礎的開始,對其
內核調試神器SystemTap — 簡單介紹與使用(一)
kprobe utils its preview response art sym about output a linux trace/probe tool. 官網:https://sourceware.org/systemtap/ 簡單介紹 S
android application類簡單介紹(一)
cati theme text color raw sdn water bsp public 每次應用程序執行時。應用程序的application類保持實例化的狀態。通過擴展applicaiton類,能夠完畢下面3項工作: 1.對android執行時廣播的應用程序
netty學習(一)--linux下的網絡io模型簡單介紹
網絡協議 過程 content 結構體 了解 簡單 文件路徑 技術 連接 linux的內核將全部的外部設備都看作一個文件來操作,對一個文件的讀寫操作會調用內核提供的系統命令 ,返回一個file descriptor(fd。文件描寫敘述符)。而
第十一章 springboot + mongodb(簡單查詢)
req all bool pan 可能 set 如果 創建 使用 1、mongodb在mac上的安裝 下載mongodb,https://www.mongodb.org/ 解壓縮到一個指定文件夾,如:/Users/enniu1/Desktop/zjg/mongodb
[轉]JMeter學習(一)工具簡單介紹
正在 包含 定義 寫入文件 線程組 element 層級 工作臺 roc 一、JMeter 介紹 Apache JMeter是100%純JAVA桌面應用程序,被設計為用於測試客戶端/服務端結構的軟件(例如web應用程序)。它可以用來測試靜態和動態資源的性能,例如:
Linux環境編程之共享內存區(一):共享內存區簡單介紹
介紹 fcn 等於 statistic ont %d sync out 同步 共享內存區是可用IPC形式中最快的。一旦內存區映射到共享它的進程的地址空間,進程間數據的傳遞就不再涉及內核。然而往該共享內存區存放信息或從中取走
salesforce lightning零基礎學習(一) lightning簡單介紹以及org開啟lightning
更多 nts dev name info over ase type domain lightning對於開發salesforce人員來說並不陌生,即使沒有做過lightning開發,這個名字肯定也是耳熟能詳。原來的博客基本都是基於classic基於配置以及開發,後期博客會
Jmeter(一)工具的簡單介紹(z)
名稱 auto 動態 read 需要 系統資源 數據 等等 ras 一、JMeter介紹 Apache JMeter是100%純JAVA桌面應用程序,被設計為用於測試客戶端/服務端結構的軟件(例如web應用程序)。它可以用來測試靜態和動態資源的性能,例如:靜態文件
新濠環主管簡單介紹了“遊戲開發工程師”這一職位的主要職責和社會現狀
主管 招商 玩家 大戶首選 工作性質編輯工作內容1、了解並致力於遊戲總體設計;2、配合主程序完成遊戲架構及各大功能的設計、開發、調試和其他技術支持;遊戲開發工程師遊戲開發工程師3、負責遊戲開發工具和運營維護工具的設計與開發;4、完成遊戲服務器端模塊代碼及相關文檔的書寫、優化對已完成代碼進行單元
mongoDB簡單介紹及使用
blog png 條件查詢 .com mkdir 基本 -- 客戶 文件 一.mongodb的簡單介紹 二.mongodb的安裝和配置安裝環境centos7 1.下載包wget https://fastdl.mongodb.org/linux/mongodb-linux-x
MongoDB簡單介紹
研發 功能 實時 性能 高效 collect 開源數據庫 web應用 存儲對象 MongoDB屬於內存型數據庫,在需要讀性能要求很高的項目中有著比較不錯的表現。可做前段緩存服務器、緩沖數據存儲區,同樣也可以作為應用系統的存儲服務器,例如微博、論壇等應用系統,也可以作為圖片存
python之pandas簡單介紹及使用(一)
dad all 就會 能夠 簡單的 兩種 first 模型 自己 python之pandas簡單介紹及使用(一) 一、 Pandas簡介1、Python Data Analysis Library 或 pandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任
Redis學習筆記(一)---Redis的五種資料型別的簡單介紹和使用
1.準備工作: 1.1在Linux下安裝Redis https://www.cnblogs.com/dddyyy/p/9763098.html 1.2啟動Redis 先把root/redis的redis.conf放到 /usr/local/redis/