实时数据库探索基于免费的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连接配置信息,密码处填写创建数据库时设置的密码
-
点击测试连接,我会发现,连接成功,随后点击确定即可
方案三:免费数据库