1. 程式人生 > >MongoDB學習筆記(一) MongoDB介紹及安裝

MongoDB學習筆記(一) MongoDB介紹及安裝



這是MongoDB的系列學習筆記的第一篇,主要介紹什麼是非關係型資料庫MongoDB,如何下載,去哪兒下載,又該怎麼正確的安裝等一系列問題。

一、前言

最近開始學習非關係型資料庫MongoDB,卻在部落格園上找不到比較系統的教程,很多資料都要去查閱英文網站,效率比較低下。本人不才,藉著自學的機會把心得體會都記錄下來,方便感興趣的童鞋分享討論。部分資源出自其他部落格,旨將零散知識點集中到一起,如果有侵犯您的權利,請聯絡[email protected]。大部分內容均系原創,歡迎大家轉載分享,但轉載的同時別忘了註明作者和原文連結哦。

二、MongoDB簡介

MongoDB是一個高效能,開源,無模式的文件型資料庫,是當前NoSql

資料庫中比較熱門的一種。它在許多場景下可用於替代傳統的關係型資料庫或鍵/值儲存方式。Mongo使用C++開發。Mongo的官方網站地址是:http://www.mongodb.org/,讀者可以在此獲得更詳細的資訊。 

小插曲:什麼是NoSql?

NoSql,全稱是 Not Only Sql,指的是非關係型的資料庫。下一代資料庫主要解決幾個要點:非關係型的、分散式的、開源的、水平可擴充套件的。原始的目的是為了大規模web應用,這場運動開始於2009年初,通常特性應用如:模式自由、支援簡易複製、簡單的API、最終的一致性(非ACID)、大容量資料等。NoSQL被我們用得最多的當數key-value儲存,當然還有其他的文件型的、列儲存、圖型資料庫、xml資料庫等。

特點:

高效能、易部署、易使用,儲存資料非常方便。主要功能特性有: 面向集合儲存,易儲存物件型別的資料。 模式自由。 支援動態查詢。 支援完全索引,包含內部物件。 支援查詢。 支援複製和故障恢復。 使用高效的二進位制資料儲存,包括大型物件(如視訊等)。 自動處理碎片,以支援雲端計算層次的擴充套件性 支援Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++語言的驅動程式,社群中也提供了對Erlang及.NET等平臺的驅動程式。 檔案儲存格式為BSON(一種JSON的擴充套件)。 可通過網路訪問。

功能:

面向集合的儲存:適合儲存物件及JSON形式的資料。 動態查詢:
Mongo支援豐富的查詢表示式。查詢指令使用JSON形式的標記,可輕易查詢文件中內嵌的物件及陣列。 完整的索引支援:包括文件內嵌物件及陣列。Mongo的查詢優化器會分析查詢表示式,並生成一個高效的查詢計劃。 查詢監視:Mongo包含一個監視工具用於分析資料庫操作的效能。 複製及自動故障轉移:Mongo資料庫支援伺服器之間的資料複製,支援主-從模式及伺服器之間的相互複製。複製的主要目標是提供冗餘及自動故障轉移。 高效的傳統儲存方式:支援二進位制資料及大型物件(如照片或圖片) 自動分片以支援雲級別的伸縮性:自動分片功能支援水平的資料庫叢集,可動態新增額外的機器。

適用場合:

網站資料:Mongo非常適合實時的插入,更新與查詢,並具備網站實時資料儲存所需的複製及高度伸縮性。 快取:由於效能很高,Mongo也適合作為資訊基礎設施的快取層。在系統重啟之後,由Mongo搭建的持久化快取層可以避免下層的資料來源 過載。 大尺寸,低價值的資料:使用傳統的關係型資料庫儲存一些資料時可能會比較昂貴,在此之前,很多時候程式設計師往往會選擇傳統的檔案進行儲存。 高伸縮性的場景:Mongo非常適合由數十或數百臺伺服器組成的資料庫。Mongo的路線圖中已經包含對MapReduce引擎的內建支援。 用於物件及JSON資料的儲存:Mongo的BSON資料格式非常適合文件化格式的儲存及查詢。

