一 数据库和数据库实例
在MySQL的学习研究中,存在两个非常容易混淆的概念,即数据库和数据库实例。在MySQL中,数据库和数据库实例定义如下:
数据库:存储数据的集合;
数据库实例:操作数据库的集合。
如上定义很清楚了,数据库是用来存储数据的,数据库实例是用来操作数据的,从操作系统的角度,数据库实例表现为一个进程,对应多个线程,
在非集群数据库架构中,数据库与数据库实例存在一 一对应关系,在数据库集群中,可能存在多个数据库实例操作一个数据库情况,即多对一关系。
二 MySQL基架
对于MySQL来说,虽然经历了多个版本迭代(MySQL5.5,MySQL 5.6,MySQL 5.7,MySQL 8),但每次的迭代,都是基于MySQL
基架的,MySQL基架大致包括如下几大模块组件:
(1)MySQL向外提供的交互接口(Connectors)
(2)管理服务组件和工具组件(Management Service & Utilities)
(3)连接池组件(Connection Pool)
(4)SQL接口组件(SQL Interface)
(5)查询分析器组件(Parser)
(6)优化器组件(Optimizer)
(7)缓存主件(Caches & Buffers)
(8)插件式存储引擎(Pluggable Storage Engines)
(9)物理文件(File System)
(一)MySQL向外提供的交互接口(Connectors)
Connectors组件,是MySQL向外提供的交互组件,如java,.net,php等语言可以通过该组件来操作SQL语句,实现与SQL的交互。
(二)管理服务组件和工具组件(Management Service & Utilities)
提供对MySQL的集成管理,如备份(Backup),恢复(Recovery),安全管理(Security)等
(三)连接池组件(Connection Pool)
负责监听对客户端向MySQL Server端的各种请求,接收请求,转发请求到目标模块。每个成功连接MySQL Server的客户请求都会被
创建或分配一个线程,该线程负责客户端与MySQL Server端的通信,接收客户端发送的命令,传递服务端的结果信息等。
(四)SQL接口组件(SQL Interface)
接收用户SQL命令,如DML,DDL和存储过程等,并将最终结果返回给用户。
(五)查询分析器组件(Parser)
首先分析SQL命令语法的合法性,并尝试将SQL命令分解成数据结构,若分解失败,则提示SQL语句不合理。
(六)优化器组件(Optimizer)
对SQL命令按照标准流程进行优化分析。
(七)缓存主件(Caches & Buffers)
缓存和缓冲组件
(八)MySQL存储引擎
1.什么是MySQL存储引擎
MySQL属于关系型数据库,而关系型数据库的存储是以表的形式进行的,对于表的创建,数据的存储,检索,更新等都是由MySQL
存储引擎完成的,这也是MySQL存储引擎在MySQL中扮演的重要角色。
研究过SQL Server和Oracle的读者可能很清楚,这两种数据库的存储引擎只有一个,而MySQL的存储引擎种类比较多,如MyISAM存储
引擎,InnoDB存储引擎和Memory存储引擎.
MySQL之所以有多种存储引擎,是因为MySQL的开源性决定的。MySQL存储引擎,从种类上来说,大致可归结为官方存储引擎和第三
方存储引起。MySQL的开源性,允许第三方基于MySQL骨架,开发适合自己业务需求的存储引擎。
2.MySQL存储引擎作用
MySQL存储引擎在MySQL中扮演重要角色,其作比较重要作用,大致归结为如下两方面:
作用一:管理表创建,数据检索,索引创建等
作用二:满足自定义存储引擎开发。
3.MySQL引擎种类
不同种类的存储引擎,在存储表时的存储引擎表机制也有所不同,从MySQL存储引擎种类上来说,可以分为官方存储引擎和第三方存储引擎。
当前,也存在多种MySQL存储引擎,如MyISAM存储引擎,InnoDB存储引擎,NDB存储引擎,Archive存储引擎,Federated存储引擎,Memory
存储引擎,Merge存储引擎,Parter存储引擎,Community存储引擎,Custom存储引擎和其他存储引擎。
其中,比较常用的存储引擎包括InnoDB存储引擎,MyISAM存储引擎和Momery存储引擎。
4.几种典型MySQL存储引擎比较
(九)物理文件(File System)
实际存储MySQL 数据库文件和一些日志文件等的系统,如Linux,Unix,Windows等。
三 一个查询流程图
四 参看文献
【01】MySQL权威指南 (美)Paul Dubois著 杨涛 杨晓云 王群 等译
【02】MySQL技术内幕 InnoDB存储引擎 姜承尧著
【03】SQL学习指南 (美)Alan Beaulieu 著
本文向大家介绍Mysql基础知识点汇总,包括了Mysql基础知识点汇总的使用技巧和注意事项,需要的朋友参考一下 1.什么是SQL语句 sql语言:结构化的查询语言。(Structured Query Language),是关系数据库管理系统的标准语言。 它是一种解释语言:写一句执行一句,不需要整体编译执行。 语法特点: 1.没有“ ”,字符串使用‘ '包含 2.没有逻辑相等,赋值和逻辑相等都是=
1.3 总体架构 Camel项目主要有三个模块组成: camel-admin: Camel管理端:可以通过接口及页面两种方式对Nginx集群进行发布、重启、监控等操作。 Dengine: 大众点评基于Tengine开发的Web服务器。在Tengine的基础上,添加了降级等功能。 camel-agent: 部署在Nginx服务器上,管理本机的Nginx进程及配置文件。
总体架构 尽管我希望直奔主题,介绍Lucene的架构,但是首先必须理解一些概念才能更好地理解Lucene的架构,这些概念是: Document: 它是在索引和搜索过程中数据的主要表现形式,或者称“载体”,承载着我们索引和搜索的数据,它由一个或者多个域(Field)组成。 Field: 它是Document的组成部分,由两部分组成,名称(name)和值(value)。 Term: 它是搜索的
本文向大家介绍JavaScript入门系列之知识点总结,包括了JavaScript入门系列之知识点总结的使用技巧和注意事项,需要的朋友参考一下 JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网
1.2 ABP总体介绍 - 层架构体系 1.2.1 前言 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(Presentation):向用户提供一个接口(UI),使用应用层来和用户(UI)进行交互。 应用层(Application):应用层是表现层和领域层能够实现交互的中间者,协调业
本文向大家介绍MySql数据库基础知识点总结,包括了MySql数据库基础知识点总结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下: 数据库基本操作 1)创建数据库 基本语法: create database 数据库名称 ; 创建应该名称为itcast的数据库。sql语法如下: 需要主要的是,为了避免用户自定义的名称与系统命令冲突,