数据库中间件是什么?
Posted 广东省创新孵化器运营研究院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中间件是什么?相关的知识,希望对你有一定的参考价值。
中间件
首先得知道中间件是什么。
中间件的定义:将具体业务和底层逻辑解耦的软件。
之前看过一个很生动的例子:我要开一家炸鸡店(业务端),需要鸡肉,有很多养鸡场(底层),我需要一个一个比较价钱,然后找一家性价比高的养鸡场合作(适配不同底层逻辑)。可能一段时间后,我需要重新选一家养鸡场合作,进货方式、交易方式等要重新制定(重新适配)。
这一套事情太复杂了,于是我找到了一个专门整合养鸡场的第三方代理(中间件),跟他谈好价格和质量后(统一接口),以后我就只需要给代理钱,然后拿肉就行。具体这个第三方代理怎么操作,我不用管。
数据库中间件
理解了什么是中间件,什么是数据库中间件就好理解了吧,尝试着按照大白话描述:“数据库中间件是一个软件,他可以让上层的软件对数据库做一些操作,而不用去知道是怎么实现的”。
那么【对数据库做一些操作】会是哪些操作呢?
数据库中间件分类
分布式数据库读写分离、分表分库
这个是我们最常见也是最常用的数据库中间件了,它做的功能就是读写分离、分表分库。
读写分离:
分库分表:
最简单的例子,全国14亿人口的信息,放到数据库里面,输入一个身份证,然后查询这个身份证对应人的姓名。
需求很简单吧,但是开发不简单,因为有14亿数据。
那么可以按照省份进行分表,每个省是一个表,这样每张表的数据会少很多。
如果有了分布式数据库分表分库中间件,前台程序:
select * from user where idcard = ?
中间件会帮你定位到需要查询那个表,比如根据身份证的某几位,定位到哪个省,这个省的表名是啥,最后可能会是:
select * from user_beijing(查北京的人员表) where idcard = ?
比较有名的:Cobar、MyCAT。
其他
一些开发不常用的,我都写到其他里面了(不一一解释了,很多看名字就能猜出来是做什么用的)
数据增量订阅与消费
数据库同步
跨数据库
版权声明:图文来源网络,我们对文中观点保持中立,只以信息传播为目的,文章版权归原作者所有,如有侵权,请联系我们删除。
广东省创新孵化器运营研究院
中国 广州 暨南大学科学馆609
广州 珠江新城 富力盈丰大厦
电 话:020-89779666
以上是关于数据库中间件是什么?的主要内容,如果未能解决你的问题,请参考以下文章