三高Mysql - Mysql特性和未来发展(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 三高Mysql - Mysql特性和未来发展(下)

Mysql如何魔改


首先看看PolarDB的改进,PolarDB是阿里巴巴的东西所以除了内部人员可能使用之外外部的技术人员基本接触不到这个东西,这里简单介绍相关的设计思路。

下面为相关的设计图:



在PorlarDB中包含下面的关键组件:

  1. ECS:客户端
  2. Read/Write Splitter 读写分离中间件
  3. Mysql节点,文件系统, 数据路由和数据缓冲。主备服务器
  4. RMDA统一的管理
  5. Data Chunk Server:数据的存储桶,存储服务器,集群的方式存储
  1. Raft:强一致性的存储服务器。
  1. 日志传送和共享存储



  1. 备库如何查询数据

在传统的方式中,备库使用下面的方式进行处理



创新和改进点:在读取事务改动的时候,使用了叠加redo log的方式处理,防止读写库的数据不一致的问题



如何支撑双十一?


双十一刚刚出现的时候是一个十分火热的话题,然而到了现在电商成熟的年代双十一似乎变成了“日常活动”......,双十一的支撑依靠十分核心的中间组件:OceanBase,也被称之为new sql数据库。

OceanBase属于行列互存的架构最大的特点是机房跨全球。存储引擎的最下层是分片的分区层,Share-Nothing架构,数据分区使用的一主两备的结构。



数据如何更新?

数据更新依靠下面的流程,看起来比较负责,其实这里的设计思路有点类似谷歌在2006年的“Bigtable”设计,而SSTable于这篇论文中首次出现,SSTable主要用于给予LSM-Tree数据结构的日志存储引擎。

如果不清楚什么是LSM-Tree,可以阅读下面的文章了解:

《数据密集型型系统设计》LSM-Tree VS BTree - 掘金 (juejin.cn)



国产混合数据库-TiDB


TiDB简介:

下面的内容引用自官方介绍:

TiDBPingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。


简单来说Tidb主要有下面的几个特点:

  • 一键水平扩容或者缩容
  • 金融级高可用
  • 实时HTAP


HTAP数据库(Hybrid Transaction and Analytical Process,混合事务和分析处理)。2014年Gartner的一份报告中使用混合事务分析处理(HTAP)一词描述新型的应用程序框架,以打破OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景。实现实时业务决策。这种架构具有显而易见的优势:不但避免了繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析。这种快速分析数据的能力将成为未来企业的核心竞争力之一。


  • 云原生的分布式数据库
  • 兼容Mysql5.7 协议和Mysql生态。

虽然TiDB被使用之后有许多令人诟病的缺点,同时因为是新型的数据库对于一些实践问题的解答资料也比较少,但是作为一款非常有潜力的数据库还是值得我们保持关注的。

TiDB的架构设计如下:



  • 纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容
  • 支持 SQL,对外暴露 Mysql 的网络协议,并兼容大多数 Mysql 的语法,在大多数场景下可以直接替换 Mysql
  • 默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明
  • 支持 ACID 事务,对于一些有强一致需求的场景友好,例如:银行转账
  • 具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景


CockroachDB



 小强数据库,2015启动,谷歌前员工发起。

 CockroachDB,目标是打造一个开源、可伸缩、跨地域复制且兼容事务的 ACID 特性的分布式数据库,它不仅能实现全局(多数据中心)的一致性,而且保证了数据库极强的生存能力,就像 Cockroach(蟑螂)这个名字一样,是打不死的小强。

 CockroachDB 的思路源自 Google 的全球性分布式数据库 Spanner。其理念是将数据分布在多数据中心的多台服务器上,实现一个可扩展,多版本,全球分布式并支持同步复制的数据库。


小结


 本节内容主要针对Mysql的一些新特性以及其他第三方如何对于数据库进行扩展的,同时介绍了数据库的分类,我们可以发现数据库的分类最后都可以按照某种特定的类型进行划分。


写在最后


 本节内容非常简单,读者可以根据相关的内容进行深入学习即可。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL 安全 关系型数据库
【MySQL基础篇】事务(事务操作、事务四大特性、并发事务问题、事务隔离级别)
事务是MySQL中一组不可分割的操作集合,确保所有操作要么全部成功,要么全部失败。本文利用SQL演示并总结了事务操作、事务四大特性、并发事务问题、事务隔离级别。
【MySQL基础篇】事务(事务操作、事务四大特性、并发事务问题、事务隔离级别)
|
1月前
|
关系型数据库 MySQL
mysql事务特性
原子性:一个事务内的操作统一成功或失败 一致性:事务前后的数据总量不变 隔离性:事务与事务之间相互不影响 持久性:事务一旦提交发生的改变不可逆
|
1月前
|
存储 关系型数据库 MySQL
MySQL 8.0特性-自增变量的持久化
【11月更文挑战第8天】在 MySQL 8.0 之前,自增变量(`AUTO_INCREMENT`)的行为在服务器重启后可能会发生变化,导致意外结果。MySQL 8.0 引入了自增变量的持久化特性,将其信息存储在数据字典中,确保重启后的一致性。这提高了开发和管理的稳定性,减少了主键冲突和数据不一致的风险。默认情况下,MySQL 8.0 启用了这一特性,但在升级时需注意行为变化。
|
3月前
|
JSON 关系型数据库 MySQL
MySQL 8.0 新特性
MySQL 8.0 新特性
170 10
MySQL 8.0 新特性
|
3月前
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
732 18
|
2月前
|
SQL 安全 关系型数据库
MySQL8.2有哪些新特性?
【10月更文挑战第3天】MySQL8.2有哪些新特性?
60 2
|
4月前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。
|
4天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
18 3
|
4天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
22 3
|
4天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
28 2