MySQL体系结构

information_schema  没有在磁盘上的物理文件,是一些内存表

谈到mysql体系结构,首先需要谈一下关系型数据库共性(mysql  && oracle):

客户端  à 服务器  à  存储机制

以oracle来讲:

1.实例:

1)内存:

SGA:shared pool (librarycache,dict cache,目的是加速),buffer cache (数据块,读时直接在内存读数据,写数据,由后台进程负责定期刷盘,如果没刷到磁盘时崩溃,由WAL:write ahead logging机制保证数据不丢失),large pool (rman用),java pool,stream pool,log buffer(加速到redo的读取)  全局共享,多个进程并发访问时产生lock,LATCH争用

PGA:用户进程内存

UGA:与会话相关的,可能在PGA,也可能在SGA内

 

 

2)后台进程

SMON:系统监控,实例恢复,资源回收

CKPT 让三大文件保持一致

DBWRn:写内存脏数据到磁盘

LGWR:写redo到磁盘            ARCn:

 

 

2.文件:

dbf,redo,ora参数文件,ctl,passwd,trace

oracle的三大文件:必须要保证一致,包含scn,否则启动时要做实例恢复

lock:保护数据

latch :保护内存结构用的

 

 

 

mysql: 实例+文件

实例:

1)  内存: 服务层内存+存储引擎内存

 

服务器层内存:

net buffer

thread cache

query cache

table  cache

binlog  cache

thread stack

sort_buffer

read_buffer

join_buffer    涉及到的地方在内存结构部分说

 

引擎层内存(决定数据怎么存):

Innodb:

innodb_buffer_pool

innodb_log_buffer

innodb_additional_mem_pool_size

 

 

myISAM:
key buffer

bulk_insert_buffer

 

 

2)后台线程:与客户端连接对应,共享一个进程,只有一个进程mysqld

包括服务器线程和存储引擎线程

innodb:主线程(main thread),logthread,insert buffer thread,io thread --5.1只有4个线程,由主线程调度其它3个线程干活。

write read thread,pageclean,GC,purge,buffer pool dump  --5.6增加了许多后台进程,分工越来越细

文件(与oracle相对的是数据文件与redo文件)

1)      普通文件:mysql.err

mysql.log

slow.log

mysql-bin.0001

mysql-bin.iddex

relay-log

t1.frm

t1.ibd

t1.MYI

t1.MYD

ib_logfile0

ibdata1

master.info

pid文件

socket文件

my.cnf

 

2)  客户端工具:

Mysql

Mysqldump

Mysqlbinlog

Mysqladmin

 Innobackupex

 trabackup

 

oltp  VS  olap

 OLTP:onlinetransaction process :电商、游戏平台、交易平台、支付系统、票务、论坛、微博、社区、贴吧。。。

读写比:<13:1  ,用户并发高,事务较多,单次访问数据量较小

OLAP:online analysis platform:数据仓库、DSS

读写比很高,用户并发少、几乎无事务、单次访问数据量较大

 

 

binlog# at 4896417   (字节偏移量)

#160404 23:02:33 server id 1  end_log_pos 4896514(结束偏移量)    Query    thread_id=492 (哪个ID发出的语句)  exec_time=0    error_code=0

SET TIMESTAMP=1459782153/*!*/;unix时间戳

DELETE from test02 where id=495031

/*!*/;

select unix_timestamp(now());

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值