2022年1月14日 星期五

Python 學習筆記 : 使用雲端 NoSQL 資料庫 MongoDB Atlas (一)

測試過 Google 的 Firebase 後, 我想試試看另一款 NoSQL 資料庫 MongoDB, 它是一種文件式 (document-oriented)  NoSQL 資料庫, 適合用來儲存像 HTML 那樣的非結構式資料 (Firebase 則是 key-value 鍵值對類型的 NoSQL 資料庫), 關於 NoSQL 資料庫得分類與說明參考下列文章 : 


傳統的關聯式資料庫需先定義資料的欄位, 資料以列記錄為單位儲存, 但 MongoDB 則是以文件 (document) 為單位儲存, 所謂的 document 其實就是 Python 字典那樣的鍵值對 (相當於一列紀錄), 多個 document 集合在一起稱為 collection (相當於一個資料表, 裡面有很多列).

MongoDB 支援 Windows, Linux, 與 macOS 等作業系統, 它曾經內建於主要的 Linux 發布版本, 但後來授權條款變更而被移除. MongoDB 支援各種程式語言的介接例如 Python, Java 等. 參考 : 


iT 邦幫忙有一系列介紹 MongoDB 用法的好文章 (我主要關心的是 CRUD 操作), 參考 :


因我不想在筆電內再安裝一套資料庫系統, 所以選擇註冊線上的 MongoDB 資料庫來測試, 它其實是架在 AWS, GCP, 以及 Azure 三大雲端服務上, 因此品質非常穩定, 且提供 512MB 的免費資料庫空間, 這對於小專案而言是夠用的, 對於需求更多的專案則可以考慮其付費方案. 


一. 申請線上 MongoDB 帳號 : 

首先到 MongoDB 官網按右上角的 "Try Free" 鈕 :





然後填妥個人資料與 E-mail 信箱與設定登入密碼後按 "Create account" 鈕建立帳號 :




然後在兩小時內到信箱收信, 按下信中的 "Verify Email" 確認鈕即可 : 




接著會跳轉到下列諮詢頁面, 詢問要用 MongoDB 做甚麼用途以及所使用的程式語言 : 




接著是選擇免費還是計費方案, 選最右邊的 "Shared" 的 Free 方案 : 




然後選最右邊的 "Free Shared" 按底下的 "Ctreate Cluster" 建立伺服器集群 : 




接下來選擇雲端服務提供者 (我選 AWS) 後按右下角的 "Create Cluster" : 




最後顯示如下設定結果 : 




這樣就算是把帳號搞定了. 


二. 設定資料庫使用者與允入 IP : 

上面將帳號設定成功後會進入 MongoDB 主控台頁面, 此處要做兩個存取權限設定 :
  1. 資料庫存取 (Database Access)  : 存取帳密或權杖設定
  2. 網路設定 (Network Access) : 允入 IP 管控
在左邊 "Security" 項目下點 "Quick Start" 連結, 右邊第 1 項設定是連線認證方式, 預設是用帳號密碼進行存取, 往下拉就會看到帳密設定欄  : 




設定好按右邊的 "Create User" 鈕新增使用者 : 





然後往下拉到第 2 項的存取 IP 設定, 如果有固定 IP 就將其輸入到 IP Address 欄位中, 再按 "Add Entry" 鈕, 就會在下面顯示允入之 IP 名單. 但因為大部分使用者都是浮動 IP, 此情況要輸入 0.0.0.0/0, 表示可從任何 IP 連線資料庫 : 





也可以分別點 "Quick Start" 底下的  "Database Access" 與 "Network Access" 連結進去分別設定, 設定的結果也是顯示在這兩個頁面上 :





這樣就完成所有設定了. 

沒有留言 :