6大主流数据库中间件详解(非常全面)
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
Java面试经常问到数据库中间件,比如:数据库中间件有哪些?下面我就重点来详解6大数据库中间件。 数据库中间件定义数据库中间件作为应用程序和数据库之间的代理,充当一个缓冲层,使得应用程序可以通过中间件来访问数据库,而不必直接与数据库通信。 为什么需要数据库中间件传统的架构模式就是 应用连接数据库直接对数据进行访问,这种架构特点就是简单方便。 但是随着目前数据量不断的增大我们就遇到了问题:
当面临以上问题时,我们会想到不断增加硬件性能,这种方式只能暂时解决问题,当业务量不断增长时还是解决不了问题。 特别是淘宝,facebook,youtube这种业务成线性,甚至指数级上升的情况。 此时除了增加应用服务器外,还会涉及到数据库的垂直以及分库分表,数据库读写分离等,这个时候就需要用到数据库中间件。 数据库中间件作用数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表。 数据库中间件分类常见的数据库中间件如下,主要包含如下6类数据库中间件: 1.MyCatMycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中。 MyCat是基于MySQL协议开发的,可以将多个MySQL数据库服务器组合成一个逻辑数据库,从而实现数据分片、负载均衡、读写分离、故障切换等功能。 以下是MyCat的一些主要特点:
2.MySQL-ProxyMySQL-Proxy是一种开源的MySQL代理服务器,可以用于在客户端和MySQL服务器之间进行拦截和操作。 实现如下功能:
3.DRDS阿里DRDS是一种云原生的关系型数据库中间件,由阿里巴巴集团开发和维护。 DRDS是阿里巴巴致力于解决单机数据库服务瓶颈问题,而自主研发推出的分布式数据库产品。 DRDS的前身是淘宝根据自己的业务特点开发了TDDL,全称是Taobao Distributed Data Layer 框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制。 以下是DRDS的一些主要特点:
4.AtlasAtlas是360团队基于mysql proxy 把lua用C改写的版本,是一个基于MySQL协议的数据中间层项目。 Atlas它能够对数据库进行读写分离、分库分表配置,配合MHA架构进行高可用环境搭建有较好的效果。 5.ZebraZebra 是美团点评开发的数据库访问层中间件,它的设计目标是提供高性能、高可用性和易于管理的关系型数据库解决方案。 具有以下的功能点:
6.ShardingSphereApache ShardingSphere 是一套开源的分布式数据库中间件,它由 JDBC、Proxy 和 Sidecar这 3 款相互独立,却又能够混合部署配合使用的产品组成。 分库分表是所有ShardingSphere产品中最为经典、成熟,也是使用最多的功能。 ShardingSphere它支持多种数据库,包括MySQL、Oracle、DB2、PostgreSQL和SQLServer等。 以上就是数据库中间件的详解,希望对你掌握数据库中间件有所帮助。 -end- 该文章在 2024/1/23 12:26:35 编辑过 |
关键字查询
相关文章
正在查询... |