MongoDB 及搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/llziseweiqiu/article/details/79199095

一.传统的企业开发模式(单机模式)

  客户端-->服务器-->数据库

  缺点:A.当请求量过大时,容易当机

      B.  大容量的数据的存储问题

二.改变措施

        redis                                      Mysql (主) __________binlog________集群__________Mysql(从)

  NOSql半结构化数据                //

                  \\                      //

 客户端-->       服务器-    \\

                                          \\ 

                                                  fastDFS 集群

                                                       tracker

                                               -----------|-------------

                                             |                  |                   |

                                            storage1    storage2       storage3


数据分类:三大类

  A.结构化数据  有规则的数据库和表   RDBMS    Oracle Mysql

  B.半结构化数据   无规则的数据    json xml      NoSQL 

  C.非结构化数据   二进制文件 Xlsx

     A.MySQL 集群  1)主从复制 高可用

                              2)读写分离 高性能(主写从读)

                              3)海量数据的存储 (分库分表)

                                      水平拆分,将一张表数据水平   主键%10=0 第一张小表

                                      Mycat 分库分表数据库中间键 

   B.     半结构化数据      (内存数据) 

           NOSQL :    redis  键值型数据库

                            mongoDB   文档型数据库       bson数据格式

                            Hbase         列存储

                            Neo4J         图形存储

 NOSQL 数据库的优点:                                                                     缺点

            1>海量数据,高可扩展性                                                                 1)弱事务性

            2>分布式计算  廉价的服务器                                                         2)查询语言不统一,功能有限

           3>低成本                                                                                      3)数据安全性较差

           4.数据结构灵活 (没有限制)

           5.没有复杂的关系

        选择:

                 事物要求高,数据完整性非常高---->关系型数据库

                数据一般,后期可能扩展的数据  ----->noSQL

                不重要的数据(缓存)   redis memcached

                  二进制数据     fastDFS

               


                                          

                                                            

                                                           


三 .MongoDB 

 mongoDB是一款免费开源的NOSQL文档型数据库,旨在为WEB应用提供可护展的高性能数据存储解决方案。

Note:

  1. NOSQL(not only sql):指的是非关系型数据库,没有固定的存储格式,一般适用于超大规模数据的存储。
  2. NOSQL优点:高可用、可扩展、低成本、数据结构灵活
  3. NOSQL缺点:弱化事务

  1. 数据存储格式为 BSON(一种二进制形式的存储格式,类似于 JSON
  2. 丰富的查询语言(CRUD、数据聚合、全文检索、地理位置查询)
  3. 高可用(副本集)
  4. 水平扩展,支持海量数据存储(分片)
  5. MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  6. 支持完全索引

三、 MongoDB中概念解析

SQL术语 MongoDB术语 说明
database database 数据库
table collection 集合
row document 文档,一条记录
index index 索引
primary key primary key 主键,MongoDB自动将_id字段设置为主键
foreign key

四、环境搭建(注:最新版本3.6,只能在64位系统安装)

1. 安装
1
2
3
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.2.tgz
tar -zxvf mongodb-linux-x86_64-3.6.2.tgz
mv mongodb-linux-x86_64-3.6.2 mongodb
2. 启动mongodb服务


1
2
# 启动mongo server命令
./mongod --port 27017 --dbpath=/data/db

# 启动成功,如下图所示:

五、MongoDB的客户端基本操作

1. 打开客户端交互窗口
1
/root/mongodb/bin/mongo 192.168.138.156:27017

注:
a. mongodb 客户端是一个javascript交互窗口,可以直接写js代码
b. mongodb和mysql数据库有点类似,有数据库的概念,在使用时需要先选中数据库,再执行操作

2. 数据库相关操作

show dbs 展示所有数据库

db 展示当前使用的数据库

use 数据库名 切换到指定数据库

db.dropDatabase(); 删除数据库

db.help(); 帮助命令


猜你喜欢

转载自blog.csdn.net/llziseweiqiu/article/details/79199095