天天看點

開發者學堂課程幹貨總結——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索引算法