Java面試題:分庫分表

分庫分表

當數據量非常大時,就需要通過分庫分表的方式進行壓力分攤,避免數據庫訪問壓力過大

分庫分表的前提:

業務數據達到一定量級:單表數據量達到1000w或20g

優化解決不了性能問題

分庫分表策略

垂直拆分

垂直分庫

以表為依據,根據業務將不同表拆分到不同庫中

eg:根據微服務拆分數據庫成多個數據庫

按照業務對數據進行分級管理
在高并發下提高磁盤的IO和數據庫連接數
垂直分表

以字段為依據,根據字段屬性將不同字段拆分到不同表中

拆分規則:

將大文本的字段或者是不常用的字段拆出來單獨成為一個表

冷熱數據分離
減少IO的過度爭搶,兩個表不會互相影響

水平拆分

水平分庫

將一個庫的數據分到多個庫中(表相同,但數據不同)

查詢數據時根據數據路由

路由規則:

根據id節點取模

或按照id的范圍進行路由

解決了單庫大數量,高并發的問題
提高了系統的穩定性和可用性
水平分表

將一個表的數據拆到多個表中(可以在同一個庫內)

查詢數據時根據數據路由

優化單表數據量過大問題
避免IO爭搶

分庫分表下的問題

分布式事務問題
跨節點的關聯查詢
跨節點的分頁和排序
主鍵避重

一般通過中間鍵mycat或者sharding-sphere進行處理解決這些問題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45433.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45433.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45433.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

車載終端_RTK定位|4路攝像頭|駕駛輔助系統ADAS定制方案

現代車輛管理行業的發展趨勢逐漸向智能化和高效化方向發展,車載終端成為關鍵的工具之一。在這個背景下,一款特別為車隊管理行業設計的車載終端應運而生。該車載終端采用8寸多點觸控電容屏,搭載聯發科四核處理器,主頻2.0GHz&#x…

如何安裝node.js

Node.js Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行時環境。 主要特點和優勢: 非阻塞 I/O 和事件驅動:能夠高效處理大量并發連接,非常適合構建高并發的網絡應用,如 Web 服務器、實時聊天應用等。 例如,在…

FeignClient詳解

FeignClient 是 Spring Cloud Open Feign 中的一個注解,它用于定義一個 Feign 客戶端,Feign 是一個聲明式的 Web 服務客戶端,使得編寫 Web 服務客戶端變得更加簡單。以下是 FeignClient 注解的詳細說明: 定義 Feign 客戶端&#x…

網絡安全——防御(防火墻)帶寬以及雙機熱備實驗

12,對現有網絡進行改造升級,將當個防火墻組網改成雙機熱備的組網形式,做負載分擔模式,游客區和DMZ區走FW3,生產區和辦公區的流量走FW1 13,辦公區上網用戶限制流量不超過100M,其中銷售部人員在其…

Swift入門筆記

Swift入門筆記 簡單值控制流函數和閉包對象和類枚舉和結構體并發協議和擴展錯誤處理泛型 簡單值 // 聲明變量 var myVariable 42 myVariable 50// 聲明常量 let myConstant 42// 聲明類型 let implicitInteger 70 let implicitDouble 70.0 let explicitDouble: Double 7…

排序相關算法--3.選擇排序

之前涉及的堆排序就是選擇排序的一種,先進行選擇。 基本選擇排序: 最簡單,也是最沒用的排序算法,時間復雜度高并且還是不穩定的排序方法,項目中很少會用。 過程: 在一個長度為 N 的無序數組中,…

智慧公廁系統助力城市衛生管理

在當今快速發展的城市環境中,城市衛生管理面臨著諸多挑戰。其中,公共廁所的管理一直是一個重要但又常被忽視的環節。然而,隨著科技的不斷進步,智慧公廁系統的出現為城市衛生管理帶來了全新的解決方案,成為提升城市品質…

OrangePi AIpro 淺上手

OrangePi AIpro 淺上手 OrangePi AIpro 介紹開發版介紹硬件規格頂層視圖和底層視圖接口詳情圖 玩轉 OrangePi AIPro燒錄鏡像串口調試連接 WiFissh 連接配置下載源 使用感受優點:缺點或需注意的點: OrangePi AIpro 介紹 開發版介紹 OrangePi AIpro是香橙…

【大語言模型】私有化搭建-企業知識庫-知識問答系統

