数据库总结

2022-10-12 10:40:27 浏览数 (2)

常见的数据库

常见的关系型数据库有mysql 、SQL Server、Oracle、Sybase、DB2等。关系型数据库是目前最受欢迎的数据库管理系统,技术比较成熟。

1、MySQL

MySQL是目前最受欢迎开源的SQL数据库管理系统,与其他的大型数据库Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但丝毫也没有减少它受欢迎的程度。对于个人或中小型企业来说,MySQL的功能已经够用了, MySQ L又是开源软件,因此没有必要花大精力和大价钱去使用大型付费数据库管理系统了。

优点:

1、MySQL是开源免费的。

2、MySQL服务器是可靠的、易于使用的、快速的。

3、MySQL服务器工作在客户/服务器或嵌入系统中。

4、MySQL软件很多。

5、MySQL是一个关系数据库管理系统。

缺点:

  1. MySQL 最大的缺点是其安全系统,主要是复杂而非标准,只有调用 mysqladmin 来重读用户权限才会发生改变。
  2. MySQL 不允许调试存储过程,开发和维护存储过程很难。
  3. MySQL 不支持热备份。
  4. MySQL 的价格随平台和安装方式变化。

Redis的应用场景有哪些?

Redis 的应用场景包括:缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。

Redis简介

Redis 是一个开源的、使用 C 语言编写的 NoSQL 数据库。

Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。

Redis的单线程模式

  1. Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。
  2. 若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降
  3. 若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力。
  4. 在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。若 CPU 资源比较紧张,采用单进程即可。

Redis的优点

  1. 具有极高的数据读写速度:数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。
  2. 支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Ordered Sets 等数据类型操作。
  3. string :字符串(可以为整型、浮点型和字符串,通称为元素)
  4. list :列表(实现队列,元素不唯一,先入先出原则)
  5. set :集合(各不相同的元素)
  6. hash :hash散列值(hash的key必须是唯一的)
  7. set /ordered set :集合/有序集合
  8. 支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  9. 原子性:Redis 所有操作都是原子性的。
  10. 支持数据备份:即 master-salve 模式的数据备份。
  11. Redis作为基于内存运行的数据库,缓存是其最常应用的场景之一。除此之外,Redis常见应用场景还包括获取最新N个数据的操作、排行榜类应用、计数器应用、存储关系、实时分析系统、日志记录。

SQL(关系型)和noSQL(非关系型)的区别?

首先了解一下 什么是关系型数据库?

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组

织。

优点:

1、易于维护:都是使用表结构,格式一致;

2、使用方便:SQL语言通用,可用于复杂查询;

3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

1、读写性能比较差,尤其是海量数据的高效率读写;

2、固定的表结构,灵活度稍欠;

3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定,常用于存储非结构化的数据。应该是一种数据结构化存储方法的集合,可以是文档或者键值对等

优点:

1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

3、高扩展性;

4、成本低:nosql数据库部署简单,基本都是开源软件。

缺点:

1、不提供sql支持,学习和使用成本较高;

2、无事务处理;

3、数据结构相对复杂,复杂查询方面稍欠。

非关系型数据库的分类和比较:

1、文档型

2、key-value型

3、列式数据库

4、图形数据库

为什么要有数据库?

  1. 数据冗余和不一致性
  2. 大数据访问困难
  3. 数据孤立
  4. 数据完整性和原子性
  5. 并发访问异常
  6. 安全性问题

什么是数据库?(可以理解为一个操作系统)

数据:描述事物的符号记录,可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。

数据库:存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。

数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,即数据库有永久存储、有知识和可共享三个基本特点。

数据库服务器的基本概念

DBMS 数据库管理系统(能够操作和管理数据库的大型软件)

数据库基础语句

数据库密码修改

数据库的主从原理

数据库主从不同步的原因

MYSQL一主多从,主库宕机,如何合理切换到从库,其他从库如何处理?

单台Mysql达到性能瓶颈时,如何击碎性能瓶颈?

Mysql什么时候创建索引?

误操作drop语句导致数据库数据损坏,请给出恢复的实际大体步骤

如何保证Redis能永久保存数据?

如何利用Redis对Mysql进行性能优化?

使用Redis做MySQL的缓存,当网站的处理和访问量非常大的时候,我们的数据库的压力就变大了,数据库的连接池,数据库同时处理数据的能力就会受到很大的挑战,一旦数据库承受了其最大承受能力,网站的数据处理效率就会大打折扣。此时就要使用高并发处理、负载均衡和分布式数据库,而这些技术既花费人力,又花费资金。

了解非关系型数据库吗,和MySQL有什么区别

简述MySQL事务之间的隔离

事务的四大特征和数据库的回滚

数据库的主键、外键

数据库引擎

数据库的锁

innodb引擎是插入快还是读取快

在数据库中查询语句速度很慢,如何优化?

数据库优化

数据库与数据库实例

mysql如何减少主从复制延迟

mysql一主多从,主库宕机,如何合理切换到从库,其他从库如何处理?

解释一下数据库的读写分离

误操作drop语句导致数据库数据损坏,请给出恢复的实际大体步骤

MySQL数据库的备份方式

MySQL的历史了解吗,它和Mariadb有什么关系

接触过redis集群吗,说一下redis集群的三种实现方式,原理是什么

0 人点赞