国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 數(shù)據(jù)庫(kù) MongoDB 詳解MongoDB之特點(diǎn)、原理、使用場(chǎng)景、應(yīng)用案例

詳解MongoDB之特點(diǎn)、原理、使用場(chǎng)景、應(yīng)用案例

Aug 19, 2020 am 11:06 AM
mongodb

詳解MongoDB之特點(diǎn)、原理、使用場(chǎng)景、應(yīng)用案例

推薦:《MongoDB視頻教程

簡(jiǎn)介

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

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

特點(diǎn)

它的特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。主要功能特性有:

*面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類(lèi)型的數(shù)據(jù)。

*模式自由。

*支持動(dòng)態(tài)查詢。

*支持完全索引,包含內(nèi)部對(duì)象。

*支持查詢。

*支持復(fù)制和故障恢復(fù)。

*使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象(如視頻等)。

*自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性。

*支持RUBY,PYTHON,JAVA,C ,PHP,C#等多種語(yǔ)言。

*文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展)。

*可通過(guò)網(wǎng)絡(luò)訪問(wèn)。

使用原理

? ? ? ?所謂“面向集合”(Collection-Oriented),意思是數(shù)據(jù)被分組存儲(chǔ)在數(shù)據(jù)集中,被稱為一個(gè)集合(Collection)。每個(gè)集合在數(shù)據(jù)庫(kù)中都有一個(gè)唯一的標(biāo)識(shí)名,并且可以包含無(wú)限數(shù)目的文檔。集合的概念類(lèi)似關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)里的表(table),不同的是它不需要定義任何模式(schema)。Nytro MegaRAID技術(shù)中的閃存高速緩存算法,能夠快速識(shí)別數(shù)據(jù)庫(kù)內(nèi)大數(shù)據(jù)集中的熱數(shù)據(jù),提供一致的性能改進(jìn)。

? ? ? ?模式自由(schema-free),意味著對(duì)于存儲(chǔ)在mongodb數(shù)據(jù)庫(kù)中的文件,我們不需要知道它的任何結(jié)構(gòu)定義。如果需要的話,你完全可以把不同結(jié)構(gòu)的文件存儲(chǔ)在同一個(gè)數(shù)據(jù)庫(kù)里。

? ? ? ?存儲(chǔ)在集合中的文檔,被存儲(chǔ)為鍵-值對(duì)的形式。鍵用于唯一標(biāo)識(shí)一個(gè)文檔,為字符串類(lèi)型,而值則可以是各種復(fù)雜的文件類(lèi)型。我們稱這種存儲(chǔ)形式為BSON(Binary Serialized Document Format)。

MongoDB已經(jīng)在多個(gè)站點(diǎn)部署

主要場(chǎng)景:

1)網(wǎng)站實(shí)時(shí)數(shù)據(jù)處理。它非常適合實(shí)時(shí)的插入、更新與查詢,并具備網(wǎng)站實(shí)時(shí)數(shù)據(jù)存儲(chǔ)所需的復(fù)制及高度伸縮性。

2)緩存。由于性能很高,它適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由它搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過(guò)載。

3)高伸縮性的場(chǎng)景。非常適合由數(shù)十或數(shù)百臺(tái)服務(wù)器組成的數(shù)據(jù)庫(kù),它的路線圖中已經(jīng)包含對(duì)MapReduce引擎的內(nèi)置支持。

不適用的場(chǎng)景如下:?

1)要求高度事務(wù)性的系統(tǒng)。

2)傳統(tǒng)的商業(yè)智能應(yīng)用。

3)復(fù)雜的跨文檔(表)級(jí)聯(lián)查詢。

系統(tǒng)介紹

? ? ? ?分布式文件系統(tǒng)(Distributed File System)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。分布式文件系統(tǒng)的設(shè)計(jì)基于客戶機(jī)/服務(wù)器模式。一個(gè)典型的網(wǎng)絡(luò)可能包括多個(gè)供多用戶訪問(wèn)的服務(wù)器。另外,對(duì)等特性允許一些系統(tǒng)扮演客戶機(jī)和服務(wù)器的雙重角色。

