1.MySQl介绍

关系型数据库

        关系型数据库是一种基于关系模型的数据库,数据以表格的形式呈现,使用结构化查询语言(sql)进行数据的管理和检索,每个表格包含若干行数据记录和若干列字段,每一列代表一种属性。不同表格之间通过主键和外键建立关联,从而形成一个逻辑上的数据模型。

优点:

        关系型数据库的最大特点是采用关系模型来组织数据, 数据之间的关系清晰、易于理解和管理;

        保证数据的一致性;(ACID)

        数据更新的开销小;(ACID)索引优化 数据结构简单表格 数据安全性高

        支持复杂的查询。

常见的关系型数据库产品包括Oracle、MySQL、SQL Server等。

关系型数据库管理系统(RDBMS)

        它是一种将数据存储在表格中的数据库管理系统,这些表格由行和列组成,类似于电子表格。RDBMS支持SQL(结构化查询语言),它是一种用于管理和查询关系型数据库的标准语言。

  1. 数据存储在表格中,每个表格都有一个唯一的名称。

  2. 每个表格由行和列组成,行表示记录,列表示字段。

  3. 表格之间可以建立关系,通过这些关系可以进行数据查询和分析。

  4. RDBMS支持事务处理,可以确保数据库的完整性和一致性。

  5. RDBMS具有高度的可扩展性和可靠性,可以处理大量数据和高并发访问。

  6. RDBMS具有良好的安全性,可以通过用户权限控制对数据进行保护。

非关系型数据库(NoSQL)

        不使用传统关系型数据库管理系统(RDBMS)所采用的结构化查询语言(SQL)的一类数据库管理系统,它们通常不依赖于固定的模式,而是使用一些不同的模型来管理数据。非关系型数据库主要包括键值存储数据库、文档数据库、列族数据库和图形数据库等。

        非关系型数据库具有更好的可扩展性、更高的性能和更好的灵活性。其设计的目的是为了满足大规模分布式数据存储和处理的需求。非关系型数据库的应用领域涵盖了Web应用、社交网络、物联网、金融、电子商务等多个领域。

MySQL

        目前由 Oracle 公司维护和发展。MySQL 是一种跨平台的数据库系统,支持 Windows、Linux、Unix 等多种操作系统。

  • MySQL 使用的是 SQL(Structured Query Language)查询语言,支持多用户、多线程,可以处理大规模的数据集
  • 支持插件式的存储引擎,支持InnoDB,MyISAM,Memory
  • 基于C/S模型,MySQL的架构分为三层:客户端、服务层和存储引擎层。客户端与服务器通过MySQL协议进行通信,发送SQL语句和接收结果。服务层是MySQL的核心部分,包括查询解析、分析优化、缓存管理、权限管理等功能。存储引擎层负责数据的存储和管理,MySQL支持多种存储引擎,如InnoDB、MyISAM等。
  • MySQL服务器模型采用IO多路复用+可伸缩的线程池 select+线程池

        优点:1。高效利用系统资源;2.简化程序设计;3。提高并发能力;4.避免线程资源浪费,多路复用可以实现单线程处理多个连接请求,避免多线程切换带来的性能损耗;线程池减少线程创建和销毁的开销 提高并发能力,

        为什么不用epoll+线程池:确实会获得更好的性能但是会带来更高的技术门槛和复杂度,另外MySQL在设计时考虑到跨平台的兼容性和可移植性,epoll是linux特有的不具有跨平台优势;另外MySQL涉及到网络IO和磁盘IO操作,磁盘IO的速度相对来说较慢,两者速度匹配就好,为了匹配 网络IO和磁盘IO操作:采用缓存技术减少磁盘IO 连接池计数减少网络IO、索引计数优化查询操作.

MySQL协议 

        MySQL协议是基于TCP/IP协议的,但是不同于其他应用程序所使用的通用协议。MySQL协议使用二进制格式进行数据传输,同时还支持压缩SSL加密等特性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值