6大主流數(shù)據(jù)庫(kù)中間件詳解(非常全面)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
Java面試經(jīng)常問(wèn)到數(shù)據(jù)庫(kù)中間件,比如:數(shù)據(jù)庫(kù)中間件有哪些?下面我就重點(diǎn)來(lái)詳解6大數(shù)據(jù)庫(kù)中間件。 數(shù)據(jù)庫(kù)中間件定義數(shù)據(jù)庫(kù)中間件作為應(yīng)用程序和數(shù)據(jù)庫(kù)之間的代理,充當(dāng)一個(gè)緩沖層,使得應(yīng)用程序可以通過(guò)中間件來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),而不必直接與數(shù)據(jù)庫(kù)通信。 為什么需要數(shù)據(jù)庫(kù)中間件傳統(tǒng)的架構(gòu)模式就是 應(yīng)用連接數(shù)據(jù)庫(kù)直接對(duì)數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn),這種架構(gòu)特點(diǎn)就是簡(jiǎn)單方便。 但是隨著目前數(shù)據(jù)量不斷的增大我們就遇到了問(wèn)題:
當(dāng)面臨以上問(wèn)題時(shí),我們會(huì)想到不斷增加硬件性能,這種方式只能暫時(shí)解決問(wèn)題,當(dāng)業(yè)務(wù)量不斷增長(zhǎng)時(shí)還是解決不了問(wèn)題。 特別是淘寶,facebook,youtube這種業(yè)務(wù)成線(xiàn)性,甚至指數(shù)級(jí)上升的情況。 此時(shí)除了增加應(yīng)用服務(wù)器外,還會(huì)涉及到數(shù)據(jù)庫(kù)的垂直以及分庫(kù)分表,數(shù)據(jù)庫(kù)讀寫(xiě)分離等,這個(gè)時(shí)候就需要用到數(shù)據(jù)庫(kù)中間件。 數(shù)據(jù)庫(kù)中間件作用數(shù)據(jù)庫(kù)中間件可以簡(jiǎn)化對(duì)讀寫(xiě)分離以及分庫(kù)分表的操作,并隱藏底層實(shí)現(xiàn)細(xì)節(jié),可以像操作單庫(kù)單表那樣操作多庫(kù)多表。 數(shù)據(jù)庫(kù)中間件分類(lèi)常見(jiàn)的數(shù)據(jù)庫(kù)中間件如下,主要包含如下6類(lèi)數(shù)據(jù)庫(kù)中間件: 1.MyCatMycat是開(kāi)源社區(qū)在阿里cobar基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),解決了cobar存在的問(wèn)題,并且加入了許多新的功能在其中。 MyCat是基于MySQL協(xié)議開(kāi)發(fā)的,可以將多個(gè)MySQL數(shù)據(jù)庫(kù)服務(wù)器組合成一個(gè)邏輯數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)數(shù)據(jù)分片、負(fù)載均衡、讀寫(xiě)分離、故障切換等功能。 以下是MyCat的一些主要特點(diǎn):
2.MySQL-ProxyMySQL-Proxy是一種開(kāi)源的MySQL代理服務(wù)器,可以用于在客戶(hù)端和MySQL服務(wù)器之間進(jìn)行攔截和操作。 實(shí)現(xiàn)如下功能:
3.DRDS阿里DRDS是一種云原生的關(guān)系型數(shù)據(jù)庫(kù)中間件,由阿里巴巴集團(tuán)開(kāi)發(fā)和維護(hù)。 DRDS是阿里巴巴致力于解決單機(jī)數(shù)據(jù)庫(kù)服務(wù)瓶頸問(wèn)題,而自主研發(fā)推出的分布式數(shù)據(jù)庫(kù)產(chǎn)品。 DRDS的前身是淘寶根據(jù)自己的業(yè)務(wù)特點(diǎn)開(kāi)發(fā)了TDDL,全稱(chēng)是Taobao Distributed Data Layer 框架,主要解決了分庫(kù)分表對(duì)應(yīng)用的透明化以及異構(gòu)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)復(fù)制。 以下是DRDS的一些主要特點(diǎn):
4.AtlasAtlas是360團(tuán)隊(duì)基于mysql proxy 把lua用C改寫(xiě)的版本,是一個(gè)基于MySQL協(xié)議的數(shù)據(jù)中間層項(xiàng)目。 Atlas它能夠?qū)?shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)分離、分庫(kù)分表配置,配合MHA架構(gòu)進(jìn)行高可用環(huán)境搭建有較好的效果。 5.ZebraZebra 是美團(tuán)點(diǎn)評(píng)開(kāi)發(fā)的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層中間件,它的設(shè)計(jì)目標(biāo)是提供高性能、高可用性和易于管理的關(guān)系型數(shù)據(jù)庫(kù)解決方案。 具有以下的功能點(diǎn):
6.ShardingSphereApache ShardingSphere 是一套開(kāi)源的分布式數(shù)據(jù)庫(kù)中間件,它由 JDBC、Proxy 和 Sidecar這 3 款相互獨(dú)立,卻又能夠混合部署配合使用的產(chǎn)品組成。 分庫(kù)分表是所有ShardingSphere產(chǎn)品中最為經(jīng)典、成熟,也是使用最多的功能。 ShardingSphere它支持多種數(shù)據(jù)庫(kù),包括MySQL、Oracle、DB2、PostgreSQL和SQLServer等。 以上就是數(shù)據(jù)庫(kù)中間件的詳解,希望對(duì)你掌握數(shù)據(jù)庫(kù)中間件有所幫助。 -end- 該文章在 2024/1/23 12:26:35 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |