天天看點

BigData之MongoDB:MongoDB基于分布式檔案存儲資料庫的簡介、下載下傳、案例應用之詳細攻略

MongoDB的簡介

         MongoDB是基于分布式檔案存儲的資料庫,高性能、可擴充、易部署、易使用,存儲資料非常友善。由C++語言編寫。旨在為WEB應用提供可擴充的高性能資料存儲解決方案。MongoDB是一個介于關系資料庫和非關系資料庫之間的産品,是非關系資料庫當中功能最豐富,最像關系資料庫的。它支援的資料結構非常松散,是類似json的bson格式,是以可以存儲比較複雜的資料類型。Mongo最大的特點是它支援的查詢語言非常強大,其文法有點類似于面向對象的查詢語言,幾乎可以實作類似關系資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。MongoDB支援的用戶端語言有:c,php,java,python,nodejs。

MongoDB中文官網:

https://www.mongodb.org.cn/

MongoDB英文官網:

https://docs.mongodb.com/manual/introduction/

MongoDB 中文手冊:

https://mongodb.net.cn/manual/

1、MongoDB的主要功能特性

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

*面向集合存儲,易存儲對象類型的資料。

*模式自由。

*支援動态查詢。

*支援完全索引,包含内部對象。

*支援查詢。

*支援複制和故障恢複。

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

*自動處理碎片,以支援雲計算層次的擴充性。

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

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

*可通過網絡通路。

2、對MongoDB進行增删改查(CRUD)操作

MongoDB 插入文檔

MongoDB 更新文檔

MongoDB 删除文檔

MongoDB 查詢文檔

MongoDB的下載下傳

官網下載下傳:

https://docs.mongodb.com/manual/administration/install-community/

MongoDB的案例應用

1、MongoDB适用和不适用的場景

MongoDB已經在多個站點部署,其主要場景如下:

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

2)緩存。由于性能很高,它适合作為資訊基礎設施的緩存層。在系統重新開機之後,由它搭建的持久化緩存層可以避免下層的資料源過載。

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

不适用的場景如下:

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

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

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