一、数据库的不同类型

本文介绍了数据库的不同类型,包括关系型数据库(Oracle、MySQL、MariaDB、PostgreSQL)、NoSQL数据库(Redis、MongoDB、HBase、Cassandra、Pika)以及NewSQL数据库(TiDB、OceanBase)。详细讲解了数据库事务的四大特性(原子性、一致性、隔离性、持久性),并阐述了事务并发问题与隔离级别的概念,如脏读、不可重复读、幻读,以及四种事务隔离级别。此外,还讨论了数据库的范式和常见的MySQL知识点,如SQL语句、数据类型、存储引擎、索引、存储过程与函数、新特性及调优策略。
摘要由CSDN通过智能技术生成

一、数据库的不同类型

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已经商业化,不再开源。

二、数据库的范式

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

  • 第一范式要求最低,只要求表中字段不可用在拆分。
  • 第二范式在第一范式的基础上要求每条记录由主键唯一区分,记录中所有属性都依赖于主键。
  • 第三范式在第二范式的基础上,要求所有属性必须直接依赖主键,不允许间接依赖。
  • 一般说来,数据库只需满足第三范式就可以了。

详解知识点一:数据库事务

知识点

▌1.数据库事务特性

数据库的特性是面试时考察频率非常高的题目,共4个特性:

  • **原子性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值