Spring Cloud Spring Boot mybatis分佈式微服務雲架構(二十三)使用MongoDB數據庫(1)

MongoDB簡介

MongoDB是一個基於分佈式文件存儲的數據庫,它是一個介於關係數據庫和非關係數據庫之間的產品,其主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)和傳統的RDBMS系統(具備豐富的功能)之間架起一座橋樑,它集二者的優點於一身。html

MongoDB支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型,也由於他的存儲格式也使得它所存儲的數據在Nodejs程序應用中使用很是流暢。redis

既然稱爲NoSQL數據庫,Mongo的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。spring

可是,MongoDB也不是萬能的,同MySQL等關係型數據庫相比,它們在針對不一樣的數據類型和事務要求上都存在本身獨特的優點。在數據存儲的選擇中,堅持多樣化原則,選擇更好更經濟的方式,而不是自上而下的統一化。mongodb

較常見的,咱們能夠直接用MongoDB來存儲鍵值對類型的數據,如:驗證碼、Session等;因爲MongoDB的橫向擴展能力,也能夠用來存儲數據規模會在將來變的很是巨大的數據,如:日誌、評論等;因爲MongoDB存儲數據的弱類型,也能夠用來存儲一些多變json數據,如:與外系統交互時常常變化的JSON報文。而對於一些對數據有複雜的高事務性要求的操做,如:帳戶交易等就不適合使用MongoDB來存儲。數據庫

MongoDB官網json

訪問MongoDB

在Spring Boot中,對如此受歡迎的MongoDB,一樣提供了自配置功能。數據結構

引入依賴

Spring Boot中能夠經過在pom.xml中加入spring-boot-starter-data-mongodb引入對mongodb的訪問支持依賴。它的實現依賴spring-data-mongodb。是的,您沒有看錯,又是spring-data的子項目,以前介紹過spring-data-jpaspring-data-redis,對於mongodb的訪問,spring-data也提供了強大的支持,下面就開始動手試試吧。分佈式

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

源碼來源spring-boot

相關文章
相關標籤/搜索