實時資料庫探索基於免費的MongoDB
所有內容僅為個人學習記錄用,侵權聯刪
先說為什麼倒騰資料庫
我自己是買了一個win伺服器的,平時用來執行腳本價格也算可以,裡面的資料庫這樣:
但是,我估計以後可能不會怎麼用伺服器那麼伺服器到期之後有沒有更好的替代方案用來存讀資料呢呢?
這裡我有兩個需求:
多端同步
實時更新
下面是幾個解決方案:
方案一:建一個收集表然後寫個爬蟲,定時去爬
這個方案後面再看
方案二:白嫖MongoDB 512MB的資料庫
❗❗❗MongoDB的操作方式我並不喜歡,更習慣與mysql,這個方案就放這裡,感興趣自取
關於註冊直接百度即可,512MB平時自用用足夠了
參考:
第一步:註冊或登陸
在MongoDB atlas首頁,如果有賬號,那就點選登陸。否則點選Get Started here 來註冊,註冊頁面都是必填項:
第二步:建立新的Cluster
登陸之後,如果尚未建立任何Cluster,那麼會提示建立一個新的Cluster,如下所示:
注意 只有M0是免費的,這個裡面很多選項都是針對M0以上的,不過M0對於學習也足夠了。下面是M0可以設定的選項:
Cloud Provider & Region:叢集部署的位置
選一個亞洲節點好了。
Cluster Tier:服務套餐
當然是M0啦,共享記憶體 CPU,512M儲存也夠了,M0包含一個3個節點組成的replica set。
Additional settings 設定,不過M0沒有啥可以設定的
可以看到,預設是WT引擎,這也表明,MongoDB官方在慢慢放棄Mmapv1儲存引擎,大多數新的feature都支援WT引擎。
Cluster Name: 叢集的名字
點選Create Cluster 開始建立(可能還需要人機校驗)
第三步: 建立使用者,設定白名單
建立新的Cluster需要幾分鐘時間,在這個等待時間內,可以按提示建立user和設定白名單:
為了方便訪問,白名單IP就設定為0.0.0.0/0
回到overview介面,叢集建立好了,有一些基本的監控:Operation、 Connections、Logical Size
第四步:python連線
import pandas as pd
import pymongo
client = pymongo.MongoClient(url) #url獲取看下面
db = client["data"]#相當於資料庫名
collection = db['test']#相當於資料表
data = pd.DataFrame(list(collection.find()))
'''執行結果:
_id \
0 61af3584d66c18c27d081386
token \
0 2|1:0|10:16370721190|12:access_token|44:a3ZyRH...
ua \
0 Mozilla/5.0 (Linux; Android 7.1.2; vmos Build/...
plus
0 f4eb90d6adbc498abee80e54c1529733 15680.....
'''
url獲取方法:
第五步:php連線,增刪改查
自行百度,做到這裡我就沒做了,暫時不想用這種方法,相對於mysql MongoDB不太好操作,不符合我的預期
第六步:Navicat連線
-
按照上文的操作,我們可以看到如下圖的介面,點選CONNECT
-
接下來,選擇Connect Using MongoDB Compass
-
接下來,點選I have MongDB Compass,可以看到一串連線字串,如下圖紅線框起來的地方
-
參照上圖中紅線框起來的連線字串,我們按照下圖填下我們的Navicat連線配置資訊,密碼處填寫建立資料庫時設定的密碼
-
點選測試連線,我會發現,連線成功,隨後點選確定即可
方案三:免費資料庫