数据库中间件对比

这篇具有很好参考价值的文章主要介绍了数据库中间件对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模式说明

PROXY模式

相当于把中间件作为一个独立的服务了,它将接收到的SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

CLIENT模式

中间件在Driver或者连接池的基础之上,增加了一层封装。我们使用时,以Java开发为例,需要先引入一个jar包。中间件接收持久层产生的sql,同样对sql进行分析等操作,然后才落实到具体的库上。

具体差异对比

模式

名称

厂家

介绍

支持语言

支持协议

开源

优点

缺点

备注

CLIENT TDDL 淘宝 淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer )框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制。 java JDBC协议 GitHub - alibaba/tb_tddl 性能较高 复杂度相对较高。当前公布的文档较少,只开源动态数据源,分表分库部分还未开源,还需要依赖diamond 不推荐
CLIENT zebra 美团点评 Zebra是一个基于JDBC API协议上开发出的高可用、高性能的数据库访问层解决方案,是美团点评内部使用的数据库访问层中间件。 java JDBC协议 https://github.com/Meituan-Dianping/Zebra 美团内部使用中间件,社区活跃度高 只支持java 对java语言强依赖,现阶段不推荐
PROXY mycat 开源社区 mycat是在cobar基础上研发出来的,对 cobar 的代码进行了彻底的重构,使用 NIO 重构了网络模块,并且优化了 Buffer 内核,增强了聚合,Join 等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。 Mysql协议 GitHub - MyCATApache/Mycat-Server
GitHub - MyCATApache/Mycat2: MySQL Proxy using Java NIO based on Sharding SQL,Calcite ,simple and fast
社区活跃度高 有些成熟方案,业内也在使用 可以考虑
PROXY atlas 360 Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用 Atlas 运行的 MySQL 务,每天承载的读写请求数达几十亿条。 Mysql协议 GitHub - Qihoo360/Atlas: A high-performance and stable proxy for MySQL, it is developed by Qihoo's DBA and infrastructure team 4年未更新维护 不推荐
PROXY Vitess YouTube Vitess一直为YouTube所有的数据库提供服务,据其官方描述,它是一款用于部署、扩展和管理大型MySQL实例集群的数据库解决方案。 Mysql协议 Vitess: Youtube出品的开源分布式MySQL工具集Vitess,自动分片存储MySQL数据表,将单个SQL查询改写为分布式发送到多个MySQL Server上,支持行缓存(比MySQL
GitHub - vitessio/vitess: Vitess is a database clustering system for horizontal scaling of MySQL.

简单介绍之Vitess_lzb_include的博客-CSDN博客

vitess介绍 - 拾遗笔记
社区活跃度高 复杂度高,文档欠缺
PROXY

ShardingSphere

apache Apache ShardingSphere 是一套开源的分布式数据库增强计算引擎,其通过可插拔架构构建基于数据库之上的生态系统,实现包括数据分片、弹性伸缩、加密脱敏等功能为代表的增强能力 Mysql协议 Apache ShardingSphere 社区活跃度高,apache顶级项目

文档健全、功能全面.

PROXY

kingshard文章来源地址https://www.toymoban.com/news/detail-519049.html

个人维护 kingshard是一个Go开发的mysql中间件,可以实现读写分离、分库分表、连接池等功能 mysql协议 GitHub - flike/kingshard: A high-performance MySQL proxy 两年未更新

到了这里,关于数据库中间件对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jasypt 数据库及中间件密码加解密

    9一、引入jar包 二、新增JasyptUtils工具类 三、修改application.yml 将加密后密码替换值yml文件ENC()括号内

    2024年02月13日
    浏览(46)
  • PHP Laravel 路由、中间件、数据库等例子

    以下是使用Laravel框架时的一些常见示例: 1. 路由(Routes): // 定义基本路由 Route::get(\\\'/home\\\', \\\'HomeController@index\\\'); // 带有参数的路由 Route::get(\\\'/user/{id}\\\', \\\'UserController@show\\\'); // 路由组 Route::middleware([\\\'auth\\\'])-group(function () {     Route::get(\\\'/dashboard\\\', \\\'DashboardController@index\\\');     Route::pos

    2024年02月16日
    浏览(59)
  • ShardingSphere:强大的分布式数据库中间件【图文】

    Sharding-JDBC :它提供了一个轻量级的 Java 框架,在 Java 的 JDBC 层提供额外的服务。使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。Sharding-JDBC主要用于嵌入到应用程序中,使应用程序能够透明地

    2024年04月28日
    浏览(52)
  • Go重写Redis中间件 - Go实现内存数据库

    前面我们实现了一个简单的回发Redis,这里我们要实现一个真正的Redis内核 实现底层Dict数据结构 新建一个datastruct文件夹,放一些我们要用的数据结构,比如Redis的核心起始就是一个map,再新建一个包实现这个map或者叫字典,字典的底层使用的就是map dict.go 写一个Dict接口定义

    2024年02月11日
    浏览(51)
  • 【云原生技术】云计算中的数据库中间件简介

    云计算中的数据库中间件是位于客户端和数据库服务器之间的软件层,提供数据库操作的抽象、管理、优化和扩展功能。这些中间件可以简化数据库的管理,提高性能和安全性,同时使应用程序更容易与数据库进行交互。 主要功能 连接池管理 : 管理数据库连接,提供连接池

    2024年01月22日
    浏览(63)
  • 数据库访问中间件--springdata-jpa的基本使用

    回顾 示例 JPQL 片段 And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = ?2 Is,Equals findByFirstnameIs,findByFirstnameEquals … where x.firstname = ?1 Between findByStartDateBetween … where x.startDate between ?1 and ?2 LessThan findByAgeLessT

    2024年02月14日
    浏览(46)
  • Springboot整合activiti5,达梦数据库,mybatis中间件

    由于工作流引擎不支持达梦数据库以及国产中间件,所以我们引入的时候会报错,这个时候就需要去改造代码和配置文件。各种文档和资料查找一天,现在对这个问题进行解决了。 1.查看网上的各类教程,手动将源码复制粘贴出来,进行修改。这方面可以自行去查找对应文档

    2024年02月14日
    浏览(40)
  • MySQL-中间件mycat(二)

    目录 🍁部署主从复制 🍁mycat读写分离 🍂修改配置文件 🍂设置balance与writeType 🍂设置switchType与slaveThreshold 🍂启动程序 🍂验证读写分离 🍁垂直拆分-分库 🍂实现分库 🍂测试分库 🍂总结分库 🍁水平拆分-分表 🍂实现分表 🍂测试分表 🍂连接查询 🍁全局表 🍂修改配置

    2023年04月27日
    浏览(37)
  • MySQL-中间件mycat(一)

    目录 🍁mycat基础概念 🍁Mycat安装部署 🍃初始环境 🍃测试环境 🍃下载安装 🍃修改配置文件 🍃启动mycat 🍃测试连接     🦐博客主页:大虾好吃吗的博客     🦐MySQL专栏:MySQL专栏地址         mycat目前已经出mycat2版本了,虽然还没有全面普及,但是大概这两年各大企

    2023年04月24日
    浏览(72)
  • MySQL-中间件mycat(三)

    目录 🍁高可用方案 🍁安装配置 HAProxy 🍂安装 HAProxy 🍂启动验证 🍁配置 Keepalived 🍂安装 Keepalived 🍂修改配置文件 🍂启动验证 🍂测试高可用 🍁mycat 安全设置 🍂权限配置 🍂SQL 拦截     🦐博客主页:大虾好吃吗的博客     🦐MySQL专栏:MySQL专栏地址         在实

    2023年04月27日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包