RDBMS| 青训营笔记

69 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

RDBMS

ACID ·原子性(tomicity):事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。 一致性(onsistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。 隔离性(solation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。 持久性(urability):在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

从金融角度可以发现数据库要保持ACID的能力,以及高并发的能力,高可靠。

DBMS: 网状,层次,关系数据库三类

网状数据库所基于的网状数据模型建立的数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达形式。 1964年,世界上第一个数据库系统一集成数据存储(Integrated Data Storage,IDS)诞生于通用电气公司。DS是世界上第一个 网状数据库,奠定了数据库发展的基础,在当时得到了广泛的应用。在1970s网状数据库系统十分流行,在数据库系统产品中占据主导地位。

层次模型:

1968年,世界上第一个层次数据库信息管理系统(Information Management System,IMS)诞生于HBM公司,这也是世界上第 一个大型商用的数据库系统。层次数据模型,即使用树形结构来描述实体及其之间关系的数据模型。

关系模型:(mysql)

1970年,IBM的研究员E.F.Codd博士发表了一篇名为"A Relational Model of Data for Large Shared Data Banks"的论文,提出了关系 模型的概念,奠定了关系模型的理论基础。1979年Oraclei首次将关系型数据库商业化,后续DB2,SAP Sysbase ASE,and Informix等 知名数据库产品也纷纷面世。

在介绍完之后,举个详细例子来说明:春节红包雨挑战

特点: 流量大,流量突增,稳定性

解决方案:

大流量: sharding 分库分表

问题背景: 单节点写容易成为瓶颈,单机数据容量上限

将业务进行水平拆分,代理层进行分片路由。

截屏2023-02-13 10.32.53.png

实施效果: 数据库写入性能线性扩展 数据库容量线性扩展

流量突增

问题背景: 活动流量上涨,集群性能不足

解决方案:扩容DB物理节点数量,用影子表压测

截屏2023-02-13 10.36.25.png

实施效果: 数据库集群提供更高的吞吐 保证集群可以承担预期流量

法二:使用代理连接池

问题背景 突增流量导致大量建联 大量建联导致负载变大,延时上升

解决方案 业务侧预热连接池 代理侧预热连接池 代理侧支持连接队列

实施效果 避免DB被突增流量打死 避免代理和DB被大量建联打死

稳定性,可靠性

3AZ高可用

三机房部署 机房级别容灾 机房级别流量调度

proxy 读写分离,分库分表 限流,流量调度

监控报警 实时监控集群运行状态 提前上报集群风险

HA管理

问题背景 db所在机器异常宕机 db节点异常宕机

解决方案 ha服务监管、切换宕机节点 代理支持配置热加截 代理自动屏蔽宕机读节点