????????HBase是一個(gè)分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù),該技術(shù)來(lái)源于 Fay Chang 所撰寫(xiě)的Google論文“Bigtable:一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)。

????????Yonghong Data Mart是基于自有技術(shù)研發(fā)的一款數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理的軟件。Yonghong Data Mart的分布式文件存儲(chǔ)系統(tǒng) (ZDFS)是在Hadoop HDFS基礎(chǔ)上進(jìn)行的改造和擴(kuò)展,將服務(wù)器集群內(nèi)所有節(jié)點(diǎn)上存儲(chǔ)的文件統(tǒng)一管理和存儲(chǔ)。

適用場(chǎng)景

????????MongoDB 的主要目標(biāo)是在鍵/值存儲(chǔ)方式(提供了高性能和高度伸縮性)和傳統(tǒng)的RDBMS 系統(tǒng)(具有豐富的功能)之間架起一座橋梁,它集兩者的優(yōu)勢(shì)于一身。根據(jù)官方網(wǎng)站的描述,Mongo 適用于以下場(chǎng)景。

● 網(wǎng)站數(shù)據(jù):Mongo 非常適合實(shí)時(shí)的插入,更新與查詢,并具備網(wǎng)站實(shí)時(shí)數(shù)據(jù)存儲(chǔ)所需的復(fù)制及高度伸縮性。

● 緩存:由于性能很高,Mongo 也適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由Mongo 搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過(guò)載。

● 大尺寸、低價(jià)值的數(shù)據(jù):使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)一些數(shù)據(jù)時(shí)可能會(huì)比較昂貴,在此之前,很多時(shí)候程序員往往會(huì)選擇傳統(tǒng)的文件進(jìn)行存儲(chǔ)。

● 高伸縮性的場(chǎng)景:Mongo 非常適合由數(shù)十或數(shù)百臺(tái)服務(wù)器組成的數(shù)據(jù)庫(kù),Mongo 的路線圖中已經(jīng)包含對(duì)MapReduce 引擎的內(nèi)置支持。

● 用于對(duì)象及JSON 數(shù)據(jù)的存儲(chǔ):Mongo 的BSON 數(shù)據(jù)格式非常適合文檔化格式的存儲(chǔ)及查詢。

不適場(chǎng)景

● 高度事務(wù)性的系統(tǒng):例如,銀行或會(huì)計(jì)系統(tǒng)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)目前還是更適用于需要大量原子性復(fù)雜事務(wù)的應(yīng)用程序。

● 傳統(tǒng)的商業(yè)智能應(yīng)用:針對(duì)特定問(wèn)題的BI 數(shù)據(jù)庫(kù)會(huì)產(chǎn)生高度優(yōu)化的查詢方式。對(duì)于此類(lèi)應(yīng)用,數(shù)據(jù)倉(cāng)庫(kù)可能是更合適的選擇。

● 需要SQL 的問(wèn)題。

應(yīng)用案例

