天天看点

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

哈喽各位同学们大家好呀,今天小编为大家分享开发者学院中课程“Spring Boot 2.5实战MongoDB数据库与面试题”干货总结哦~Spring Boot 2.5.x开发实战可是Java中级工程师必备课程;

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Boot 2.5.x开发实战

课程地址:

https://developer.aliyun.com/learning/course/71?spm=a2c6h.21254954.0.0.4e905907uoWZzr

图谱名称:Alibaba Java 技术图谱

图谱地址:

https://developer.aliyun.com/graph/java?spm=a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ Spring Boot 2.5实战MongoDB数据库与面试题 

  1. Spring Boot 2.5实战MongoDB数据库 

阿里云大学MongoDB的高级实战课程,涵盖入门到各种高级主题、索引、存储引擎及各种对接包括日志加密、安全身份验证、高可用集群,分片集群等。 

《阿里巴巴MongoDB4.0高级实战》 

  1. MongoDB数据库入门:MongoDB概览、4.0新特性、下载安装、Shell连接及基本操作等  
  2. MongoDB数据库数据查询与分析:MongoDB查询命令、分析、聚合等  
  3. MongoDB数据库核心知识:MongoDB数据库操作、集合、存储引擎、数据模型等  
  4. MongoDB数据库管理:MongoDB数据相关操作、数据备份与恢复等  
  5. MongoDB数据库性能分析与调优:MongoDB索引、算法、查询计划等  
  6. MongoDB与Java开发实战:基于Java Spring Boot和云数据库MongoDB开发HTML5博客应用  
  7. MongoDB数据库排错日志分析: MongoDB日志收集、经典问题解析、常用问题排查工具等 
  8. MongoDB数据库安全机制:MongoDB身份验证、加密、典型机制等 
  9. MongoDB数据库HA高可用集群架构:主从复制、读写分离、自动化故障转移、HA集群,阿里云数据库集 群等  
  10. MongoDB数据库运维:数据库维护、升级,云数据库MongoDB版运维、监控工具,数据库容灾方案等  
  11. MongoDB优化实战案例:讲解MongoDB的索引原理,以及常见的优化手段,并分析一些具体的优化案例 
  12. MongoDB Sharding集群原理与架构优化:讲解Sharding集群原理、架构设计方法,以及常见的架构优化 手段  
  13. 官方网站: https://edu.aliyun.com/workshop/3/course/1044

二、NoSQL排名第一 MongoDB 

移动互联网架构 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

MongoDB简介 

MongoDB是文档型数据库,较灵活,容易做集群搭建,在互联网公司运用广泛。 

1. NoSQL排名第一,BAT互联网公司必备; 

2. 分布式数据库; 

3. 由C++语言编写,特点是高性能、易部署、易使用、存储数据非常方便; 

4. 旨在为Web应用提供可扩展的高性能数据存储解决方案; 

5. MongoDB由10gen团队所开发,于2009年2月首度推出. 

6. MongoDB开源、跨平台, 

7. 支持 Windows、Linux、OS X和Solaris系统  

8. MongoDB最新版本为4.0,支持跨文档事务 

MongoDB优点 

  1. 灵活的数据模型 
  2. 便于横向拓展 
  3. 自动分片存储 
  4. 支持分布式查询 
  5. 集成内存缓存 
  6. 高性能高并发 

MongoDB的典型行业案例 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

MongoDB版本特性 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

推荐大家用3.0以后的版本,因为3.0以后默认Wiredtiger,性能、稳定性更强大,4.0以后基本上也支持分布式事务Transaction,包括分片集群、复制集群事务,其他并行异步复制等,提升了针对大容量数据库迁移的优化。 

  1. 安装MongoDB数据库 

下载MongoDB4.4 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

官方下载,windows可以直接下,Linux直接用命令,安装后启动MongoDB服务。 

安装最新MongoDB 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

Linux安装MongoDB4.0 

开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(五)

可视化管理工具 

• Robomongo 

• Robo 3T 

• Compass 

MongoDB操作命令 

• > show dbs  

• admin   0.000GB  

• config  0.000GB • local   0.000GB  

• > show users  

• > show collections  

• > use Alibaba 

• switched to db alibaba  

• > db.users.insert({"name":"Java"})  

• WriteResult({ "nInserted" : 1 })  

• > db.users.insert({"name":"mongo","age":18})  

• > db.users.find() • { "_id" :ObjectId("604ca8c13bfab2e14d4927d4"), "name" : "Java" }  

• { "_id" : ObjectId("604ca8e33bfab2e14d4927d5"), "name" : "mongo", "age" : 18 }  

• > db.users.insert({"name":"frank","password":"1234","age":18})  

• WriteResult({ "nInserted" : 1 }) • > db.users.find()  

• { "_id" : ObjectId("604ca8c13bfab2e14d4927d4"), "name" : "Java" } • { "_id" : ObjectId("604ca8e33bfab2e14d4927d5"), "name" : "mongo", "age" : 18 } 

• { "_id" : ObjectId("604ca9623bfab2e14d4927d6"), "name" : "frank", "password" : "1234", "age" : 18 } 

四、Spring Data实战 MongoDB数据库 

Spring Data 2.5 MongoDB新特性 

1. 简化Java的MongoDB数据库开发API  

2. 提供一致的基于Spring的编程模型  

3. Spring configuration 支持@Configuration classes or an XML namespace  

4. 方便编写Repository仓储模式的DAO层代码  

5. 自动实现Repository interface的CRUD常用操作  

6. 自动进行POJO和MongoDB文档数据的映射转换, Spring’s Conversion Service  

7. 可以自定义扩展方法  

8. MongoTemplate helper class 提升MongoDB开发效率  

9. Low-level mapping using MongoReader/MongoWriter abstractions  

10. Java based Query, Criteria, and Update DSLs  

11. Log4j log appender  

12. GeoSpatial集成  

13. Map-Reduce 集成  

14. JMX administration and monitoring  

15. CDI support for repositories  

16. GridFS 支持 

Repository仓储层代码 

  public interface BlogRepository extends MongoRepository <Blog, objectId> { 

  public Blog findById(objectId id); 

  public void delete (objectId id); 

  public List<Blog> findAll(); 

 }  

Repository仓储层代码,实际大大的简化了整个数据库编程,但是底层基础还是需要大家去使用,作为应用开发人员,使用接口越方便越简单效率越高,但是底层实现需要我们花时间去研究学习。 

五、本节课高级面试题 

高级面试题 

1. Spring Data for MongoDB映射机制  

2. 官方驱动是什么  

3. MongoDB存储什么数据?NoSQL,面向文档 JSON  

4. MongoDB优缺点  

5. MongoDB几大存储引擎  

6. 数据复制的过程  

7. 索引类型  

8. 性能优化  

9. 性能监控  

10. GEO索引算法