(三)垂直分庫架構、分布式數據庫

文章目錄

  • 垂直分庫架構/分布式數據庫
    • 什么是垂直分庫架構
    • 架構模型
    • 優缺點
      • 優點
      • 缺點
    • 技術案例
    • 分布式數據庫
    • 架構模型
    • 優缺點
      • 優點
      • 缺點
    • 技術案例

垂直分庫架構/分布式數據庫

什么是垂直分庫架構

根據業務的模塊劃分, 將不同業務的數據放到不同的數據庫中。 比如一個電子商城有商品業務, 用戶業務, 交易業務。 那么數據庫對應的里面有商品表, 用戶表, 交易表。 那么采用垂直分庫架構, 就是將里面的每一個業務板塊的表作為單獨的一個庫:商品庫, 用戶庫, 交易庫。

架構模型

整個的流程就是用戶想要訪問一下交易服務, 但是交易服務可能要用到商品服務, 所以就去訪問了一下商品服務, 然后商品服務去檢查熱點數據, 找到了, 就返回結果然后把服務結果返回給交易服務。 交易服務拿到結果后, 再去熱點數據進行查找, 沒找到,就又去冷庫里面讀取,然后讀取到數據返回給用戶。

在這里插入圖片描述

優缺點

優點

  • 減少了不同業務之間的資源競爭, 增加了索引的效率。
  • 顯著分擔了并發請求, 增加了應對高并發尤其是寫并發的能力。
  • 減少了業務代碼之間的耦合, 業務出現問題更容易定位問題的位置。

缺點

  • 跨庫查詢困難, 無法直接使用JOIN
  • 數據一致性問題, 比如訂單庫增加, 商品庫就要減少。
  • 系統的復雜性上升, 運維成本增加

技術案例

在這里插入圖片描述

分布式數據庫

分布式數據庫架構是垂直分庫架構的進一步演進。 垂直分庫架構通過業務模塊縱向拆分數據庫。 而分布式數據庫屬于根據數據分片橫向拆分數據庫。同時分布式數據庫還有多副本、分布式事務、負載均衡、一致性模型、透明性等特性。

  • 分片: 分片就是在按照業務模塊拆分的基礎上。 對每一個業務數據庫再劃分為一個一個的子集,即進行橫向擴展。就比如原本用戶表、商品表都是使用一個主數據,多個從數據庫。 現在將每個表劃分為多個子集, 每個子集又有自己的主庫和從庫。
    在這里插入圖片描述
  • 多副本:將每一個分片都設計成一個主從集群, 分布式數據庫應用了讀寫分離架構架構來提高冗余和提高并發處理能力。
  • 分布式事務: 對于垂直分庫架構來說, 跨庫事務是難點。 分布式數據庫支持跨庫的事務處理。 保證多個節點的(分片之間或者主從之間)的ACID。 這也說明分布式數據庫具有一致性的特性, 比如TiDB的強一致性。
  • 透明訪問: 提供統一接口, 底層設計對上層透明。
  • 負載均衡: 請求自動被分發給流量少的分片, 分片之間能夠流量均衡。

架構模型

在這里插入圖片描述

優缺點

優點

  • 性能高, 高性能計算。
  • 處理高并發, 海量數據能力非常強。
  • 分片結構擴展能力非常強。

缺點

  • 系統復雜度非常高, 硬件成本, 運維成本高昂。
  • 一致性協議性能開銷大, 分布式事務性能開銷大。
  • 分布式事務管理復雜。

技術案例

在這里插入圖片描述

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

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

相關文章

數據結構線性表的順序存儲結構

線性表是由零個或多個數據元素組成的有序序列。 特點: 數據元素間是有順序的; 數據元素的個數是有限的; 一般來說,數據元素的類型是相同的(強類型語言)。c/c是強類型語言,必須指定數據類型。…

扣子空間試用:生成五一騎行規劃+notion文章編寫

今天試用了一下扣子空間,正好五一快到了,讓它幫忙做了五一騎行規劃,效果不賴! 生成五一騎行規劃 點擊前往網站查看效果 prompt 如下: 幫我做一個五一上海騎行規劃 要求: - 風景優美 - 人少 - 100km總路程…

