第一部分MongoDB体系结构

MongoDB

第一部分MongoDB体系结构

1、NoSQL和MOngoDB

NoSQL=Not Only SQL,支持类似SQL的功能, 与Relational Database相辅相成。其性能较高,不使用SQL意味着没有结构化的存储要求(SQL为结构化的查询语句),没有约束之后架构更加灵
活。
NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储
MongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、
高性能、易部署的数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。

2、MongoDB的体系结构

第一部分MongoDB体系结构_第1张图片

3、MongoDB和RDBMS(关系型数据库)对比

第一部分MongoDB体系结构_第2张图片

4、什么是BSON

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Binary Data类型。BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。
{key:value,key2:value2} 这是一个BSON的例子,其中key是字符串类型,后面的value值,它的类型一般是字串,double,Array,ISODate等类型。
BSON有三个特点:轻量性、可遍历性、高效性

5、BSON在MongoDB中的使用

MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成一文档这个概念(Document),这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。
MongoDB中Document 中 可以出现的数据类型

第一部分MongoDB体系结构_第3张图片

6、MongoDB在linux的安装

1、查看CentOS版本
cat /etc/centos-release
2、去网站找到下载路径
https://www.mongodb.com/try/download/community
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.6.tgz
3、解压
4、创建日志和数据目录
5、创建配置文件
touch mongo.cfg
vim mongo.cfg
dbpath=/opt/software/mongodb/data
port=27017
bind_ip=0.0.0.0
fork=true
logpath=/opt/software/mongodb/lo://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.6.tgz/MongoDB.log
logappend=true
auth=false
6、启动
bin/mongod -f mongo.cfg

7、启动参数书面

参数 说明
dbpath 数据库目录,默认/data/db
port 监听的端口,默认27017
bind_ip 监听IP地址,默认全部可以访问
fork 是否已后台启动的方式登陆
logpath 日志路径
logappend 是否追加日志
auth 是开启用户密码登陆
config 指定配置文件

8、Mongo shell启动

启动mongo shell
./bin/mongo
指定主机和端口的方式启动
./bin/mongo --host=主机IP --port=端口

9、MongoDB GUI工具

MongoDB Compass Community由MongoDB开发人员开发,这意味着更高的可靠性和兼容性。它为MongoDB提供GUI mongodb工具,以探索数据库交互,具有完整的CRUD功能并提供可视方式。借助内置模式可视化,用户可以分析文档并显示丰富的结构。为了监控服务器的负载,它提供了数据库操作的实时统计信息。就像MongoDB一样,Compass也有两个版本,一个是Enterprise(付费),社区可以免费使用。适用于Linux,Mac或Windows。

NoSQLBooster是MongoDB CLI界面中非常流行的GUI工具。它正式名称为MongoBooster。NoSQLBooster是一个跨平台,它带有一堆mongodb工具来管理数据库和监控服务器。这个Mongodb
工具包括服务器监控工具,Visual Explain Plan,查询构建器,SQL查询,ES2017语法支持等等…它有免费,个人和商业版本,当然,免费版本有一些功能限制。NoSQLBooster也可用于Windows,MacOS和Linux。

你可能感兴趣的:(java,mongodb,linux)