这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
一、重点内容:
1.1 知识要点有哪些?
- 存储系统概览
- 数据库系统概览
- 主流数据库
二、详细知识点介绍:
2.1 存储系统概览
存储系统就是将数据、文件或应用程序保存在可供长期保留和访问的、可靠的计算机存储设备上。物理存储包括磁盘、光驱和闪存设备,而虚拟存储则可能是“云”存储的形式,允许用户存储和访问数据或应用程序从远程服务器上。
存储系统具有可靠性、安全性和可扩展性。存储系统采用持久存储技术,能够在断电或故障时保存数据,以便在系统恢复后恢复正常的工作。存储系统可以提供加密机制,以确保仅被授权的用户可以访问数据。存储系统还可以提供可扩展性,使用户可以根据自己的需要扩展系统处理能力。
存储器层级结构一般分为三层,分别是CPU寄存器、内存和外部存储器。
- CPU寄存器是最小的存储单元,能够提供最快的存取速度,但容量最小;
- 内存通常比寄存器更容量,提供比寄存器更快的存取速度;
- 外部存储器的容量最大,但存取速度较慢。
单机存储栈是一种架构,可以将物理和虚拟存储设备集成到单个集中环境中,实现统一管理和有效利用系统资源。通常,单机存储栈包括磁盘阵列、RAID控制器、网络存储设备和其他存储设备,这些设备可以按需集成在一起,以提供高效的储存解决方案。
RAID技术是一种计算机存储技术,它可以将多个磁盘驱动器组合在一起,以提供更高的容量、性能和容错能力。 RAID技术由多种不同的类型,比如RAID 0、RAID 1、RAID 5和RAID 10等,每种类型都有特定的应用场景。RAID 0在数据意义上采用数据分割的方式,将数据块分成多个数据块,分别存储到不同的磁盘驱动器中,可以提高数据读写性能。 RAID 1则采用镜像复制方式,将数据存储到两个磁盘驱动器中,以避免单点故障造成的数据丢失。 RAID 5则采用分布式校验和方式,将数据块和校验数据分别存储到不同的磁盘驱动器中,可以实现较高的冗余性。 RAID 10则是RAID 0和RAID 1的组合,同时提供高性能和数据安全性。
2.2 数据库系统概览
数据库系统是一种用于存储和管理数据的软件系统。 它主要有关系数据库系统(RDBMS),对象关系数据库系统(ORDBMS),图形数据库系统(GDBMS)和文档数据库系统(DDBMS)等,通常运行在客户端/服务器模式或分布式环境中。 它可以提供大量的高性能、高可扩展性和高可靠性功能,并支持数据库技术如SQL语言、视图、存储过程和触发器等。数据库系统能够通过管理数据来提供数据安全性、可靠性和性能,以满足用户的信息管理需求。 同时,它还可以支持多用户同时访问,可以允许多个用户同时执行查询,并支持用户定义的数据库视图,以便于更好地分析数据。 数据库系统还支持将数据存储在网络上,使得远程访问变得更容易,从而提高了组织的工作效率。
关系型数据库采用了关系模型,是目前最常见的数据库模型,关系型数据库是一种用于存储数据的常见数据库模式,它将数据保存在表中,每个表都有一组列,每列有不同的数据类型,然后可以建立表之间的关系。关系型数据库可以有助于管理大量复杂的信息,并显示这些数据如何与其他数据相关联。关系型数据库主要具有以下几个特点:
- 它是一种面向数据的模型,能够通过表格的形式来表示和存储数据;
- 它使用SQL语言来查询、更新和管理数据;
- 它支持可靠的事务处理;
- 它能够提供高可用性和容错能力;
- 它支持多种安全机制,如视图、存储过程、触发器等,以保护数据安全。
非关系型数据库是一种非常流行的数据库模型, 非关系型数据库,也称为NoSQL数据库,是一种非关系型的存储工具,可以更有效地处理大量数据。它使用跳过关系型数据库的关系结构来实现快速检索和更新功能,是用于处理大量数据的理想方案。它可以处理不同格式的数据,例如:文本、图片、视频、音频等等。它比传统的关系型数据库更加快速,健壮,具有更好的可扩展性和可靠性。非关系型数据库具有以下特点:
-
可以存储一系列不同类型的文档;
-
可以支持动态查询和搜索;
-
可以弹性扩展,可以轻松支持大量数据;
-
可以支持分布式部署;
-
可以支持API和Web后端等,可以更好地提供服务。
2.3 主流数据库
目前主流的数据库有:MySQL、Oracle、PostgreSQL、Microsoft SQL Server、MariaDB、MongoDB、Redis等。MySQL和Oracle是关系型数据库,PostgreSQL、MS SQL Server和MariaDB都是开源关系型数据库,而MongoDB、Redis等是非关系型数据库。
2.3.1 MySQL
MySQL是一款常用的关系型数据库,特别适用于Web应用程序开发。它使用SQL语言来操作和管理数据,可以执行复杂的查询操作,并且能够快速检索出想要的数据。MySQL还可以让管理员轻松地创建、备份、恢复数据库,使用户操作更加便捷。 MySQL的其他特点还包括支持事务处理、实现灵活的安全机制,提供多个用户访问权限,以及查询优化器可以帮助用户更有效率地操作数据库。此外,MySQL也可以支持大量Web应用程序框架,使用户可以更有效率地开发和维护Web应用程序。
2.3.2 Oracle
Oracle是一种强大的关系型数据库,适用于小、中、大型组织。它使用Oracle Database,具有非常高的效率,可以处理大量数据,并且可以支持多种数据库类型。另外,它还提供多种实用程序,可以帮助用户更好地创建、管理、维护数据库,使用户可以更加方便地开发应用程序。此外,Oracle还具有出色的安全特性,能够有效保护系统免受病毒、木马等攻击的破坏。
2.3.3 MongoDB
MongoDB是一种非关系型数据库,它通过使用JSON-like文档来存储和处理数据。MongoDB可以支持大规模、高性能的数据库,并且可以通过内置的自动复制和复制技术,实现集群环境中的故障转移和高可用性。此外,MongoDB也可以支持复杂的查询、聚合和索引等操作,让用户更加方便地管理和维护数据库。
2.3.4 Redis
Redis是一个开源的,高级键值存储数据库,是一种非关系型数据库,它可用于在内存中存储大量数据。它也可以用作缓存,以改善网络应用程序的性能。Redis支持数据持久化,可以将数据保存到磁盘,使它可恢复,即使程序崩溃或服务器关机也可以恢复数据。Redis支持多种语言,包括C、C++、Java、Perl、PHP、Python、Ruby和Scala等,也可以用作分布式数据库,这使它成为分布式系统的理想选择。此外,Redis还可以支持数据复制、部署多个Redis实例、支持主从同步以及支持多种数据类型等特性。