第2章 体系结构及安装
ORACLE:内存层 进程层 存储层
DATAbase BUFFER CACHE:延迟写,攒一攒,提高IO效率。
达梦:
达梦是B/S架构,类似于oracle的share模式,工作线程从工作线程队列中取。
database层中是三大核心物理文件(.ctl .log .DBF)
数据文件,在磁盘,从磁盘装载到内存,数据缓冲区
脏数据:内存数据与磁盘数据不一致
日志缓冲区,是保护数据,做恢复用的
SQL缓冲区:与library cache功能一致,加快计划。Library cache里面的SQL语句和PL/SQL语句如果下次被用到则不需要进行编译和解析,直接从library cache中取出使用。如果经常使用的SQL语句和PL/SQL语句大部分都不一样,则每次都要重新编译解析。所以,library cache的大小决定了编译解析SQL语句和PL/SQL语句的频率。
字典缓冲区:与data dictionary cache功能一致,加快语义解析。存储数据库所有控制信息的信息,包括数据文件、表、索引、列、用户、权限等相关信息。使用频率很高,几乎所有对数据库的操作都需要查询data dictionary cache。可以提升查询和DML语句的反应时间。大小由shared pool size决定。
共享内存池:相当于SGA
运行时内存池:相当于PGA.
达梦:每个线程所占内存也在运行时内存池中
WAL:write ahead log。日志写先行,也就是先刷日志,再刷磁盘。因为要保护数据,且日志是顺序的。
CKPT线程:先触发IO线程,IO触发日志flush线程。