代码编程 Portainer 点点点 mongodb vscode

Navicat Premium连接mongodb详细

Elasticsearch和MongoDB简要对比 

 

Docker安装MongoDB

最重要的就是启动这一步,前面的可以看我的Docker笔记,启动如下

docker run --name mongo  -p 27017:27017 -d mongo:latest  --auth

以后,我先写-p再写-d

Docker给MongoDB设置用户密码

没有用户和密码,MongoDB的客户端NoSQL Manager for MongoDB是无法连接的

设置用户和密码如下 整个复制执行

#admin进入
docker exec -it 9751c42c72f6  mongo admin 
#创建用户和密码
db.createUser({ user: 'admin', pwd: '123', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }); 
#验证一下对不对
db.auth("admin","123");
#退出
exit

 

 

//创建了数据库 runoob 
//use runoob
 

db

 

 

Elasticsearch和MongoDB简要对比 

场景和目标

1、mongodb的目标是:“取代oracle和db2”(财务总监时上市说的)。和RDBMS是竞争关系。
2、es的大部分场景是:“一个常见的设置是使用其它数据库作为主要的数据存储,使用 Elasticsearch 做数据检索”(2.X官方文档里说的)。和RDBMS是辅助关系。

相同点:

1、都是以json格式管理数据的nosql数据库。
2、都支持CRUD操作。
3、都支持聚合和全文检索。
4、都支持分片和复制。
5、都支持阉割版的join操作。
6、都支持处理超大规模数据。
7、目前都不支持事务或者叫支持阉割版的事务。

不同点:

1、es是java编写,通过RESTFul接口操作数据。mongodb是C++编写,通过driver操作数据。(es对java开发更有好,利于排查理解)
2、mongodb的分片有hash和range两种方式,es只有hash一种。
3、es是天生分布式,主副分片自动分配和复制,开箱即用。mongodb的分布式是由“前置查询路由+配置服务+shard集合”,需要手动配置集群服务。
4、内部存储ES是到排索引+docvalues+fielddata。mongodb暂时未知。
5、es全文检索有强大的分析器且可以灵活组合,查询时智能匹配。mongodb的全文检索字段个数有限制。
6、es所有字段自动索引,mongodb的字段需要手动索引。
7、es非实时有数据丢失窗口。mongodb实时理论上无数据丢失风险。

总结:

1、es偏向于检索、查询、数据分析,适用于OLAP系统。mongodb偏向于大数据规模下的CRUD,适用于对事务要求不强的OLTP系统。

Docker容器做端口映射报错 docker: Error response from daemon: driver failed programming external connectivity

解决办法 systemctl restart docker(重新启动docker)

--

 admin Portainer suppor

container

 

 

 

 

 

 

posted @ 2021-12-01 16:48  cao919  阅读(78)  评论(0编辑  收藏  举报