三、下載安裝和配置

安裝Mongo資料庫:

在釋出本文的時間官方提供的最新版本是:1.6.5 ,如果不做特殊宣告,本教程所用的版本將會是這個版本。

  1. 第一步:下載安裝包:如果是win系統,注意是64位還是32位版本的,請選擇正確的版本。
  2. 第二步:新建目錄“D:\MongoDB”,解壓下載到的安裝包,找到bin目錄下面全部.exe檔案,拷貝到剛建立的目錄下。
  3. 第三步:在“D:\MongoDB”目錄下新建“data”資料夾,它將會作為資料存放的根資料夾。

配置Mongo服務端:

開啟CMD視窗,按照如下方式輸入命令:
> d:
> cd D:\MongoDB
> mongod --dbpath D:\MongoDB\data

配置成功後會看到如下畫面:

在瀏覽器輸入:http://localhost:27017/,可以看到如下提示:
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

如此,MongoDB資料庫服務已經成功啟動了。

四、後記

現在我們已經初步實現了MongoDB的安裝和服務的啟動工作。後面我們還有很多的工作,要使MongoDB能在我們的C#程式碼中被操作,還需要驅動,經常有朋友在網上copy程式碼後發現編譯不通過,那估計是驅動不一致的問題了,下篇文章會詳細講解,未完待續。。

原文出處:http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html

相關推薦

MongoDB學習筆記() MongoDB介紹安裝

 這是MongoDB的系列學習筆記的第一篇,主要介紹什麼是非關係型資料庫MongoDB,如何下載,去哪兒下載,又該怎麼正確的安裝等一系列問題。 一、前言 最近開始學習非關係型資料庫MongoDB,卻在部落格園上找不到比較系統的教程,很多資料都要去查閱英文網站,效率比較

MongoDB學習筆記() MongoDB介紹

一、前言   最近開始學習非關係型資料庫MongoDB,卻在部落格園上找不到比較系統的教程,很多資料都要去查閱英文網站,效率比較低下。本人不才,藉著自學的機會把心得體會都記錄下來,方便感興趣的童鞋分享討論。部分資源出自其他部落格,旨將零散知識點集中到一起,如果有侵犯您的權利

MongoDB學習筆記()——MongoDB簡介

MongoDB資料庫是一種可擴充套件的敏捷NoSQL資料庫,它是基於文件儲存模型。在這種模型下,資料會被儲存為文件,而不是我們熟知的例如MySQL、Oracle等的行和列的儲存。文件是以BSON物件的形式儲存。 MongoDB旨在實現一個高效能、高可用、可自動

Typescript 學習筆記介紹安裝、編譯

前言 整理了一下 Typescript 的學習筆記,方便後期遺忘某個知識點的時候,快速回憶。 為了避免凌亂,用 gitbook 結合 marketdown 整理的。 若是有不對的地方,歡迎留言指出。 眾所周知,JavaScript 是弱型別的,而這對開發人員來說,在一定程度上算是一個“痛點”。解

MongoDB學習筆記:下載安裝MongoDB

MongoDB學習筆記一:MongoDB的下載和安裝 這幾天準備學習一下MongoDB,就打算把學習到的寫部落格記錄下來 一、MongoDB的下載 2.到下載頁面選擇社群版本,下載對應的版本,我這邊是下載windows的64位。 3.等待下載完成。 二、

MongoDB學習筆記()簡介與安裝

[mongodb-org-3.6] name = MongoDB Repository baseurl = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck = 1 enabled = 1 gpgk

MongoDB學習筆記01 MongoDB安裝使用

最近由於工作需要,要開始接觸mongodb了,於是開始研究mongodb,研究的第一步,自然是從安裝及使用開始.日後肯定還會有更多的研究學習,於是準備做下一系列相關筆記,供日後溫習. 1.Windows版本安裝1)版本下載 下載相應版本,此處我下載的是64位. 安裝過

MongoDB學習筆記()

