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