springboot设置数据的缓存时间 Mybaits springboot有哪些分库分表插件推荐?
Mybaits springboot有哪些分库分表插件推荐?
可以通过Spring Boot MyBatis Sharding-JDBC基于分库分表。
Sharding-JDBCSharding-JDBC:导航仪为轻量级Java框架,在Java的JDBC层可以提供的五十点服务。它使用客户端直连数据库,以jar包形式提供服务,无须额外布署和依赖,可明白为增强版的JDBC驱动,彻底兼容性JDBC和各种ORM框架。
区分于任何基于组件Java的ORM框架,如JPA、Hibernate、MyBatis、SpringJDBCTemplate或就不使用JDBC.实现任何第三方的数据库连接到池,如DBCP、C3P0、BoneCP、Druid、HikariCP等。意见横竖斜实现JDBC相关规范的数据库,如MySQL、Oracle、SQLSever和PostgreSQL在内任何按照SQL92标准的数据库。sharding-jdbc架构ShardingSphere-JDBC按结构无中心化架构,可以参照于Java开发的更高性能的轻量级OLTP应用。
功能数据分片:分库和分表,读写分离,分布式主键;分布式事务;XA强不对事务,具备柔务;数据库治理;配置动态化,触发熔断机制和启用,内部函数链路探查;分库分表分库分表四个为垂线分表、垂线分库、水平分表和水平分库。
平行分表:把一个宽表的字段按访问频次、有无是大字段的原则word文档合并为多个表,那样可以使业务模糊,还能够实力提升部分性能。拆分后,注意从业务角度尽量减少联查,不然的话性能方面将不偿失。平行分库:把多个表明确的业务耦合松紧归类,分别贮存不同的库,这些库可以分布的位置差别服务器,最大限度地使ftp连接压力被多服务器负载,大大提升到性能,而能能提高整体架构的业务清晰度,完全不同的业务库可参照自身情况定制优化方案。可是它需要解决的办法跨库给他的所有奇怪问题。水平分库:把一个表的数据(按数据行)分到多个完全不同的库,每个库只有一这个表的部分数据,这些库这个可以分布特点在完全不同服务器,最大限度地使访问压力被多个服务器电流值,有所进阶性能。它不单要解决跨库给他的所有复杂度问题,又要解决数据路由的问题。水平分表:把一个表的数据(按数据行)分到多个同一个数据库的多张表中,每个表只有这个表的部分数据,那样的话能小幅回调实力提升性能,它仅仅以及水平分库的一个另外优化系统。一般来说,在系统设计阶段就应该据业务耦合松紧来确认垂直分库和平行分表方案,在数据量、访问压力又不是最重要的大的情况,首先确定缓存、读写分离、索引技术等方案。若数据量如此大,且持续增长,再考虑到水平分库和水平分表方案。
核心中maven感情依赖再注意:请将${}可以修改为求实际的版本号。
规则配置ShardingSphere-JDBC可以实际Java,YAML,Spring命名空间和Spring BootStarter这4种接受配置,开发者可据场景选择类型适合我的配置。
修改数据源按照ShardingSphereDataSourceFactory工厂和规则配置对象查看ShardingSphereDataSource。该对象实现程序自JDBC的标准DataSource接口,可作用于原生JDBC开发,或可以使用JPA,MyBatis等ORM类库。
官方中文文档:
如果不是可以解决了你的疑惑,请淡淡的打听一下,啊,谢谢支持。
SpringBoot开发使用Mybatis还是Spring Data JPA?
看你团队喜好吧,Mybatis容易上手,也更灵活。
JPA也还好,虽说属于什么Spring全家桶一部分,像可以使用对象一样写SQL这种体验也满好的。
都也可以执行原生SQL。
咋喜欢咋来。
不必纠结。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。