一夜就把微服务数据架构,数据分类及存储特性,SpringData搞懂了

Spring Data

针对数据库和NoSQL存储数据,一种理想的方式是使用统一的数据访问模型进行数据操作,通过对象关系映射模式,屏蔽底层数据存储层的差异和细节,提高开发人员的生产效率。Spring Data正是为这个目标而存在的。

Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时保留底层数据存储的特性。它使数据访问技术、关系数据库和非关系数据库、Map-Reduce框架及基于云的数据服务变得简单易用。这是一个伞形项目,其中包含许多特定于给定数据库的子项目。Spring Data通过不同子项目可以完成对不同数据类型和数据源的访问和数据操作。

Spring Data的架构特征

● 强大的存储库和自定义对象映射抽象。

● 从存储库方法名称派生动态查询。

● 提供基本属性实现领域内的基类。

● 支持透明审核(创建,最后更改)。

● 可以集成自定义存储库代码。

● 通过JavaConfig和自定义XML命名空间轻松实现Spring集成。

● 与Spring MVC控制器的高级集成。

● 跨存储持久性的实验支持。

Spring Data的主要模块

Spring Data主要包含下面几个模块,根据业务实际需要选择对应的功能模块。

● Spring Data Common : 支 持 每 个 Spring Data 模 块 的 CoreSpring概念。

● Spring Data JDBC:对JDBC的Spring Data存储库提供支持。

● Spring Data JPA:对JPA的Spring Data存储库提供支持。

● Spring Data MongoDB:对MongoDB的基于Spring对象文档的存储库提供支持。

● Spring Data Redis:从Spring应用程序轻松配置和访问Redis。

● Spring Data JDBC Ext:支持对标准JDBC的数据库进行特定扩展。

● Spring Data KeyValue:提供基础组件,用于处理键值对存储,以及默认的基于java.util.Map的实现。

● Spring Data LDAP:对Spring LDAP的Spring Data存储库提供支持。

● Spring Data REST:将Spring Data存储库导出为超媒体驱动的RESTful资源。

● Spring Data for Pivotal GemFire:轻松配置和访问PivotalGemFire。

● Spring Data for Apache Cassandra:轻松配置和访问ApacheCassandra。

Spring Boot与Spring Data

对于Spring Boot微服务框架而言,无论访问SQL还是NoSQL,Spring Boot默认都是整合Spring Data来完成对数据库持久层的访问。Spring Boot可以通过自动配置功能自动添加配置,屏蔽了大量烦琐的配置工作。Spring Data提供了很多模块去支持各种数据库的操作,通过引入xxxTemplate、xxRepository等抽象模块来统一和简化应用层对底层数据库的访问操作,下面是Spring Boot集成Spring Data的整体架构图。

一夜就把微服务数据架构,数据分类及存储特性,SpringData搞懂了_第1张图片

你可能感兴趣的:(java)