-
存储引擎:存在引擎就是存储机制,数据按照什么样方式存储,怎么存
查看所有存储引擎
show enginesG
概念:
事务:
操作一系列sql语句,只有都执行成功的才算成功,有一个不成功,就恢复到最初始的状态,这个就是事务
表级锁:
有一个人在修改这张表,就会上锁,其他人不能修改
特点:内存开销大小,不支持并发
行级锁:
有一个人在修改这张表中的一条记录(数据),这个条数据就会上锁,其他人不能修改这个条数据
特点:内存开销大,支持并发
(一般使用在大型网站例如:淘宝,京东 其中修改一条数据不能同时修改,但是其他数据是可以修改的,表级锁不可以)
外键:
把多张表通过一个字段关联到一起,叫做外键(一般同表的ID来建立表的关联的)
种类:
InnoDB : 5.6 之后默认的存储引擎
特点: 支持实务,行级锁,外键
MyISAM :5.6 之前默认的存储引擎
特点:表级锁.
MEMORY :用内存来存储数据(缓存)[目前更多使用的是redis数据库,来取代]
特点:速度快,不能进行持久化存储
(redies,如果在断开时候,会生成一个文件,所以起到一个持久存储的作用)
BLACKHOLE:黑洞, 用作同步数据的一种引擎方式,[主从数据库集群]
特点:所有数据不会写入,但是会提示成功,
BLACKHOLE使用场景
***** 如图 :用户访问网站时候,先通过负载均衡系统,来进行用户的分发,底层会用一些类似取模的算法,给用户进行分配,目的让服务器,所抗住的并发均衡;
有的用户需要查询,有的用户需要修改或者添加,但是整体查询次数会远远大于增删改的次数,
那么这时搭建主从数据库,主数据库主要负责写入,从数据库负责读取,
为了让主从数据库,数据同步,中间加上一台服务器,用于同步,那么这台服务器所用的存储引擎就是blackhole
专门帮助主数据库进行binlog日志生成和分发,从数据库拿到binlog日制后,开始同步自己的数据
这样好处,主数据只专注写入,不用考虑分发其他数据等操作,减少服务器的压力;
中间blackole 的mysql 服务器不需要生产或者消费数据,只是单纯的过滤生产binlog日志,所以选择blackhole存储引擎.