排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
2
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
举报
首页
/
数据库的很多内在特性已经固化在存储引擎里了
数据库的很多内在特性已经固化在存储引擎里了
白鳝的洞穴
2026-01-20
395
一些朋友和我讨论某个数据库产品,一旦说起来,我第一时间就会想一下这个数据库产品的存储引擎的特点是什么。存储引擎是数据库的所有外在能力的基础,虽然SQL引擎对外表现出各种各样的兼容性和相似性,不过没有存储引擎这个内在的引擎支撑,一些特性也仅仅是特性而已,并不能真正的成为能力。
从广义上看,数据库的存储引擎是数据库管理系统中用于处理不同类型的存储任务和管理数据的核心组件。它负责数据的存储、检索、更新和删除等操作。不同的存储引擎具有不同的特点和性能,以满足各种应用场景的需求。存储引擎是数据库的核心组件,存储引擎的一些特性决定了数据库的一些基本性能特性。决定存储引擎技术能力的因素不只是取决于底层数据的组织方式,作为数据库中的量大核心引擎之一,从广义上讲,存储引擎的主要作用包括:
数据存储:将数据物理地存储在磁盘或其他存储介质上。
数据检索:根据查询条件快速高效地检索数据。
数据更新:处理数据的插入、更新和删除操作。
事务管理:保证数据的一致性和完整性,通过支持事务实现原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),即ACID属性。
并发控制:在多个用户并发访问时保证数据的一致性和完整性。
数据备份和恢复:支持数据的备份和恢复,保障数据的安全性。
从上面的存储引擎在数据库中负责的功能上,我们可以看出,几乎所有的数据库的特性,特别是性能方面的特性都是与存储引擎相关的。很多数据库从出娘胎的时候就已经决定了其性能的上限。这也是我在《实战国产数据库》这本书里不厌其烦地介绍主流国产数据库存储引擎特点的主要原因,希望大家能够通过对国产数据库存储引擎的理解,了解这些数据库的长处和短处。
如果说有个数据库在外在形式上具有类似Oracle RAC的功能,但是其存储引擎的MVCC特性就已经决定了CACHE FUSION的性能,UNDO是按BLOCK的还是按行的?脏块是否存在PI阶段?全局资源锁是如何高效降级的?这些特性都是与存储引擎密切相关的。如果存储引擎都无法高效地解决这些问题,那么你告诉我这个数据库产品RAC方面的性能直逼O记,我是无论如何都不会相信的,因为这违背了客观规律。
分布式数据库在很多互联网应用特性上很强,不过其存储引擎是分布式的,事务管理的成本极高,在分布式环境中资源管理也复杂很多。在集中式数据库上,一条SQL缓慢地长时间运行,顶多就是消耗一些系统资源,只要系统总体资源很充足,危害也是有限的。而到了分布式数据库上,因为其分布式存储引擎的特性,这种SQL的危害性会被放大一个甚至几个数量级。在很多分布式数据库上,设置一个超时失败就是一种权衡后的结果。这个超时参数默认很小,你也可以把它设得很大,但是其带来的风险也是巨大的。最好的处置方式是修改一下你的应用,让SQL的执行时间不要那么长。
国产数据库
数据库
存储引擎
文章转载自
白鳝的洞穴
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