数据库的核心设计理解

数据库技术实现的难点和重点是缓存设计,索引设计和事务实现,针对数据库的优化和维护也是着眼在缓存,索引和事务的优化上面。

缓存设计是为了弥补磁盘IO性能的不足,缓存设计在每一种数据库的设计中都非常重要,良好的缓存设计能最大程度减少和避免数据库访问磁盘的频率和数据,将大部分的操作都放在内存中完成,是数据库提高性能的主要方法。MySQL数据库是常用的开源数据库,在MySQL的维护和使用中,我们发现有大量的缓存设计,用好这些数据库提供的缓存设计对于提升数据库性能有极大的裨益。

缓存优化的详细内容很多,这里先略过,后续如果有可能会将精简内容写进来,有兴趣的也可以多看一些数据库方面的资料......

索引设计是为检索服务的,存储在数据库中的数据,有相当多的一部分是需要再拿出来使用的,而数据库是为存储大量数据设计的产品,检索数据仅仅通过简单的遍历查询,不能满足在存储有大量数据的情况下的检索需求,这就需要有良好的检索算法的设计才能提升检索效率。数据库中的索引就是为了满足这个需求存在的。在用好索引的前提下,即便是在大量的记录中检索数据也会非常迅速。

索引设计相关的详细内容很多,这里先略过,后续如果有可能会将精简内容写进来,有兴趣的也可以多看一些数据库方面的资料......

事务实现是为了满足数据的严谨性要求,数据库中的数据往往不是服务一个人的,当有多个人访问和操作数据库中的数据时,就会出现多个人访问同一个表,甚至同一条记录的情况。事务设计实现了在多人访问的情况下,保持数据操作的原子性,一致性,隔离性和持久性。这也是现代关系型数据库一个显著特征,有了这个设计,开发人员能够更加专注代码的业务实现,降低业务代码的复杂性。

但事务也带来了性能下降的问题,因此,大多数情况下,项目开发人员会考虑尽量降低使用事务的频度,避免滥用事务,即便不得不使用的情况下,也会把事务控制到尽可能的小。在需要偏重考虑性能的情况下,还会考虑在项目代码的层面实现事务特性,这无疑会使代码变得相当复杂和容易出现问题。

因此,出现了偏重性能考量的很多新型数据库,但它们不叫关系型数据库,为了更偏重性能特性,这些数据库会舍弃许多关系型数据库中影响性能的设计并加入很多可以提升性能的设计来换取性能的大幅度提升,虽然走了一些极端,但也确有其应用场景,这些数据库也都发展的很好,在某些应用场景大放异彩,是关系型数据库的有力辅助和拓展,完善了数据库家族。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值