数据库中间件是什么?

Posted 广东省创新孵化器运营研究院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中间件是什么?相关的知识,希望对你有一定的参考价值。

中间件

首先得知道中间件是什么。

中间件的定义:将具体业务和底层逻辑解耦的软件。

之前看过一个很生动的例子:我要开一家炸鸡店(业务端),需要鸡肉,有很多养鸡场(底层),我需要一个一个比较价钱,然后找一家性价比高的养鸡场合作(适配不同底层逻辑)。可能一段时间后,我需要重新选一家养鸡场合作,进货方式、交易方式等要重新制定(重新适配)。

这一套事情太复杂了,于是我找到了一个专门整合养鸡场的第三方代理(中间件),跟他谈好价格和质量后(统一接口),以后我就只需要给代理钱,然后拿肉就行。具体这个第三方代理怎么操作,我不用管。

数据库中间件

理解了什么是中间件,什么是数据库中间件就好理解了吧,尝试着按照大白话描述:“数据库中间件是一个软件,他可以让上层的软件对数据库做一些操作,而不用去知道是怎么实现的”。

那么【对数据库做一些操作】会是哪些操作呢?

数据库中间件分类

分布式数据库读写分离、分表分库

这个是我们最常见也是最常用的数据库中间件了,它做的功能就是读写分离、分表分库。

读写分离:

数据库中间件是什么?

分库分表:

最简单的例子,全国14亿人口的信息,放到数据库里面,输入一个身份证,然后查询这个身份证对应人的姓名。

需求很简单吧,但是开发不简单,因为有14亿数据。

那么可以按照省份进行分表,每个省是一个表,这样每张表的数据会少很多。

如果有了分布式数据库分表分库中间件,前台程序:

select * from user where idcard = ?

中间件会帮你定位到需要查询那个表,比如根据身份证的某几位,定位到哪个省,这个省的表名是啥,最后可能会是:

select * from user_beijing(查北京的人员表) where idcard = ?

比较有名的:Cobar、MyCAT。

其他

一些开发不常用的,我都写到其他里面了(不一一解释了,很多看名字就能猜出来是做什么用的)

  1. 数据增量订阅与消费

  2. 数据库同步

  3. 跨数据库







数据库中间件是什么?

版权声明:图文来源网络,我们对文中观点保持中立,只以信息传播为目的,文章版权归原作者所有,如有侵权,请联系我们删除。

广东省创新孵化器运营研究院

中国 广州 暨南大学科学馆609

广州  珠江新城 富力盈丰大厦

电 话:020-89779666




以上是关于数据库中间件是什么?的主要内容,如果未能解决你的问题,请参考以下文章

什么是中间件

什么是消息中间件

为什么要分库分表?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?

什么是Mycat?为什么要使用MyCat?

什么是Mycat?为什么要使用MyCat?

为什么要使用MyCat?