程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> mongodb簡介

mongodb簡介

編輯:DB2教程

mongodb簡介


簡述:

MongoDB是一個基於分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB是一個介於 關系數據庫 和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。

Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立 索引

在高負載的情況下,添加更多的節點,可以保證服務器性能。

MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB 將數據存儲為一個文檔。MongoDB是一個基於分布式文件存儲的數據庫。

特點:

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

* 面向集合存儲,易存儲對象類型的數據。

* 模式自由。

* 支持動態 查詢

* 支持完全索引,包含內部對象。

* 支持查詢。

* 支持復制和故障恢復。

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

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

* 支持 RUBYPYTHONJAVAC++PHPC# 等多種語言。

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

* 可通過 網絡 訪問。

使用原理:

所謂“面向集合”(Collection-Oriented),意思是數據被分組存儲在數據集中,被稱為一個集合(Collection)。每個集合在數據庫中都有一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似 關系型數據庫 (RDBMS)裡的表(table),不同是它不需要定義任何模式(schema)。

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

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

分布式文件系統:

分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連。

分布式文件系統的設計基於客戶機/服務器模式。一個典型的網絡可能包括多個供多用戶訪問的服務器。另外,對等特性允許一些系統扮演客戶機和服務器的雙重角色。

HBase是一個分布式的、面向列的開源數據庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數據的 分布式存儲系統

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

實際應用:

MongoDB服務端可運行在 LinuxWindows 或mac os x平台,支持32位和64位應用,默認端口為27017。推薦運行在64位平台,因為MongoDB在32位模式運行時支持的最大文件尺寸為2GB。

數據邏輯結構:

MongoDB 體系結構之-的邏輯結構。MongoDB 的邏輯結構是一種層次結構。主要由:

文檔(document)、集合(collection)、數據庫(database)這三部分組成的。邏輯結構是面向用戶的,用戶使用MongoDB 開發應用程序使用的就是邏輯結構。

_ MongoDB 的文檔(document),相當於關系數據庫中的一行記錄。

_ 多個文檔組成一個集合(collection),相當於關系數據庫的表。

_ 多個集合(collection),邏輯上組織在一起,就是數據庫(database)。

_ 一個MongoDB 實例支持多個數據庫(database)。

MongoDB

關系型數據庫

文檔(document)

行(row)

集合(collection)

表(table)

數據庫(database)

數據庫(database)

_id key:

MongoDB 支持的數據類型中,_id 是其自有產物,下面對其做些簡單的介紹。

存儲在MongoDB 集合中的每個文檔(document)都有一個默認的主鍵_id,這個主鍵名稱是固定的,它可以是MongoDB 支持的任何數據類型,默認是ObjectId。在關系數據庫schema設計中,主鍵大多是數值型的,比如常用的int 和long,並且更通常的是主鍵的取值由數據庫自增獲得,這種主鍵數值的有序性有時也表明了某種邏輯。反觀MongoDB,它在設計之初就定位於分布式存儲系統,所以它原生的不支持自增主鍵。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved