springboot設(shè)置數(shù)據(jù)的緩存時間 Mybaits springboot有哪些分庫分表插件推薦?
Mybaits springboot有哪些分庫分表插件推薦?可以通過Spring Boot MyBatis Sharding-JDBC基于分庫分表。Sharding-JDBCSharding-JDBC
Mybaits springboot有哪些分庫分表插件推薦?
可以通過Spring Boot MyBatis Sharding-JDBC基于分庫分表。
Sharding-JDBCSharding-JDBC:導(dǎo)航儀為輕量級Java框架,在Java的JDBC層可以提供的五十點服務(wù)。它使用客戶端直連數(shù)據(jù)庫,以jar包形式提供服務(wù),無須額外布署和依賴,可明白為增強版的JDBC驅(qū)動,徹底兼容性JDBC和各種ORM框架。
區(qū)分于任何基于組件Java的ORM框架,如JPA、Hibernate、MyBatis、SpringJDBCTemplate或就不使用JDBC.實現(xiàn)任何第三方的數(shù)據(jù)庫連接到池,如DBCP、C3P0、BoneCP、Druid、HikariCP等。意見橫豎斜實現(xiàn)JDBC相關(guān)規(guī)范的數(shù)據(jù)庫,如MySQL、Oracle、SQLSever和PostgreSQL在內(nèi)任何按照SQL92標(biāo)準(zhǔn)的數(shù)據(jù)庫。sharding-jdbc架構(gòu)ShardingSphere-JDBC按結(jié)構(gòu)無中心化架構(gòu),可以參照于Java開發(fā)的更高性能的輕量級OLTP應(yīng)用。
功能數(shù)據(jù)分片:分庫和分表,讀寫分離,分布式主鍵;分布式事務(wù);XA強不對事務(wù),具備柔務(wù);數(shù)據(jù)庫治理;配置動態(tài)化,觸發(fā)熔斷機制和啟用,內(nèi)部函數(shù)鏈路探查;分庫分表分庫分表四個為垂線分表、垂線分庫、水平分表和水平分庫。
平行分表:把一個寬表的字段按訪問頻次、有無是大字段的原則word文檔合并為多個表,那樣可以使業(yè)務(wù)模糊,還能夠?qū)嵙μ嵘糠中阅?。拆分后,注意從業(yè)務(wù)角度盡量減少聯(lián)查,不然的話性能方面將不償失。平行分庫:把多個表明確的業(yè)務(wù)耦合松緊歸類,分別貯存不同的庫,這些庫可以分布的位置差別服務(wù)器,最大限度地使ftp連接壓力被多服務(wù)器負(fù)載,大大提升到性能,而能能提高整體架構(gòu)的業(yè)務(wù)清晰度,完全不同的業(yè)務(wù)庫可參照自身情況定制優(yōu)化方案??墒撬枰鉀Q的辦法跨庫給他的所有奇怪問題。水平分庫:把一個表的數(shù)據(jù)(按數(shù)據(jù)行)分到多個完全不同的庫,每個庫只有一這個表的部分?jǐn)?shù)據(jù),這些庫這個可以分布特點在完全不同服務(wù)器,最大限度地使訪問壓力被多個服務(wù)器電流值,有所進(jìn)階性能。它不單要解決跨庫給他的所有復(fù)雜度問題,又要解決數(shù)據(jù)路由的問題。水平分表:把一個表的數(shù)據(jù)(按數(shù)據(jù)行)分到多個同一個數(shù)據(jù)庫的多張表中,每個表只有這個表的部分?jǐn)?shù)據(jù),那樣的話能小幅回調(diào)實力提升性能,它僅僅以及水平分庫的一個另外優(yōu)化系統(tǒng)。一般來說,在系統(tǒng)設(shè)計階段就應(yīng)該據(jù)業(yè)務(wù)耦合松緊來確認(rèn)垂直分庫和平行分表方案,在數(shù)據(jù)量、訪問壓力又不是最重要的大的情況,首先確定緩存、讀寫分離、索引技術(shù)等方案。若數(shù)據(jù)量如此大,且持續(xù)增長,再考慮到水平分庫和水平分表方案。
核心中maven感情依賴再注意:請將${}可以修改為求實際的版本號。
規(guī)則配置ShardingSphere-JDBC可以實際Java,YAML,Spring命名空間和Spring BootStarter這4種接受配置,開發(fā)者可據(jù)場景選擇類型適合我的配置。
修改數(shù)據(jù)源按照ShardingSphereDataSourceFactory工廠和規(guī)則配置對象查看ShardingSphereDataSource。該對象實現(xiàn)程序自JDBC的標(biāo)準(zhǔn)DataSource接口,可作用于原生JDBC開發(fā),或可以使用JPA,MyBatis等ORM類庫。
官方中文文檔:
如果不是可以解決了你的疑惑,請淡淡的打聽一下,啊,謝謝支持。
SpringBoot開發(fā)使用Mybatis還是Spring Data JPA?
看你團(tuán)隊喜好吧,Mybatis容易上手,也更靈活。
JPA也還好,雖說屬于什么Spring全家桶一部分,像可以使用對象一樣寫SQL這種體驗也滿好的。
都也可以執(zhí)行原生SQL。
咋喜歡咋來。
不必糾結(jié)。