最新得物小程序sign簽名加密,請求參數解密,響應數據解密逆向分析

點擊精選,出現https://app.dewu.com/api/v1/h5/index/fire/index 這個請求 直接搜索sign的話不容易定位 直接搜newAdvForH5就一個,進去再搜sign,打上斷點 可以看到t.params就是沒有sign的請求參數, 經過Object(a.default)該函數…

在C#串口通信中,一發一收的場景,如何處理不同功能碼的幀數據比較合理,代碼結構好

在 C# 串口通信的一發一收場景里,處理不同功能碼的幀數據可采用以下合理的代碼結構,它能讓代碼更具可讀性、可維護性和可擴展性。 實現思路 定義幀結構:創建一個類來表示通信幀,其中包含功能碼、數據等信息。功能碼處理邏輯&…

【C++】vector擴容縮容

vector擴容縮容 1 擴容 一般來說&#xff0c;主要是重新分配內存 2 縮容 resize 縮小后&#xff0c;vector 的容量&#xff08;capacity()&#xff09;可能保持不變&#xff0c;需要顯式調用 shrink_to_fit() 來釋放內存。 驗證代碼&#xff1a; #include <vector>…

java中,線程的執行狀態有哪些

在 Java 里&#xff0c;線程有 6 種執行狀態&#xff0c;這些狀態都在 java.lang.Thread.State 枚舉類中被定義。下面為你詳細介紹這些狀態&#xff1a; 1. NEW&#xff08;新建狀態&#xff09; 當你創建了一個 Thread 對象&#xff0c;卻還未調用其 start() 方法時&#xf…

MATLAB 控制系統設計與仿真 - 41

魯棒控制的其他函數 - 回路成型函數 loopsyn 靈敏度問題由魯棒控制工具箱中的loopsyn就可以直接求解,該函數采用H無窮回路成型算法設計控制器,函數的調用格式為: [K,CL,gamma,info] = loopsyn(G,Gd) % G為受控對象模型% Gd為期望的回路傳遞函數% K為回路成型控制器模型% C…

查詢Hologres或postgresql中的數據

因Hologres使用postgresql的語法.所以兩者查詢一樣. 方案1: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;/*** 一個使用簡單連接池管理PostgreSQL連接的工具類。*/ publi…

OpenBayes 一周速覽|EasyControl 高效控制 DiT 架構,助力吉卜力風圖像一鍵生成;TripoSG 單圖秒變高保真 3D 模型

公共資源速遞 10 個教程&#xff1a; * 一鍵部署 R1-OneVision * UNO&#xff1a;通用定制化圖像生成 * TripoSG&#xff1a;單圖秒變高保真 3D * 使用 VASP 進行機器學習力場訓練 * InfiniteYou 高保真圖像生成 Demo * VenusFactory 蛋白質工程設計平臺 * Qwen2.5-0mni…

中興云電腦W102D_晶晨S905X2_2+16G_mt7661無線_安卓9.0_線刷固件包

中興云電腦W102D_晶晨S905X2_216G_mt7661無線_安卓9.0_線刷固件包 準備工作&#xff1a; 工具和設備在開始刷機之前&#xff0c;確保你已經準備好以下物品&#xff1a;雙公頭USB線&#xff1a;選擇一根30-50厘米長的USB線&#xff0c;長度適中&#xff0c;方便操作&#xff0c;…

Rust 學習筆記:安裝 Rust

Rust 學習筆記&#xff1a;安裝 Rust Rust 學習筆記&#xff1a;安裝 Rust在 Windows 上安裝 Rust命令行創建 Rust 項目在 Mac/Linux 上安裝 Rust一些命令升級卸載cargo -hrustc -h 安裝 RustRoverrust-analyzer Rust 學習筆記&#xff1a;安裝 Rust 在 Windows 上安裝 Rust …

Opencv圖像處理:輪廓檢測、輪廓近似、繪制外接圓外接矩形

