关系型数据库的架构演变

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
简介: 关系型数据库的架构演变

1关系型数据库的架构演变


在互联网场景下,关系型数据库常见的性能瓶颈主要有两个

  • 大量的并发 读/写操作,导致倒库出现难以承受的负载压力
  • 单表存储数据量过大,导致检索效率低下

数据库读写分离


在系统初期,整体的并发了相对较小,因此一般都是将所有的数据信息存储在单库中进行读/写操作。但是随着用户规模不断提升,单库逐渐力不从心,TPS/QPS越来越低。因此到了这个时候,dba会将数据库设置为读写分离状态(生产环境一般会采用一主一从或者一主多从),Master负责写操作,Slave作为备库,不开放写操作,但是允许读操作,主从之间保持数据同步即可。读写分离之后,可以大大提升单库无法支撑的负载压力需要注意的是:如果Master存在TPS存在较高的情况,Master之前最好将同一份数据落到缓存中,以避免高并发情况下,从Slave中获取不到指定数据的情况发生[MySQL 主从同步延迟的原因及解决办法(https://blog.csdn.net/soar_away/article/details/72615012)

数据垂直分库


读写分离让系统的吞吐量相对于单库来说有了一定的提升,但是只依靠读写分离并不能一劳永逸,随着用户规模攀升,系统瓶颈一定会暴露。 因为,这个阶段Dba会对数据库执行垂直分库,垂直分库就是根据自身业务垂直划分,将表拆分到不同的业务库中。实现分而治之的数据管理和读写操作。

单表数据量一大,读操作会逐渐成为瓶颈写操作因为是顺序写,所以基本上数据库的写入操作不会因为数据膨胀而成为瓶颈,但是读操作一定会存在上限; 读操作成为瓶颈的时候,就该做水平分库了

2数据库水平分库与水平分表


**水平分表:**将原本冗余在单库中的单个业务表拆分成为n个“逻辑相关”的业务字表(如:tab_000、tab_0001、.....) **水平分库:**如果Master的TPS过高,则还可以对垂直分库后的单一业务进行水平化,同水平分表类似。

分库分表操作主要是为了解决:高并发场景下单库的性能瓶颈,并充分利用分布式的威力提升数据库的读/写能力。假设后续业务表中的数据量又一次达到存储阈值并对性能产生影响时,DBA只需要再次对现有业务库和业务表横向扩容,并迁移数据即可。

Mysql Sharding 和 Mysql Cluster区别


Mysql Cluster只是一个数据库的集群,其优势只是扩展了数据库的并行处理能力,但是其使用成本、维护成本非常高,并且实施起来比较复杂

Mysql sharding 不近提升数据库的并行处理能力,还能够解决因为单表数据量过大所产生的检索瓶颈。

Mysql Cluster前者是集群模式,Mysql sharding是分布式模式。Sharding是当下互联网最好的选择

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
5天前
|
边缘计算 人工智能 Cloud Native
云原生架构的演变与未来展望
在数字化转型的浪潮中,云原生技术成为企业IT战略的核心。本文深入探讨了云原生架构从起步到成熟的发展脉络,分析了容器化、微服务和持续交付等关键技术如何推动应用现代化,并预测了云原生技术的未来趋势,如边缘计算、AI增强和多云管理。同时,文章也对云原生实践过程中可能遇到的安全挑战、技术复杂性以及人才缺口问题提出了见解,旨在为读者提供一份全面的云原生技术指南。
|
27天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
1月前
|
存储 NoSQL 关系型数据库
数据库的演变与未来:技术趋势与行业应用
一、引言 数据库作为信息技术的核心组成部分,承载着数据的存储、管理和分析功能
|
20天前
|
存储 关系型数据库 分布式数据库
内附原文|详解SIGMOD’24最佳论文:PolarDB如何破解多主架构经典难题?
在今年的SIGMOD会议上,阿里云瑶池数据库团队的论文《PolarDB-MP: A Multi-Primary Cloud-Native Database via Disaggregated Shared Memory》获得了Industry Track Best Paper Award,这是中国企业独立完成的成果首次摘得SIGMOD最高奖。PolarDB-MP是基于分布式共享内存的多主云原生数据库,本文将介绍这篇论文的具体细节。
内附原文|详解SIGMOD’24最佳论文:PolarDB如何破解多主架构经典难题?
|
12天前
|
存储 关系型数据库 分布式数据库
PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题
【7月更文挑战第3天】PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题。此架构让存储层专注数据可靠性,计算层专注处理SQL,提升性能并降低运维复杂度。通过RDMA加速通信,多副本确保高可用性。资源可独立扩展,便于成本控制。动态添加计算节点以应对流量高峰,展示了其灵活性。PolarDB的开源促进了数据库技术的持续创新和发展。
216 2
|
14天前
|
运维 监控 负载均衡
探索微服务架构的演变与最佳实践
【6月更文挑战第30天】微服务架构作为现代软件开发领域的一个热门话题,其发展经历了从萌芽到成熟的多个阶段。本文将深入探讨微服务架构的演变历程,包括其定义、核心原则以及与传统单体架构的对比。同时,文章还将分享一系列经过验证的最佳实践,帮助开发者在构建和维护微服务时避免常见陷阱,确保系统的可扩展性、灵活性和可维护性。
96 1
|
16天前
|
Kubernetes Java 测试技术
探索微服务架构的演变与实践
【6月更文挑战第28天】在数字化时代,软件架构不断演进以应对复杂多变的业务需求。本文将深入探讨微服务架构从概念到实践的发展过程,分析其设计原则、技术选型及实施策略,并结合作者亲身经验,阐述在微服务转型过程中的挑战与解决之道。
|
17天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
27天前
|
运维 Cloud Native 云计算
云原生架构的演变与实践
在数字化浪潮不断推进的今天,企业对于IT基础设施的要求日益增高,云原生技术因此成为推动现代软件开发的关键力量。本文将深入探讨云原生架构的概念、核心价值及其在实际业务中的应用,同时分析面临的挑战和未来的发展趋势,为读者呈现一幅云原生技术演进的全景图。
|
1月前
|
存储 SQL 数据库
数据库技术探索:基础架构、应用场景与未来展望
一、引言 数据库技术是信息时代的基石,为企业和组织提供了数据存储、检索、分析和管理的核心支撑