快速阅读InnoDB存储引擎

发布者:上海IT外包来源:http://www.lanmon.net点击数:1058

什么是存储引擎?
存储引擎位于各种管理工具(连接池,语义分析器,优化器,缓存,SQL接口)下的文件系统(各种数据,二进制形式)之上。
快速阅读innodb存储引擎
存储引擎功能设计
功能丰富(或SQL语义支持):
事务(与文件系统的最大区别),锁(行或表)的粒度,全文索引,集群索引,外键(这是什么)
交易:
事务的隔离由锁实现,其他ACD由重做日志和撤消徽标实现。重做日志保证事务的原子性(如何理解?因为数据库设计是首先编写重做,然后执行数据页面的真正修改。所以重做必须是一个完整的事务,将修改数据页面)和持久性(如何理解?持久化到硬盘)。撤消日志可确保事务一致性(数据冲突时恢复)。
重做的编写方式与数据库按顺序编写的方式相同,不需要读取。由于未使用O_DIRECT写入磁盘,因此必须将每个写入重做都保存到硬盘。
此外,这里还提到了一个binlog。区别在于binlog是数据库灾难恢复的模型(sql语句被记录并将在提交事务时写入)。重做是由innodb生成的(修改后的页面的物理二进制日志与事务同时写入)。写重做与日志块大小和磁盘扇区相同。两者都是512字节。所以重写日志写入是原子的。重做的物理二进制日志,为了不记录sql语句的执行过程,并在sql执行后记录页面结果。这是幂等的(多次执行相当于执行一次,分布式网络不可靠。由于接口被多次调用,因此必须保证幂等性)。
一个问题是基于硬盘的数据库会将数据写入内存,而数据库的修改也会更改为内存,如何着陆(检查点检查点机制)。为了确保ACID D通常首先使用写重做日志,事务数据库位于修改页面中。
撤消有助于事务回滚和MVCC功能。
表锁,行锁:
锁机制分为锁存器(轻量级锁,分为互斥锁和rwlock。这是一个内部锁机制,以确保并发线程运行关键资源的正确性,通常没有死锁检测机制,如查看互斥锁的方式是显示引擎innodb Mutex;)和lock(粒度是事务,可以是表,页,行,死锁检测机制)。死锁检测机制包括:依次获取多个锁(仅具有此机制的锁存器),等待图(图死锁检测)和到期机制。
MVCC机制(解决锁争用的分布式并发访问问题)
自增长锁:为每个插入一个唯一添加的id,每个插入获取id以释放表锁。通过减少锁定保持时间来提高并发插入的效率。
查看当前事务隔离级别:
MySQL的“
SELECT @@ tx_isolationG;
*************************** 1。排******************** *******
@@ tx_isolation: REPEATABLE-READ
幻读和脏读:脏读不好?在从属节点中,您可以修改innodb的默认事务隔离级别REPEATEDLY READ to READ UNCONMITTED,允许您读取不太准确的数据。
不可重复的读取:通常,不可重复的读取是可接受的,因为它们读取提交的数据,而脏读取读取未提交的数据。如果Oracle和SQL Server设置的事务隔离级别为READ CONMIITTED,则将发生不可重复的读取。
丢失更新:事务更新被另一个事务更新覆盖,导致数据不一致。不会生成基础数据库的任何隔离级别。
数据存储设计:
支持B树索引,支持哈希索引,数据压缩存储,数据表缓存(或仅索引缓存),数据文件加密,存储效率,内存消耗,硬盘消耗,块插入速度,查询缓存,MVCC(解决并发)数据一致性)问题)。
B +树索引/自适应哈希索引:
B树(Blance或Balanced Tree):关系数据库最常用于索引。 AVL(平衡二叉树)的演变。
B + tree=B树+索引顺序访问。包含容器节点和叶节点。所有数据都放在叶节点上。每个叶节点以有序顺序彼此连接。根节点引导到叶节点的路径。由于不断插入和删除,B +树将通过旋转保持平衡。
B +索引本身找不到特定记录,而是找到记录所在的页面。数据页面被加载到内部,然后通过页面目录执行二进制搜索。因为它在内存中看起来非常快。
聚簇索引:从表的主键构建的B +树。
辅助微观世界:叶子节点不存储数据,而是存储快捷方式,这将导致找到所有数据的位置。
数据歧视:基数自适应哈希索引:innodb根据查找的频率创建哈希索引。以最快的o(0)(最慢的o(n))速度增加o(logn)的搜索复杂度。哈希索引对范围查找无效。
压缩空间和加密安全性:
录制的文件可以处于正常模式或缩小模式。
灾难恢复机制:
备份机制,备份恢复(备份快照点记录)。热备用,冷备用和热备用。
新备用计算机的备份顺序是记住当前主数据库的LSN(日志序列号),导出主数据库的当前数据库并将其导入备用计算机。设置LSN同步点。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部