abi 不同 rip java brew 教程 move strong 安裝與配置   大數據時代,mysql等關系型數據庫已經不能滿足數據爆炸的大勢。nosql作為一種非關系型數據存儲模式應運而生,主要應用於分布式數據存儲系統。   【申明:本文中大部分內容來源提煉於菜鳥

Apache Ignite 學習筆記(): Ignite介紹、部署安裝和REST/SQL客戶端使用

Apache Ignite 介紹 Ignite是什麼呢?先引用一段官網關於Ignite的描述: Ignite is memory-centric distributed database, caching, and processing platform for transactional, analyt

MongoDB學習筆記()_初識MongoDB

1.關係型/非關係型資料庫前者:注重結構化,標準的SQL語句(結構化查詢語言),資料或關係儲存在單獨的表中。後者:易擴充套件,無固定儲存模式,有鍵值對、列、文件、圖多種形式,易橫向擴充套件,適合分散式計算。MongoDB屬於後者。2.MongoDB特性簡述面向文件儲存三個概念

mongodb 學習筆記

一.初步認識               MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充套件的高效能資料儲存解決方案。屬於NOSQL的一種,在當前的nosql中算是一個比較成功的,它有如下特點:         它的特點是高效

MongoDB學習筆記

6)db.dept.find();查詢dept集合裡的所有資料 7)db.dept.insert({"deptno":10,"dname":"財務部","loc":"上海"}) 在集合dept裡儲存一條資料,集合不存在會自動建立 8)show collections;檢視所有的集合 9)var deptDat

MONGODB學習筆記:入門

文件:多個鍵及其關聯的值『有序』地放置在一起。 {"greeting" : "Hello, world!", "foo" : 3} 集合:一組文件。集合是無模式的,下面兩個文件可以存在於同一個集合裡面: {"greeting" : "Hello, world!"} {"f

MongoDB 學習筆記二 CRUD操作 常用命令

參考文件 CRUD MongoDB 儲存資料稱為:documents,使用類似JSON的鍵值對方式。MongoDB documents稱為BSON. documents以collections集合方式儲存。集合是一類關聯的documents的分組,

DVWA 攻防筆記介紹安裝

container script down 環境 apt 跨站 ted 編程 維護 原本是像寫一篇 SELinux 的文章的。而我寫總結文章的時候,總會去想原因是什麽,為什麽會有這種需求。而我發覺 SELinux 的需求是編程人員的神奇代碼或者維護者的腦袋短路而造成系統容易

Node.js學習筆記 () Node介紹以及環境安裝

Node介紹以及環境安裝 文章目錄 Node介紹以及環境安裝 1.什麼是Node 1.1 Node簡介 2.Node能做什麼 3. Node的安裝與環境搭建 3.1 怎麼安裝Node 3.2 No

redis學習筆記01 — 基本介紹安裝配置常用命令

redis——NoSQL的一種 為了解決高併發、高可用、高擴充套件、大資料儲存等一系列問題而產生的資料庫解決方案,就是NoSQL NoSQL,非關係型資料庫,全名:Not Only Sql,它不能代替關係型資料庫,只能作為關係型資料庫的一個良好補充。 redis 簡介 是使用

MongoDB學習筆記ID自增長

概要 MongoDB 的_id欄位作為一個主鍵存在於所有文件的最頂層,_id必須是唯一的,而且總是具有唯一約束的索引。除了唯一約束,你可以在集合中的_id欄位上使用任何值, 以下這個指南描述了在_id上建立一個自增序列的兩種方式: Use Cou

安裝MongoDB學習筆記—CentOs下(原始碼安裝

1、下載 官網地址:https://www.mongodb.com/download-center?jmp=nav#community 選擇的是community版的 注:如果選擇已經編譯好的安裝包會簡單一些,因version選擇項裡都是x64,我的電腦是32位,所

MongoDB學習筆記 ID自增長

    以下是官網原文地址:     http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/     概要     MongoDB 的_id欄位作為一個主鍵存在於所有文件的最頂層,