????????下面列舉一些公司MongoDB的實(shí)際應(yīng)用:

    • ????????Craiglist上使用MongoDB的存檔數(shù)十億條記錄。
    • FourSquare,基于位置的社交網(wǎng)站,在Amazon EC2的服務(wù)器上使用MongoDB分享數(shù)據(jù)。
      Shutterfly,以互聯(lián)網(wǎng)為基礎(chǔ)的社會(huì)和個(gè)人出版服務(wù),使用MongoDB的各種持久性數(shù)據(jù)存儲(chǔ)的要求。
      bit.ly, 一個(gè)基于Web的網(wǎng)址縮短服務(wù),使用MongoDB的存儲(chǔ)自己的數(shù)據(jù)。
      spike.com,一個(gè)MTV網(wǎng)絡(luò)的聯(lián)營(yíng)公司, spike.com使用MongoDB的。
      Intuit公司,一個(gè)為小企業(yè)和個(gè)人的軟件和服務(wù)提供商,為小型企業(yè)使用MongoDB的跟蹤用戶的數(shù)據(jù)。
      sourceforge.net,資源網(wǎng)站查找,創(chuàng)建和發(fā)布開(kāi)源軟件免費(fèi),使用MongoDB的后端存儲(chǔ)。
      etsy.com ,一個(gè)購(gòu)買(mǎi)和出售手工制作物品網(wǎng)站,使用MongoDB。
      紐約時(shí)報(bào),領(lǐng)先的在線新聞門(mén)戶網(wǎng)站之一,使用MongoDB。
      CERN,著名的粒子物理研究所,歐洲核子研究中心大型強(qiáng)子對(duì)撞機(jī)的數(shù)據(jù)使用MongoDB。

以上是詳解MongoDB之特點(diǎn)、原理、使用場(chǎng)景、應(yīng)用案例的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

使用 Composer 解決推薦系統(tǒng)的困境:andres-montanez/recommendations-bundle 的實(shí)踐 使用 Composer 解決推薦系統(tǒng)的困境:andres-montanez/recommendations-bundle 的實(shí)踐 Apr 18, 2025 am 11:48 AM

在開(kāi)發(fā)一個(gè)電商網(wǎng)站時(shí),我遇到了一個(gè)棘手的問(wèn)題:如何為用戶提供個(gè)性化的商品推薦。最初,我嘗試了一些簡(jiǎn)單的推薦算法,但效果并不理想,用戶的滿意度也因此受到影響。為了提升推薦系統(tǒng)的精度和效率,我決定采用更專(zhuān)業(yè)的解決方案。最終,我通過(guò)Composer安裝了andres-montanez/recommendations-bundle,這不僅解決了我的問(wèn)題,還大大提升了推薦系統(tǒng)的性能??梢酝ㄟ^(guò)一下地址學(xué)習(xí)composer:學(xué)習(xí)地址

CentOS上GitLab的數(shù)據(jù)庫(kù)如何選擇 CentOS上GitLab的數(shù)據(jù)庫(kù)如何選擇 Apr 14, 2025 pm 04:48 PM

CentOS系統(tǒng)上GitLab數(shù)據(jù)庫(kù)部署指南選擇合適的數(shù)據(jù)庫(kù)是成功部署GitLab的關(guān)鍵步驟。GitLab兼容多種數(shù)據(jù)庫(kù),包括MySQL、PostgreSQL和MongoDB。本文將詳細(xì)介紹如何選擇并配置這些數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)選擇建議MySQL:一款廣泛應(yīng)用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),性能穩(wěn)定,適用于大多數(shù)GitLab部署場(chǎng)景。PostgreSQL:功能強(qiáng)大的開(kāi)源RDBMS,支持復(fù)雜查詢和高級(jí)特性,適合處理大型數(shù)據(jù)集。MongoDB:流行的NoSQL數(shù)據(jù)庫(kù),擅長(zhǎng)處理海

MongoDB與Oracle:了解關(guān)鍵差異 MongoDB與Oracle:了解關(guān)鍵差異 Apr 16, 2025 am 12:01 AM

MongoDB適合處理大規(guī)模非結(jié)構(gòu)化數(shù)據(jù),Oracle適用于需要事務(wù)一致性的企業(yè)級(jí)應(yīng)用。 1.MongoDB提供靈活性和高性能,適合處理用戶行為數(shù)據(jù)。 2.Oracle以穩(wěn)定性和強(qiáng)大功能著稱,適用于金融系統(tǒng)。 3.MongoDB使用文檔模型,Oracle使用關(guān)系模型。 4.MongoDB適合社交媒體應(yīng)用,Oracle適合企業(yè)級(jí)應(yīng)用。

