企业架构LNMP学习笔记54

企业架构NoSQL数据库之MongoDB。

学习目标和内容:

1)能够简单描述mongoDB的使用特点:

2)能够安装配置启动MongoDB;

3)能够使用命令行客户端简单操作MongoDB;

4)能够实现基本的数据操作;

5)能够实现MongoDB基本安全操作;(备份安全和账户安全)

6)能够操作安装php的MongoDB的扩展;

背景描述和方案设计:

根据业务需求,用户访问日志是在Web服务器的access.log存储。

统计每日访问量、峰值访问量。

问:

取出访问数量最多的IP。

把每次访问存储到mongoDB中,mongoDB来筛 选日志。

这个就是mongoDB的一个应用。

根据以上业务需求,采用mongoDB数据存储用户的访问日志,使用单台服务器。

1)访问日志存储;

2)在mongoDB中筛选查看信息。

企业架构LNMP学习笔记54_第1张图片

企业架构LNMP学习笔记54_第2张图片

[root@server01 logs]# cat access.log |awk '{print $1}' | sort -n|uniq -c|sort -rn|head
    496 192.168.17.1
    142 192.168.17.110
      1 192.168.17.107

这个方法要记住的。

如果是外网的某个IP,有很大的访问量,说明是一个攻击的IP。

把所有的日志汇总到mongoDB的服务器上。访问一次,就往mongoDB服务器中写。

每隔一个小时,把数据写到mongoDB服务器中。

mongoDB和mysql混合使用的。

我们运维需要学的东西更多。

各个产品各有各的优势。

MongoDB介绍:

noSQL介绍:

关系型数据库(RDBMS),设计表结构,通过SQL语句进行操作,连表关系。

常见的关系型数据库,mysql、oracle(商业)DB2(IBM)sqlserver(微软)access(微软)sqlite3(小型嵌入到APP中)postgresql(加州伯克利大学)。

nosql泛指非关系数据库,只要不是关系型数据库的数据库,都叫nosql。 存储格式key=》value

memcached redis内存缓存数据库

mongoDB具有更多的功能,可以适用于大部分的mysql场景document  store文档类型数据库。

前段使用sqlite3,以文件存储数据的。

DB-Engines Ranking - popularity ranking of database management systems

企业架构LNMP学习笔记54_第3张图片

数据库是要多花时间学习下的。

产品特点:

比较适合存储大量的没有规则的、无序的数据。未经过处理的数据。

存储量大:单表实现存储PB级别的数据。1PB=1024TB。

效率:

数据的效率,就是指存储和读写速度。

企业架构LNMP学习笔记54_第4张图片

可以看到MongoDB的插入速度是很快的。查询数据时间稍微慢点。加了索引,速度就是非常明显了。索引是加在内存中,在内存中比遍历磁盘要快很多的。使用内存多。

MongoDB的内存占满了,这个就要内存资源,看到这种内存资源不够了,恰恰是因为资源扩容。

内存资源要进行扩容。

这个要注意下。

结构:

企业架构LNMP学习笔记54_第5张图片

table的叫法叫colllection。column列叫field。主键:MongoDB自动将_id字段设置为主键。

你可能感兴趣的:(mongodb,架构,mongodb)