日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

分布式文件存儲(chǔ)的數(shù)據(jù)庫——Mongodb

系統(tǒng) 2577 0

什么是mongodb

MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。   

MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和 非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

mongodb的幾大優(yōu)勢

MongoDB是面向文檔的數(shù)據(jù)庫,不是關(guān)系型數(shù)據(jù)庫。

1、MongoDB有豐富的數(shù)據(jù)模型,基本的思路就是將原來“行”的概念換成更加靈活的“文檔”模型。一條記錄可以表示非常復(fù)雜的層次關(guān)系。

2、非常容易擴(kuò)展。面對數(shù)據(jù)量的不斷上漲,通常有兩種方案,一種是購買更好的硬件,別一種是分散數(shù)據(jù),進(jìn)行分布式的擴(kuò)展,前者有著非常大的缺點(diǎn),因?yàn)橛布ǔJ怯形锢順O限的,當(dāng)達(dá)到極限以后,處理能力就不可能再進(jìn)行擴(kuò)展了。所以建議的方式是使用集群進(jìn)行擴(kuò)展。MongoDB所采用的面向文檔的數(shù)據(jù)模型使其可以自動(dòng)在多臺(tái)服務(wù)器之間分割數(shù)據(jù)。它還可以平衡集群的數(shù)據(jù)和負(fù)載,自動(dòng)重排文檔。

3、豐富的功能。包括索引、存儲(chǔ)JavaScript、聚合、固定集合、文件存儲(chǔ)等。

4、卓越的性能。

5、方便的管理,除了啟動(dòng)數(shù)據(jù)庫服務(wù)器之外,幾乎沒有什么必要的管理操作。管理集群只需要知道有新增加的節(jié)點(diǎn),就會(huì)自動(dòng)集成和配置新節(jié)點(diǎn)。

mongodb的幾個(gè)基本概念

文檔

文檔是MongoDB中數(shù)據(jù)的基本單元,非常類似于關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的行。

文檔是MongoDB的核心概念。多個(gè)鍵及其關(guān)聯(lián)的值有序地放置在一起便是文檔。

MongoDB以類JSON的格式來表示文檔,例如:

{"greeting":"hello mongodb!"}

以鍵值形式存儲(chǔ),值可以是不同的類型,比如字符串,整型等。

集合

集合就是一組文檔。類似于關(guān)系型數(shù)據(jù)庫中的表。

我們可以使用任意的UTF-8字符串來命名集合。

為了使組織結(jié)構(gòu)更好些,我們可以使用子集合。組織集合的一種慣例是使用“.”字符分開的按命名空間劃分的子集合。

數(shù)據(jù)庫

MongoDB中多個(gè)文檔組成集合,同樣多個(gè)集合可以組成數(shù)據(jù)庫。一個(gè)MongoDB實(shí)例可以承載多個(gè)數(shù)據(jù)庫,它們之間可視為完全獨(dú)立的。

數(shù)據(jù)庫名可以是任意UTF-8字符串。

除了一些規(guī)則外,有一些數(shù)據(jù)庫名是保留的,不能作為數(shù)據(jù)庫名,包括“admin”、“l(fā)ocal”、"config"。

32位win7下用虛機(jī)安裝64位ubuntu

如果是32位的ubuntu安裝起來很順利沒什么問題,但是到了安裝64位ubuntu的時(shí)候出問題了。

報(bào)錯(cuò)如下:

This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.

解決辦法:

先下載一個(gè)cpu-z,我下載的地址是

http://www.xiazaiba.com/html/160.html

打開并且查看一下

如果顯示支持64位那么就應(yīng)該是bios里邊沒有進(jìn)行設(shè)置的原因了,重啟電腦進(jìn)入bios

找到 CPU ==> Intel(R) Virtualization Technology ==> 設(shè)置為 Enabled

注意:這之后要冷啟動(dòng)才能生效。

然后進(jìn)行系統(tǒng)重新安裝,一切正常。

啟動(dòng)mongodb

首先是下載和安裝,下載就到mongodb的官方網(wǎng)站上,在baidu或者google輸一下,基本上第一個(gè)就是,我的下載地址是:

http://www.mongodb.org/downloads

因?yàn)槭褂玫氖?4位的ubuntu,所以下載了64-bit的mongodb,下載后解壓縮。

到解壓后的bin目錄里執(zhí)行./mongod

提示路徑不存在,需要?jiǎng)?chuàng)建路徑,執(zhí)行mkdir -p /data/db,并授予權(quán)限。

然后重新執(zhí)行./mongod,正常啟動(dòng)。

在瀏覽器中輸入

http://localhost:28017

可以獲得數(shù)據(jù)庫的管理信息。

shell中的CRUD

當(dāng)上面的啟動(dòng)完成之后可以就可以使用shell了,運(yùn)行./mongo,出現(xiàn)如下界面

輸入db可以看到,默認(rèn)連到test庫上

mongodb自帶了一個(gè)JavaScript Shell,可以通過命令行與mongodb實(shí)例進(jìn)行交互。

可以直接利用javascript進(jìn)行交互,也可以利用javascript中的函數(shù)和標(biāo)準(zhǔn)庫。

增加

假設(shè)插入一條博客的信息有標(biāo)題、文章內(nèi)容和日期。

也就是說插入了一個(gè)post文件到blog集合中。

查看一下是否插入成功

可以看到查詢的記錄,其中_id是自動(dòng)加入的記錄。

讀取

可以使用findOne()查看其中的一個(gè)文檔。
上面說到的find()是查詢所有記錄的意思。find和findOne都可以接受文檔形式的查詢條件。

更新

更新操作其實(shí)就是update函數(shù)。

新增加備注

執(zhí)行更新,需要加上條件

查看結(jié)果

刪除

刪除就是指remove函數(shù)。

刪除完文檔post之后,查看blog集合已經(jīng)沒有相應(yīng)的post文檔了。

操作的明細(xì)信息

關(guān)于mongodb的明細(xì)操作在[中文版] MongoDB權(quán)威指南 中都已經(jīng)有了非常詳細(xì)的說明,有需要的,可以到地址:

http://code.google.com/p/mycloub/downloads/list

進(jìn)行下載并且深入研究。

分布式文件存儲(chǔ)的數(shù)據(jù)庫——Mongodb


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 通城县| 江安县| 平潭县| 绥宁县| 彭泽县| 福鼎市| 铜山县| 老河口市| 临海市| 尉氏县| 本溪市| 紫云| 江山市| 涞源县| 东乌| 茂名市| 中西区| 麦盖提县| 高密市| 同德县| 襄汾县| 丘北县| 石景山区| 鄄城县| 潜江市| 巴中市| 江口县| 巴里| 和龙市| 绥芬河市| 杭州市| 玉环县| 郎溪县| 江油市| 通道| 通江县| 高邑县| 石泉县| 咸丰县| 同仁县| 宜黄县|