为什么需要消息中间件

高并发、海量数据的情况下:

1 .数据库存储的数据量不是很大,但并发的读写操作都很大,超过数据库服务器的处理能力。

2.应用的业务模块很多,总得数据量很大,并发读写操作均超过单个数据库服务器的处理能力。

3.如果单个表的数量很大,超出了单表的存储上限,如电商网站的商品表、订单表等。

为解决数据存储、访问性能问题我们需要数据库中间件数据库中间件让我们可以在应用程序中快速应用读写分离、分库分表。

数据库中间件设计要点

  1. 要能解析SQL
  2. 能支持读写分离
  3. 能支持从库读的负载均衡
  4. 支持分库操作
  5. 支持分表操作
  6. 支持跨库关联查询
  7. 对实务处理的支持
  8. 主键ID生成
  9. 数据源管理

数据库拆分

垂直拆分

由单个数据库按照业务拆分多个数据库,如根据业务拆分出用户数据库、订单数据库、支付数据库。

优点:

1.拆分后业务清晰,拆分规则明确;

2.系统之间整合或扩展容易;

3.数据库维护简单

缺点:

1.部分业务表无法join,只能通过接口方式解决&

数据库中间件设计理论相关推荐

  1. 2.4.1 数据库中间件设计篇

    目录 2.4.1.1 数据库中间件设计理论 1.为什么需要数据库中间件? 1.1.数据库存储的数据量不是很大,但并发的读写操作超过数据库服务器的处理能力 1.2.应用的业务模块很多,总的数据量很大,并 ...

  2. 4.1.2 数据库中间件设计要点

    文章目录 数据库中间件设计要点 数据库拆分 数据库拆分 - 垂直拆分 数据库拆分 - 水平拆分 水平拆分 - 分片规则 分库分表的技术难点 数据库中间件的两种实现模式 常用数据库中间件简介 数据库中间 ...

  3. 二、数据库原理-设计理论

    第一章 关系数据库设计理论   第一节  完整性 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则.完整性通常包括实体完整性,参照完整性和用户定义完整性. 一.实体完 ...

  4. mysql数据库表设计理论原则实践

    文章目录 一.理论原则 1.原始单据与实体之间的关系 2.主键与外键 3.基本表的性质 4.范式标准 5.通俗地理解三个范式 6.要善于识别与正确处理多对多的关系 7.主键PK的取值方法 8.正确认识 ...

  5. 假如让你来设计数据库中间件

    最近在网上逛的时候看到一篇关于数据库中间件设计的文章,嗯,讲的还比较详细,转载之,再附上自己的一点点感想,原文出自<假如让你来设计数据库中间件>,原文如下: 13年底负责数据库中间件设计时 ...

  6. sharding-jdbc(ShardingSphere )、mycat、DRDS 三个分布式数据库中间件的简单介绍(纯理论说明)

    文章目录 1.前言 2.sharding-jdbc 3.mycat 4.DRDS 5.总结 1.前言 一般对于业务记录类随时间会不断增加的数据,当数据量增加到一定量(一般认为整型值为主的表达到千万级, ...

  7. 基于RMI技术的数据库操作中间件设计 综合实践报告

    前言 1.1  实践目的和要求 为了将理论用于实践,巩固所学知识,提高自己发现问题并用所学知识分析问题和解决问题的能力,锻炼自己的工作能力,适应社会能力,自我管理能力,了解目前软件的应用情况,需求情况 ...

  8. 考研复试数据库原理面试题(四)—关系数据库设计与设计理论

    写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来. 这只是一部分,陆续还有数据库原理的其它章节,还会推出数据结构.计算机网络复试题整理. 数据库原理我的参考书 ...

  9. 【数据库】概念设计、逻辑设计、关系数据库设计理论

    一:概念设计: ER模型:实体属性和联系 实体及实体集: 实体的属性:属性和实体都是名词: 需求–>ER图: 属性无法再分,实体可由多个属性组成. 同一类联系: 实体与派生实体间的基本联系: 如 ...

最新文章

  1. Windows Ruby使用Mysql环境配置
  2. 为 VUE 项目添加 PWA 解决发布后刷新报错问题
  3. 一个简单IOC与DI示例
  4. 强化学习(三)用动态规划(DP)求解
  5. Python基础教程:获取list中指定元素的索引
  6. mysql课程设计案例_JAVA中MySQL建立连接
  7. 浅谈Junit4和TestNG中的参数化测试
  8. #{} vs ${}
  9. 191. 位1的个数 golang
  10. MySQL 数据库“十宗罪”(十大经典错误案例)
  11. showModalDialog的title问题,去掉网页对话框
  12. VMware虚拟机快速安装Ubuntu教程
  13. 解决 ”To prevent a memory leak, the JDBC Driver has been forcibly unregistered“
  14. 【调剂】山东大学控制科学与工程学院生物医学实验室课题组招收硕士研究生...
  15. Global Illumination_Lens Flare(镜头光晕)
  16. 智能家居,产业跌宕三十年
  17. 浏览器主页被搜狗篡改
  18. android 5.0 pie,Android各版本份额占比出炉:Android Pie仍未知
  19. js 获取字符串长度方法length
  20. 我讽刺中医把每个养生的都化成了神仙

热门文章

  1. 史上最全的Android开发学习教程集锦【初学者】
  2. android 自动静音模式,Android实现定时自动静音小助手
  3. linux怎么把字体变成彩色的,Linux/UNIX下终端和控制台彩色字体的实现
  4. 服务器销售模式,页游营销新模式:开设名人专属服务器
  5. css3 loading效果
  6. 治心,清静无欲;治身,皈原真柔;治世,自然无为;治家,合和恒一;治神,抱一还元;治万物,得一而生。...
  7. Android定时器死循环问题,Android定时器实现的几种方式整理及removeCallbacks失效问题解决...
  8. c语言 英文歌曲大赛,实验部第一届英文歌曲大赛
  9. eclipse项目出现感叹号——快速解决
  10. 美团打车15城体验:王兴不再挑战程维