mysql資料庫中介軟體 Mysql 資料庫中介軟體

2021-10-25 14:47:26 字數 1094 閱讀 9637

讀寫分離:簡單的說是把對資料庫讀和寫的操作分開對應不同的資料庫伺服器,這樣能有效地減輕資料庫壓力,也能減輕io壓力。主資料庫提供寫操作,從資料庫提供讀操作,其實在很多系統中,主要是讀的操作。當主資料庫進行寫操作時,資料要同步到從的資料庫,這樣才能有效保證資料庫完整性。

分庫分表:

水平分割槽:分表

垂直分割槽:分庫

水平分表也稱為橫向分表,比較容易理解,就是將表中不同的資料行按照一定規律分布到不同的資料庫表中(這些表儲存在同乙個資料庫中),這樣來降低單錶資料量,優化查詢效能。最常見的方式就是通過主鍵或者時間等字段進行hash和取模後拆分。如下圖所示:

垂直分庫在「微服務」盛行的今天已經非常普及了。基本的思路就是按照業務模組來劃分出不同的資料庫,而不是像早期一樣將所有的資料表都放到同乙個資料庫中。如下圖:

oneproxy分庫分表總結:

中介軟體或架構層中一部分是為了解決應用之間的通訊及服務治理,另一部份是為了解決資料的分布問題。相當於是將前面例子中講的分割槽表裡的每乙個分割槽分別移到一台不同的硬體伺服器上,而讓應用的開發基本感知不到或者能少做調整就能適應這種擴充套件,原理非常類似於分割槽表,但稱之為分庫分表。

oneproxy將分割槽表的概念從資料庫層抽象到sql**器層,然後對通訊協議進行分析,可根據sql裡的表名及傳入引數進行對上層應用透明的智慧型路由,從而達到虛擬分割槽表的效果,也就實現了對應用透明的分庫分表的功能。

在oneproxy裡同樣支援按範圍(range)、按值(list)、按雜湊演算法(hash)進行虛擬分庫分表

Mysql資料庫中介軟體 kingshard

kingshard是乙個由go開發高效能mysql proxy專案,kingshard在滿足基本的讀寫分離的功能上,致力於簡化mysql分庫分表操作 能夠讓dba通過kingshard輕鬆平滑地實現mysql資料庫擴容。kingshard的效能是直連mysql效能的80 以上。線上使用kingsha...

mysql資料庫中介軟體研究

隨著網際網路的發展,資料量的不斷增大。單台例項已經遠遠無法滿足業務的需要。對資料庫分庫分表的需求不斷的增加隨之而來的就是資料庫中介軟體的開發。一 單台例項主要面臨下面幾個問題 1.資料量太大單台機器無法承載 2.資料查詢效率太低,單錶資料達到一定的量業務效能就無法滿足 3.資料庫優化上的瓶頸 4.資...

面試 資料庫 中介軟體

lru是redis唯一支援的 演算法 no eviction 不刪除策略 對於所有的key allkeys lru 刪除最近訪問頻率低的key allkeys random 隨機刪除一部分key 對於設定expire volatile lru 刪除最近訪問頻率低的key volatile rando...