文章目錄 一、圖像輪廓檢測1、比較2、常見的輪廓檢測方法1&#xff09;基于梯度的方法2&#xff09;基于邊緣檢測器的方法3&#xff09;基于閾值的方法 3、查找輪廓與繪制輪廓4、參數解釋4、代碼解釋1&#xff09;讀取原圖像灰度圖并用二值化顯示2&#xff09;輪廓繪制3&#x…

精益數據分析(17/126):精益畫布與創業方向抉擇

精益數據分析&#xff08;17/126&#xff09;&#xff1a;精益畫布與創業方向抉擇 大家好&#xff01;一直以來&#xff0c;我都希望能和大家一起在創業和數據分析的領域中不斷探索、共同進步。今天&#xff0c;我們接著深入學習《精益數據分析》&#xff0c;這次聚焦于精益畫…

每天五分鐘深度學習PyTorch:圖像的處理的上采樣和下采樣

本文重點 在pytorch中封裝了上采樣和下采樣的方法,我們可以使用封裝好的方法可以很方便的完成采樣任務,采樣分為上采樣和下采樣。 上采樣和下采樣 下采樣(縮小圖像)的主要目的有兩個:1、使得圖像符合顯示區域的大小;2、生成對應圖像的縮略圖。 下采樣( 放大圖像)的…

代碼隨想錄訓練營第39天 || 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍 III

198. 打家劫舍 思路&#xff1a; 動規五部曲&#xff1a; 1.dp數組及其下標的意義&#xff1a;dp數組表示當前房屋下偷與不偷的最大盜取金額 2.確定遞推公式&#xff1a;因為盜取房屋只能間隔盜取&#xff0c;并且還要取最大值。所以每個房屋都有盜取和不盜取兩個選擇&…

【AI 加持下的 Python 編程實戰 2_09】DIY 拓展:從掃雷小游戲開發再探問題分解與 AI 代碼調試能力(上)

DIY 拓展&#xff1a;從掃雷小游戲開發再探問題分解與 AI 代碼調試能力&#xff08;上&#xff09; 1 起因 最近在看去年剛出了第 2 版《Learn AI-assisted Python Programming》&#xff0c;梳理完 第七章 的知識點后&#xff0c;總感覺這一章的話題很好——問題分解能力的培…

使用DeepSeek-Prover-V1.5解決數學問題

DeepSeek-Prover-V1.5-RLRMaxTS是一個結合強化學習和搜索策略的自動定理證明系統。 1. 初等代數&#xff1a;二次方程求解 問題&#xff1a;解方程 x - 5x 6 0 操作步驟&#xff1a; 將問題轉換為Coq形式&#xff1a; Theorem quadratic : exists x : Z, x^2 - 5*x 6 0…

3.3 技術框架:LangChain、ReAct、Memory與Tool Integration

隨著人工智能技術的飛速發展&#xff0c;智能代理&#xff08;Agent&#xff09;已成為企業實現自動化、智能化和個性化服務的核心工具。在2025年&#xff0c;技術框架如LangChain、ReAct、Memory和Tool Integration在構建高效、靈活的AI代理系統中占據了重要地位。這些框架通過…

STM32F103 單片機(基于 ARM Cortex-M3 內核)的啟動過程涉及硬件初始化、固件配置和程序執行流程。

1. 啟動模式與地址映射 STM32F103 的啟動模式由 BOOT0 和 BOOT1 引腳配置決定&#xff0c;不同的啟動模式對應不同的存儲器映射&#xff1a; 啟動模式 映射地址范圍 說明 主 Flash 0x08000000~0x0807FFFF 用戶程序存儲在 Flash 中&#xff0c;復位后從 Flash 啟動&#xff08…

【C語言-選擇排序算法】實現對十個數進行排序

目錄 前言 一、選擇排序算法原理 二、選擇排序算法實現對十個數進行排序 三、代碼運行示例 四、選擇排序算法的時間復雜度和空間復雜度分析 五、選擇排序算法的優缺點 六、總結 前言 在計算機科學領域&#xff0c;排序算法是基石般的存在&#xff0c;它們就像是整理雜亂…