搜尋
首頁資料庫MongoDB詳解MongoDB之特性、原理、使用情境、應用案例

詳解MongoDB之特性、原理、使用情境、應用案例

推薦:《MongoDB影片教學

#簡介

MongoDB是基於分散式文件儲存的資料庫。由C 語言編寫。旨在為WEB應用提供可擴展的高效能資料儲存解決方案。

MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。 Mongo最大的特點是他支援的查詢語言非常強大,其語法有點類似於物件導向的查詢語言,幾乎可以實現類似關係型資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

特點

它的特點是高效能、易於部署、易於使用,儲存資料非常方便。主要功能特性有:

*面向集合存儲,易存儲物件類型的資料。

*模式自由。

*支援動態查詢。

*支援完全索引,包含內部物件。

*支援查詢。

*支援複製和故障復原。

*使用高效的二進位資料存儲,包括大型物件(如視訊等)。

*自動處理碎片,以支援雲端運算層次的擴展性。

*支援RUBY,PYTHON,JAVA,C ,PHP,C#等多種語言。

*檔案儲存格式為BSON(一種JSON的擴充)。

*可透過網路存取。

使用原則

       所謂「面向集合」(Collection-Oriented),意思是資料被分組儲存在資料集中,稱為一個集合(Collection)。每個集合在資料庫中都有一個唯一的識別名,並且可以包含無限數目的文件。集合的概念類似關係型資料庫(RDBMS)裡的表格(table),不同的是它不需要定義任何模式(schema)。 Nytro MegaRAID技術中的快閃記憶體快取演算法,能夠快速辨識資料庫內大數據集中的熱數據,提供一致的效能改進。

       模式自由(schema-free),表示對於儲存在mongodb資料庫中的文件,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存在同一個資料庫裡。

       儲存在集合中的文檔,被儲存為鍵-值對的形式。鍵用於唯一標識一個文檔,為字串類型,而值則可以是各種複雜的文件類型。我們稱這種儲存形式為BSON(Binary Serialized Document Format)。

MongoDB已經在多個網站部署

主要場景:

1)網站即時資料處理。它非常適合即時的插入、更新與查詢,並具備網站即時資料儲存所需的複製及高度伸縮性。

2)快取。由於效能很高,它適合作為資訊基礎設施的快取層。在系統重新啟動之後,由它搭建的持久化快取層可以避免下層的資料來源過載。

3)高伸縮性的場景。非常適合由數十或數百台伺服器組成的資料庫,它的路線圖中已經包含對MapReduce引擎的內建支援。

不適用的場景如下: 

1)要求高度事務性的系統。

2)傳統的商業智慧應用。

3)複雜的跨文件(表)級聯查詢。

系統介紹

       分散式檔案系統(Distributed File System)是指檔案系統管理的實體儲存資源不一定直接連接在本機節點上,而是透過電腦網路與節點相連。分散式檔案系統的設計是基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶存取的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。

        HBase是一個分散式的、以列導向的開源資料庫,該技術來自Fay Chang 所撰寫的Google論文「Bigtable:一個結構化資料的分散式儲存系統。

   Data Mart是基於自有技術研發的一款資料儲存、資料處理的軟體。Yonghong Data Mart的分散式檔案儲存系統(ZDFS)是在Hadoop HDFS基礎上進行的改造和擴展,將伺服器叢集內所有節點上儲存的文件統一管理和儲存。

適用場景

        MongoDB 的主要目標是在鍵/值儲存方式(提供了高效能和高度伸縮)和傳統的RDBMS 系統(具有豐富的功能)之間架起一座橋樑,它集兩者的優勢於一身。根據官方網站的描述,Mongo 適用於以下場景。

● 網站資料:Mongo 非常適合即時的插入,更新與查詢,並具備網站即時資料儲存所需的複製及高度伸縮性。

● 快取:由於效能很高,Mongo 也適合作為資訊基礎架構的快取層。在系統重新啟動之後,由Mongo 建構的持久化快取層可以避免下層的資料來源過載。

● 大尺寸、低價值的資料:使用傳統的關係型資料庫儲存一些資料時可能會比較昂貴,在此之前,很多時候程式設計師往往會選擇傳統的檔案來儲存。

● 高伸縮性的場景:Mongo 非常適合由數十或數百台伺服器組成的資料庫,Mongo 的路線圖中已經包含對MapReduce 引擎的內建支援。

● 用於物件及JSON 資料的儲存:Mongo 的BSON 資料格式非常適合文件化格式的儲存及查詢。

不適場景

● 高度事務性的系統:例如,銀行或會計系統。傳統的關係型資料庫目前還是更適用於需要大量原子性複雜事務的應用程式。

● 傳統的商業智慧應用:針對特定問題的BI 資料庫會產生高度最佳化的查詢方式。對於此類應用,資料倉儲可能是更合適的選擇。

● 需要SQL 的問題。

