中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

开源MySQL参考架构

方案架构选择需要根据业务具体场景选用最适合的架构,鲲鹏BoostKit数据库使能套件白皮书只提供典型架构参考,开源数据库部分客户根据具体业务选择所需的方案架构,商业数据库部分由数据库厂家提供技术方案和支持。

组件场景

开源MySQL是典型的 OLTP 数据库,广泛应用于互联网数据库场景,稳定可靠,目前最流行的开源关系型数据库,并逐步成为替代商业数据库的首选开源数据库产品。InnoDB存储引擎支持事务适用于高并发的实时在线交易系统。

OLTP的基本特点:

  • 数据在系统中产生。
  • 基于交易的处理系统(Transaction-Based)。
  • 每次交易牵涉的数据量很小。
  • 对响应时间要求非常高。
  • 用户数量非常庞大,主要是操作人员。
  • 数据库的各种操作主要基于索引进行。

组件原理

MySQL原理如图1所示。

图1 MySQL系统架构图

MySQL原理图各个组件说明如表1所示。

表1 各个组件说明

组件

说明

Connectors

与其他编程语言中的SQL语句进行交互,如PHP、Java等。

Management Serveices & Utilities

系统管理和控制工具。

Connection Pool(连接池)

管理缓冲用户连接,线程处理等需要缓存的需求。

SQL Interface(SQL接口)

接受用户的SQL命令,并且返回用户需要查询的结果。例如select from就是调用SQL Interface。

Parser(解析器)

SQL命令传递到解析器的时候会被解析器验证和解析。

主要功能:

  • 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,后面SQL语句的传递和处理就是基于这个结构的。
  • 如果在分解构成中遇到错误,就说明这个SQL语句是不合理的,语句将不会继续执行下去。

Optimizer( 查询优化器

SQL语句在查询之前会使用查询优化器对查询进行优化(产生多种执行计划,最终数据库会选择最优化的方案去执行,尽快返回结果),他使用的是“选取-投影-联接”策略进行查询。

Caches和Buffers(查询缓存)

如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。

这个缓存机制是由一系列小缓存组成的。例如表缓存、记录缓存、key缓存、权限缓存等。

Storage Engines(存储引擎)

存储引擎是MySQL中具体的与文件打交道的子系统,也是MySQL最具有特色的一个地方。

MySQL的存储引擎是插件式的。它根据MySQL AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)。

组件典型架构

MySQL参考架构如图2所示。

图2 MySQL参考架构

包括以下几种常用参考架构:

  • Master、Slave主备复制方案
  • LVS+KEEPALIVE高可用方案
  • Maxscale读写分离,负载均衡方案
  • proxy路由等分库分表方案

两实例以上部署或分布式架构下建议每台服务器部署多实例绑定CPU收益更大。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词