午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

sharding - 數(shù)據(jù)庫分庫切表后Java后端代碼實現(xiàn)以及最佳實踐

瀏覽:167日期:2023-10-30 14:46:42

問題描述

現(xiàn)在業(yè)務(wù)中由于一些表越來越大,read的時候壓力很大(write的需求比較小),所以在數(shù)據(jù)庫端決定把一些數(shù)據(jù)量特別大的表切表, 但是在后端代碼中有很多代碼/query需要做join這些表,請問這樣的情況下大家是怎么樣解決的?

比如我們現(xiàn)在有 SampleTable 有大概1億條數(shù)據(jù),我們根據(jù)邏輯切成了大概16個不同的表:SampleTable 1,SampleTable2...SampleTable31,以前代碼中有query 類似于:

select * from SampleTable join test_table

現(xiàn)在需要執(zhí)行這樣的query 多次然后把數(shù)據(jù)聚合起來做為返回結(jié)果嗎?

select * from SampleTable1 join test_table

有沒有更好的方法或者library推薦?有沒有什么beset practice或者sample code?

如果之后我們要多個表拆分到不同的database server上,是否在后端代碼得加上不同db 的數(shù)據(jù)庫連接?

數(shù)據(jù)庫Sharding的基本思想和切分策略這篇文章更多的是數(shù)據(jù)庫切分的策略,是否有人能提供下實際的項目code sample?Database sharding and JPAwhat-to-do-instead-of-sql-joins-while-scaling-horizontally

stackoverflow 上的一些答案

問題解答

回答1:

可以考慮引入數(shù)據(jù)庫中間件sharding-jdbc client級別mycat-server server級別

回答2:

朋友介紹 Spark 不錯,支持 SQl 式的查詢,1 億條數(shù)據(jù) 0.5 秒左右返回結(jié)果

回答3:

只針對目前我們項目中的情況: 在分表時根據(jù)hash算法落到特定表,然后取的時候先根據(jù)算法獲取數(shù)據(jù)的分布位置,然后就是正常的select了

回答4:

不建議連表查詢1.數(shù)據(jù)庫資源比較寶貴,連表查詢會占用大量的內(nèi)存,導(dǎo)致數(shù)據(jù)庫性能下降2.不支持?jǐn)?shù)據(jù)在多個數(shù)據(jù)庫實例,分庫情況無法處理,擴(kuò)展性較差

通用做法是將連表查詢,查分成多個單表查詢,然后將結(jié)果在應(yīng)用中匯總。1.能夠上述連表查詢的問題2.多次查詢也可以在程序中對每一次查詢的中間結(jié)果做處理,這是一個靈活性。3.應(yīng)用也可以隨時擴(kuò)展,更加靈活

如果是離線場景,建議使用MR(mapreduce)框架來處理,例如:hadoop等,相應(yīng)的,需要將數(shù)據(jù)寫入到hdfs上。

回答5:

http://blog.csdn.net/tianyale...詳解分庫分表

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 久久123| 日韩一级免费毛片 | 午夜寂寞影院在线观看 | 国产美女在线播放 | 一区二区视频免费看 | 秋霞成人午夜鲁丝一区二区三区 | 精品日本一区二区三区在线观看 | 国产成年人在线观看 | 中文字幕在线观看2018 | 97超碰成人 | 亚洲欧美第一页 | 亚洲图片欧美激情 | 亚洲黄色免费观看 | av爱爱 | 国产黄a三级三级看三级 | 成人在线超碰 | 日本成人精品视频 | 亚洲成人中文字幕在线 | 精品九九视频 | 久久黄网 | 超碰中文字幕 | 欧美三级在线免费观看 | 国产极品在线播放 | 污片网站在线观看 | 久久久久黄色片 | 日本特黄特色aaa大片免费 | 欧美毛片网站 | 亚洲免费色视频 | 亚洲视频在线免费看 | 欧美专区日韩专区 | 亚洲影视一区 | 国产精品伊人 | 成人av网站大全 | 黄色在线免费 | 成人一级视频在线观看 | 日韩一二三 | 成人欧美一区二区 | 极品探花在线观看 | 久久精品久久精品 | 亚洲一级影院 | 亚洲人精品|