應用案例

        在下列出一些公司MongoDB的實際應用:

    •        數十億筆記錄。
    • FourSquare,基於位置的社群網站,在Amazon EC2的伺服器上使用MongoDB分享資料。
      Shutterfly,以互聯網為基礎的社會和個人出版服務,使用MongoDB的各種持久性資料儲存的要求。
      bit.ly, 一個基於Web的網址縮短服務,使用MongoDB的儲存自己的資料。
      spike.com,一個MTV網路的聯營公司, spike.com使用MongoDB的。
      Intuit公司,一個為小型企業和個人的軟體和服務供應商,為小型企業使用MongoDB的追蹤使用者的資料。
      sourceforge.net,資源網站查找,創建和發布開源軟體免費,使用MongoDB的後端儲存。
      etsy.com ,一個購買和出售手工製作物品網站,使用MongoDB。
      紐約時報,領先的線上新聞入口網站之一,使用MongoDB。
      CERN,著名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的資料使用MongoDB。

以上是詳解MongoDB之特性、原理、使用情境、應用案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:cnblogs。如有侵權,請聯絡admin@php.cn刪除
MongoDB的目的:靈活的數據存儲和管理MongoDB的目的:靈活的數據存儲和管理May 09, 2025 am 12:20 AM

MongoDB的靈活性體現在:1)能存儲任意結構的數據,2)使用BSON格式,3)支持複雜查詢和聚合操作。這種靈活性使其在處理多變數據結構時表現出色,是現代應用開發的強大工具。

MongoDB與Oracle:許可,功能和福利MongoDB與Oracle:許可,功能和福利May 08, 2025 am 12:18 AM

MongoDB適合處理大規模非結構化數據,採用開源許可證;Oracle適合複雜商業事務,採用商業許可證。 1.MongoDB提供靈活的文檔模型和橫向擴展能力,適合大數據處理。 2.Oracle提供強大的ACID事務支持和企業級功能,適合複雜分析工作負載。選擇時需考慮數據類型、預算和技術資源。

MongoDB與Oracle:探索NOSQL和關係方法MongoDB與Oracle:探索NOSQL和關係方法May 07, 2025 am 12:02 AM

在不同的應用場景下,選擇MongoDB還是Oracle取決於具體需求:1)如果需要處理大量非結構化數據且對數據一致性要求不高,選擇MongoDB;2)如果需要嚴格的數據一致性和復雜查詢,選擇Oracle。

關於MongoDB當前情況的真相關於MongoDB當前情況的真相May 06, 2025 am 12:10 AM

MongoDB當前的表現取決於具體的使用場景和需求。 1)在電商平台中,MongoDB適合存儲商品信息和用戶數據,但處理訂單時可能面臨一致性問題。 2)在內容管理系統中,MongoDB便於存儲文章和評論,但處理大量數據時需使用分片技術。

MongoDB與Oracle:文檔數據庫與關係數據庫MongoDB與Oracle:文檔數據庫與關係數據庫May 05, 2025 am 12:04 AM

引言在現代數據管理的世界裡,選擇合適的數據庫系統對於任何項目來說都是至關重要的。我們常常會面臨一個選擇:是選擇MongoDB這種文檔型數據庫,還是選擇Oracle這種關係型數據庫?今天我將帶你深入探討MongoDB和Oracle之間的差異,幫助你理解它們的優劣勢,並分享我在實際項目中使用它們的經驗。本文將會帶你從基礎知識開始,逐步深入到這兩類數據庫的核心特性、使用場景和性能表現。無論你是剛入門的數據管理者,還是有經驗的數據庫管理員,讀完這篇文章,你將對如何在項目中選擇和使用MongoDB或Ora

MongoDB發生了什麼?探索事實MongoDB發生了什麼?探索事實May 04, 2025 am 12:15 AM

MongoDB仍然是一个强大的数据库解决方案。1)它以灵活性和可扩展性著称,适合存储复杂数据结构。2)通过合理索引和查询优化,可以提升其性能。3)使用聚合框架和分片技术,可以进一步优化和扩展MongoDB的应用。

Mongodb注定要失敗嗎?消除神話Mongodb注定要失敗嗎?消除神話May 03, 2025 am 12:06 AM

MongoDB並未註定要沒落。 1)其優勢在於靈活性和可擴展性,適合處理複雜數據結構和大規模數據。 2)劣勢包括高內存使用和較晚引入的ACID事務支持。 3)儘管存在性能和事務支持的質疑,但MongoDB通過技術改進和市場需求的推動,仍然是一個強大的數據庫解決方案。

MongoDB的未來:看看它的前景MongoDB的未來:看看它的前景May 02, 2025 am 12:08 AM

mongodb'sfutureispromisingwithgrowthincloudstegration,Real-TimedataProcessing,andai/mlapplications,tryitfaceschallengesincompetition,performance,performance,security andeaseofuse.1)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。