MongoDB vs. Oracle:為您的需求選擇正確的數(shù)據(jù)庫(kù) MongoDB vs. Oracle:為您的需求選擇正確的數(shù)據(jù)庫(kù) Apr 22, 2025 am 12:10 AM

MongoDB適合非結(jié)構(gòu)化數(shù)據(jù)和高擴(kuò)展性需求,Oracle適合需要嚴(yán)格數(shù)據(jù)一致性的場(chǎng)景。1.MongoDB靈活存儲(chǔ)不同結(jié)構(gòu)數(shù)據(jù),適合社交媒體和物聯(lián)網(wǎng)。2.Oracle結(jié)構(gòu)化數(shù)據(jù)模型確保數(shù)據(jù)完整性,適用于金融交易。3.MongoDB通過(guò)分片橫向擴(kuò)展,Oracle通過(guò)RAC縱向擴(kuò)展。4.MongoDB維護(hù)成本低,Oracle維護(hù)成本高但支持完善。

CentOS MongoDB備份策略是什么 CentOS MongoDB備份策略是什么 Apr 14, 2025 pm 04:51 PM

CentOS系統(tǒng)下MongoDB高效備份策略詳解本文將詳細(xì)介紹在CentOS系統(tǒng)上實(shí)施MongoDB備份的多種策略,以確保數(shù)據(jù)安全和業(yè)務(wù)連續(xù)性。我們將涵蓋手動(dòng)備份、定時(shí)備份、自動(dòng)化腳本備份以及Docker容器環(huán)境下的備份方法,并提供備份文件管理的最佳實(shí)踐。手動(dòng)備份:利用mongodump命令進(jìn)行手動(dòng)全量備份,例如:mongodump-hlocalhost:27017-u用戶名-p密碼-d數(shù)據(jù)庫(kù)名稱-o/備份目錄此命令會(huì)將指定數(shù)據(jù)庫(kù)的數(shù)據(jù)及元數(shù)據(jù)導(dǎo)出到指定的備份目錄。

mongodb怎么設(shè)置用戶 mongodb怎么設(shè)置用戶 Apr 12, 2025 am 08:51 AM

要設(shè)置 MongoDB 用戶,請(qǐng)按照以下步驟操作:1. 連接到服務(wù)器并創(chuàng)建管理員用戶。2. 創(chuàng)建要授予用戶訪問(wèn)權(quán)限的數(shù)據(jù)庫(kù)。3. 使用 createUser 命令創(chuàng)建用戶并指定其角色和數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。4. 使用 getUsers 命令檢查創(chuàng)建的用戶。5. 可選地設(shè)置其他權(quán)限或授予用戶對(duì)特定集合的權(quán)限。

mongodb怎么啟動(dòng) mongodb怎么啟動(dòng) Apr 12, 2025 am 08:39 AM

要啟動(dòng) MongoDB 服務(wù)器:在 Unix 系統(tǒng)中,運(yùn)行 mongod 命令。在 Windows 系統(tǒng)中,運(yùn)行 mongod.exe 命令??蛇x:使用 --dbpath、--port、--auth 或 --replSet 選項(xiàng)設(shè)置配置。使用 mongo 命令驗(yàn)證連接是否成功。

Debian MongoDB如何進(jìn)行數(shù)據(jù)加密 Debian MongoDB如何進(jìn)行數(shù)據(jù)加密 Apr 12, 2025 pm 08:03 PM

在Debian系統(tǒng)上為MongoDB數(shù)據(jù)庫(kù)加密,需要遵循以下步驟:第一步:安裝MongoDB首先,確保您的Debian系統(tǒng)已安裝MongoDB。如果沒(méi)有,請(qǐng)參考MongoDB官方文檔進(jìn)行安裝:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/第二步:生成加密密鑰文件創(chuàng)建一個(gè)包含加密密鑰的文件,并設(shè)置正確的權(quán)限:ddif=/dev/urandomof=/etc/mongodb-keyfilebs=512

See all articles