1. 程式人生 > >NoSQL資料庫之MongoDB(一)

NoSQL資料庫之MongoDB(一)

資料庫的分類

在解釋MogoDB之前,先給大家介紹一下我接觸過的資料庫的種類

關係型資料庫 : Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

NO SQL資料庫: 又分為四種:
1.鍵值(Key-Value)儲存資料庫
2.列儲存資料庫。(Hbase)
3.文件型資料庫(MongoDB)
4.圖形(Graph)資料庫

優缺點:

關係型資料庫的優勢:

  1. 保持資料的一致性(事務處理)

  2. 由於以標準化為前提,資料更新的開銷很小(相同的欄位基本上都只有一處)

  3. 可以進行Join等複雜查詢

其中能夠保持資料的一致性是關係型資料庫的最大優勢。

關係型資料庫的不足:

不擅長的處理

  1. 大量資料的寫入處理

  2. 為有資料更新的表做索引或表結構(schema)變更

  3. 欄位不固定時應用

  4. 對簡單查詢需要快速返回結果的處理

而非關係型資料庫的誕生就是為了解決關係型資料庫存在的缺點或者不足.

言歸正傳: 今天說文件型資料庫中的一種(MogoDB)

MongoDB

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