下面是我關于大語言模型學習的一點記錄 目錄 人工智能學習路線 MaxKB 系統(基于大語言模型的知識問答系統) 部署開源大語言模型LLM 1.CPU模式(沒有好的GPU,算力和效果較差) 2.GPU模式(需要有NVIDIA顯卡支持) Ollama網絡配置 Ollama前…

【問卷系統】TDucKX更新速覽

TDuck是一款在線表單問卷收集工具,開源地址:https://gitee.com/TDuckApp一款免費的表單問卷系統;可快速創建問卷或業務表單,采用無代碼理念支持開發自定義組件。采用SpringBootVueElementUI技術棧,功能強大界面清新&am…

Catena-x標準解讀:CX-0007 Minimal Data Provider Service Offering v1.0.2 最小數據提供商服務產品

為了更好地理解,最小數據提供者服務也將被稱為“上傳工具”。 對于數據供應工具來說,數據主權的概念尤為重要。數據主權是Catena-X網絡的核心價值觀之一。每個參與者都應該盡可能多地控制自己的數據。這包括 他總是確切地知道他在與誰交換數據。參與者…

【GameFramework擴展應用】6-4、GameFramework框架增加AB包加解密功能

推薦閱讀 CSDN主頁GitHub開源地址Unity3D插件分享簡書地址QQ群:398291828大家好,我是佛系工程師☆恬靜的小魔龍☆,不定時更新Unity開發技巧,覺得有用記得一鍵三連哦。 一、前言 【GameFramework框架】系列教程目錄: https://blog.csdn.net/q764424567/article/details/1…

軟件測試面試200問(全)

1、B/S架構和C/S架構區別 B/S 只需要有操作系統和瀏覽器就行,可以實現跨平臺,客戶端零維護,維護成本低,但是個性化能力低,響應速度較慢 C/S響應速度快,安全性強,一般應用于局域網中&#xff0…

【matlab】智能優化算法優化BP神經網絡

目錄 引言 一、BP神經網絡簡介 二、智能優化算法概述 三、智能優化算法優化BP神經網絡的方法 四、蜣螂優化算法案例 1、算法來源 2、算法描述 3、算法性能 結果仿真 代碼實現 引言 智能優化算法優化BP神經網絡是一個重要的研究領域,旨在通過智能算法提高…

變量篩選—特征包含信息量

在變量篩選中,通過衡量特征所包含信息量大小,決定是否刪除特征,常用的指標有單一值占比、缺失值占比和方差值大小。單一值或缺失值占比越高,表示特征包含信息量越少,不同公司設置不同閾值,一般單一值、缺失值占比高于95%,建議刪除。方差值越小,代表特征包含信息量越小。…

入職前回顧一下git-01

git安裝 Linux上安裝git 在linux上建議用二進制的方式來安裝git,可以使用發行版包含的基礎軟件包管理工具來安裝。 紅帽系 sudo yum install gitDebian系 sudo apt install gitWindows上安裝git 去官網下載和操作系統位數相同的安裝包.或者可以直接安裝GitHub…

模板引擎是什么?

模板引擎(Template Engine)是一種用于生成文本輸出的工具,尤其在Web開發中應用廣泛。它的主要目的是將用戶界面(通常是HTML等模板文件)與業務數據(內容)分離,從而提供一種高效、靈活…

[圖解]SysML和EA建模住宅安全系統-14-黑盒系統規約

1 00:00:02,320 --> 00:00:07,610 接下來,我們看下一步指定黑盒系統需求 2 00:00:08,790 --> 00:00:10,490 就是說,把這個系統 3 00:00:11,880 --> 00:00:15,810 我們的目標系統,ESS,看成黑盒 4 00:00:18,030 --> …

spring管理bean源碼解析

1. 從啟動類開始 public static void main(String[] args) {// Run the SpringApplication class with the Application class as the first argumentSpringApplication.run(Application.class, args);}2. bean 實例化 // SpringAplication row1294,1295 run() // SpringApli…

Power Apps使用oData訪問表數據并賦值前端

在使用OData查詢語法通過Xrm.WebApi.retrieveMultipleRecords方法過濾數據時,你可以指定一個OData $filter 參數來限制返回的記錄集。 以下是一個使用Xrm.WebApi.retrieveMultipleRecords方法成功的例子,它使用了OData $filter 參數來查詢實體的記錄&am…