開頭先來說說我自己對於MongoDB的一些概念

 學習動機: 

1. 近幾週搜尋職缺時常常看見MongoDB被列為必要或是加分條件

2. 自己目前只接觸過關聯式資料庫(Oracle、MySQL、PostgreSQL、MSSQL),想了解 document-oriented如何運作與應用

 學習之前對於MongoDB的認識程度: 

0% (看過名字而已)

 

這次的學習參考資料來源:

1. <30天之你好MongoDB 系列> by我是小馬克 大大; 網址: https://ithelp.ithome.com.tw/users/20089358/ironman/1064

2.  [mongoDB]mongoDB和noSQL的簡介 by雷伊的工作心得; https://goo.gl/vHi6eH

 

|---------------------------------------------------------------------------------|

今日學習內容架構:

 什麼是MongoDB

 MongoDB的優缺與缺點

 MongoDB的組成 DocumentCollection

|---------------------------------------------------------------------------------|

 

什麼是MongoDB >

文件導向式(document-oriented)資料庫

noSQL的一種

字源是humongous

沒有提供MySQL的join功能

使用BSON的格式來存取資料

關聯式資料庫是row的概念,而MongoDB是document的概念。

例如

data[

  { Name:"Mary",

   Age:15

  }

  { Name:"Amy",

   Age:20

  }

]

|---------------------------------------------------------------------------------|

 

MongoDB的優缺與缺點 >

優點:

 Schema-less   彈性的Schema )   延伸學習:http://blog.xuite.net/flyingidea/blog/67641474

 易於擴展  ( 橫向擴展 → 易於多台伺服器之間進行資料分割

 性能佳 ( 預分配, 盡可能把多的內存用作cache

缺點:

 不支援事務操作  (不保證一致性→不適用於銀行、會計系統)

 較占空間  因 預分配&欄位占空間

|---------------------------------------------------------------------------------|

 

MongoDB的組成 >

- Document

MongoDB的核心,一個key對應一個value,key有區分大小寫且不能相同(重複)!

下面這個例子是兩種不同Document!

{ name : "mark" }

{ Name : "mark" }

- Collection

概念似於關聯式資料庫的table(collection)有很多個row(document)

動態的!  一個collection裡的document可以是各種類型 => 關聯式資料庫的table被schema綁死死

collection與document之間的架構關係如下圖所示

 

|---------------------------------------------------------------------------------|

 

< 學習MongoDB第一天的感想 >

好神奇啊!!

關聯式資料庫用久了,從來都沒有想過table可以有這樣的架構XD

明天繼續學習!

 

 

 

 

文章標籤

♥Weiwei♥ 發表在 痞客邦 留言(0) 人氣()