您好,登录后才能下订单哦!
这篇文章主要讲解了“数据库是怎么工作的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库是怎么工作的”吧!
数据库是什么?
概括来讲,数据库是一系列可以方便的访问和修改的数据的集合。
所有数据库管理系统的主要工作都是可靠的存储数据并使其对用户可用。
甚至说简单的一堆文件都可以做到轻松访问和修改这一点。实际上,像SQLite这类简单的数据库也确实仅是一堆文件。但是,SQLite 它是一些经过精心设计的文件,因为它允许执行这些操作:
通过事务来保证数据安全和一致
可以快速处理数百万量级的数据
概括来看,一个数据库可以看成以下图这些部分组成:
在很多书籍或论文里,对于数据库的描述都有自己的方式。比如『数据库技术内幕』一书组件插图是这样的:
所以不用太关注我们是怎样组织这些组成部分或者太关注处理流程怎样命名,因为我们做了一些取舍以适合这篇文章的编写。你需要重点关注的是这些不同的组成部分。
总体理解就是将数据库可以划分成多个相互交互组件。
核心组件
流程管理器:多数数据库都有一个需要管理的「池」,用来组织流程、线程等。甚至,为了取得纳秒级等极致性能,一些现代的数据库会使用其自己的线程,而不再是基于操作系统的线程。
网络管理器:网络的 I/O 一直是很重要的部分,特别是对分布式数据库来说。这也是为什么一些数据库实现自己的网络管理器的原因。
文件系统管理器:数据库遇到第一个瓶颈是磁盘 I/O。有一个能够完美处理操作系统文件系统甚至替换它的文件系统管理器相当重要。
内存管理器:为了避免磁盘I/O带来的影响,需要大量的内存。但是当你需要管理大量的内存的时候,就会需要一个高效的内存管理器。特别是你有多个查询同时在用内存查询的时候。
安全管理器:用于管理用户的身份验证和授权
客户端管理器:用于管理客户端的连接
工具
备份管理器:用来备份和还原数据库
恢复管理器:用来在数据库崩溃之后,以一致的状态来重新启动数据库
监控管理器:用来记录数据库的活动日志并提供监控数据
「管理」管理器:提供工具来管理数据库、表空间、模式,并管理像表的名称、结构等数据库的元数据
查询管理器
查询解析器:检查查询是否合法,像SQL语句有没有词法、语法错误这种
查询重写器:预优化查询
查询优化器:优化查询,让查询可以更高效的执行
查询执行器:编译和执行查询
数据管理器
事务管理器:处理事务
缓存管理器:和我们常用缓存一样理解,在使用前先把他们放到内存,在数据写到磁盘前也放到内存
数据访问管理器:访问磁盘上的数据
后面的文章,我们会重点描述数据库内是怎样通过以下这些流程来管理和进行SQL的查询的:
客户端管理器
查询管理器
数据管理器
感谢各位的阅读,以上就是“数据库是怎么工作的”的内容了,经过本文的学习后,相信大家对数据库是怎么工作的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。