亿级高并发数据库调优与最佳实践法则

本文全面介绍了数据库的基础知识,包括不同类型的关系型和非关系型数据库,事务特性,数据库范式,以及数据库事务的分类。重点讨论了MySQL的事务、存储引擎、锁机制、索引和存储过程。还提到了数据库调优和面试中的常见考察点,如SQL语句优化、索引类型、MySQL的新特性。最后分享了数据库设计和SQL优化的原则,强调了数据库调优的重要性和策略。
摘要由CSDN通过智能技术生成

做业务,要懂基本的SQL语句;

做性能优化,要懂索引,懂引擎;

做分库分表,要懂主从,懂读写分离…

数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多。

今天我们用10分钟,重点梳理一遍以下几方面:

数据库知识点汇总;

数据库事务特性和隔离级别;

详解关系型数据库、索引与锁机制;

数据库调优与最佳实践;

面试考察点及加分项。

知识点汇总

打开百度APP看高清图片

一、数据库的不同类型

1

1.常用的关系型数据库

Oracle:功能强大,主要缺点就是贵

MySQL:互联网行业中最流行的数据库,这不仅仅是因为MySQL的免费。可以说关系数据库场景中你需要的功能,MySQL都能很好的满足,后面详解部分会详细介绍MySQL的一些知识点

MariaDB:是MySQL的分支,由开源社区维护,MariaDB虽然被看作MySQL的替代品,但它在扩展功能、存储引擎上都有非常好的改进

PostgreSQL:也叫PGSQL,PGSQL类似于Oracle的多进程框架,可以支持高并发的应用场景,PG几乎支持所有的SQL标准,支持类型相当丰富。PG更加适合严格的企业应用场景,而MySQL更适合业务逻辑相对简单、数据可靠性要求较低的互联网场景。

2.NoSQL数据库(非关系型数据库)

Redis:提供了持久化能力,支持多种数据类型。Redis适用于数据变化快且数据大小可预测的场景。

MongoDB:一个基于分布式文件存储的数据库,将数据存储为一个文档,数据结构由键值对组成。MongoDB比较适合表结构不明确,且数据结构可能不断变化的场景,不适合有事务和复杂查询的场景。

HBase:建立在HDFS,也就是Hadoop文件系统之上的分布式面向列的数据库。类似于谷歌的大表设计,HBase可以提供快速随机访问海量结构化数据。在表中它由行排序,一个表有多个列族以及每一个列族可以有任意数量的列。

HBase依赖HDFS可以实现海量数据的可靠存储,适用于数据量大,写多读少,不需要复杂查询的场景。

Cassandra:一个高可靠的大规模分布式存储系统。支持分布式的结构化Key-value存储,以高可用性为主要目标。适合写多的场景,适合做一些简单查询,不适合用来做数据分析统计。

Pika:一个可持久化的大容量类Redis存储服务,

兼容五种主要数据结构的大部分命令。Pika使用磁盘存储,主要解决Redis大容量存储的成本问题。

3.NewSQL数据库(新一代关系型数据库)

TiDB:开源的分布式关系数据库,几乎完全兼容MySQL,能够支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性。既适合在线事务处理,也适合在线分析处理。

OceanBase:OceanBase是蚂蚁金服的数据库,OB是可以满足金融级的可靠性和数据一致性要求的数据库系统。当你需要使用事务,并且数据量比较大,就比较适合使用OB。不过目前OB已经商业化,不再开源。

二、事物特性及事物类型

1

后面的详解知识点会展开介绍

三、数据库的范式

1

前关系数据库有六种范式:第一范式、第二范式、第三范式、巴斯-科德范式(BCNF)、第四范式和第五范式。范式级别越高对数据表的要求越严格。

第一范式要求最低,只要求表中字段不可用在拆分。

第二范式在第一范式的基础上要求每条记录由主键唯一区分,记录中所有属性都依赖于主键。

第三范式在第二范式的基础上,要求所有属性必须直接依赖主键,不允许间接依赖。

一般说来,数据库只需满足第三范式就可以了。

详解知识点一&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值