資料庫的選擇不只有關聯式資料庫,根據情境的不同我們可能會選擇使用所謂的 NoSQL
來作為資料儲存的地方,其中 MongoDB
就是一個比較常在使用的 NoSQL
資料庫,今天就讓我們來聊聊使用 NoSQL
的情境與如何安裝吧!
NoSQL 的意思不是沒有 SQL 的意思,而是 Not Only SQL
,也就是不限定為「關聯式資料庫」的資料庫統稱
,在操作上,而 NoSQL 本身並不支援使用 SQL,因此使用 NoSQL 通常都是在資料變動性較大、關聯複雜且靈活的情境。
前面提到 NoSQL 有著靈活的特性,那詳細到底跟傳統的關聯式資料庫有什麼不同呢,以下整體三點:
一般我們使用關聯式資料庫都要預先將資料的關聯設定好才能夠使用,在現在常常會出現原本沒有關連後來突然出現關聯的物件、或是同一類型的物件有著不同的屬性等等的情境出現,這時候用 NoSQL 就是一個比較好的選擇。
同一種物件的資料格式可能會隨著時間不同逐漸地擴充或是與其他的不同,如果使用關聯式資料庫的話就要不斷的擴充欄位,這樣的作法可能會造成許多欄位是空值的浪費,使用 NoSQL 可以避免掉這種情況,如果特定物件有自己的專有屬性,就直接新增即可,不會影響到其他的物件,這樣的情境在爬蟲時特別好用。
承如上面兩點所描述,NoSQL 可以讓每個物件的格式都不同,因為儲存是用 json
格式儲存,因此我們可以自由的定義物件內的結構。
如果對 NoSQL 有耳聞過的人基本上應該都會聽過 MongoDB
的大名,從上圖 db-engines 整理的排名豬可以看出 MongoDB
是目前最多人使用的 NoSQL 資料庫,很非常多的社群再討論,本身使用 C++
撰寫,因此不用擔心他運行的速度,
在 mac 上安裝套件我推薦使用 Homebrew
來安裝,我們可以透過以下指令輕鬆的安裝
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
我們先把 Homebrew
更新,這樣在下載 package 時才會載到最新版本
brew update
接著非常簡單,只要透過 brew
指令安裝 mongodb
就可以將他安裝在本機環境了
brew install mongodb
安裝完 MongDB 後除了使用 cli 存取外,我推薦使用官方的套件 - compass
如上圖,安裝 compass
非常簡單,只要在這裡 選擇版本、作業系統後,按下 Download
即可下載安裝檔,載完安裝檔後直接點選 下一步
安裝到底即可。
安裝完成後,開啟的畫面如下。
如上圖,填寫好相關的連線資訊後按下 connect
按鈕即可連線,如果連線成功的話會出現下面這樣的畫面。
今天先跟大家聊聊關於 NoSQL 與 MongoDB 的一些基本觀念與環境,明天我們再來看看怎麼使用 golang 連線到 MongoDB 並且進行資料存取吧