MongoDB 簡介
MongoDB是一種開源的NoSQL文件資料庫(Document Database),MongoDB中可以有多個Database,每個Database中可以有多個Collection,每個Collection中可以有多個Document。
若以關聯式資料庫來比喻,Collection=Table、Document=Row Record,用這樣來理解會比較好懂。
在RDBMS世界中,在儲存資料之前必須先定義好Schema,建立Table、設定好需要的欄位名稱、型別等等。而在MongoDB世界中,Collection不需要事先定義Schema,不用事先開好Collection,Collection中的每筆Document的欄位數量也是可以動態增減的,因此彈性很高。
- Document的儲存結構是key-value pair的BSON格式,BSON是一種基於JSON的格式。
MongoDB常被使用在開發需求尚不明確的應用,因為無法預先明確定義好Schema,這種場景就很適合使用MongoDB,很適合用來快速開發,降低開發成本。
另外,MongoDB具備處理大量資料的特性,如果應用場景需要查詢大量資料(TB、PB等級以上),且資料之間不須複雜的join關聯,那也是很適合的場景。