数据库: 物理操作系统文件 或其他形式文件类型的集合
实例: MySQL数据库 由 后台线程 以及 一个共享内存区 组成 一个MySQL节点 是一个MySQL数据库实例
集群情况下 一个数据库被多个数据实例使用
单进程 多线程
MySQL数据库 按照 /etc/my.cnf -> /etc/mysql/my.cnf -> /usr/local/mysql/etc/my.cnf -> ~/.my.cnf 的顺序读取配置文件
如果几个配置文件中有同一个参数 以读取到的最后一个配置文件中的参数为准 linux 系统下 配置文件放在 /etc/my.cnf 文件
MySQL 组成部分:
1 连接池组件
2 管理服务和工具组件
3 SQL接口组件
4 查询分析器组件
5 优化器组件
6 缓冲组件
7 插件式存储引擎 与其他数据库最大的区别 基于表而不是数据库的 一个表可以定义独立的存储引擎
8 物理文件
InnoDB 存储引擎
支持事物
行锁设计、支持非锁定读,默认读取不会产生锁
使用多版本控制 保证高并发性能,
实现了4种隔离级别 默认隔离级别是 可重复读
next-key locking 策略 避免欢度
插入缓冲、二次写、自适应哈希索引、预读 等高性能高可用功能
数据存储在聚簇索引中,每张表的存储都是按主键顺序进行存放