Bootstrap

数据库与大数据概述

1. 数据库与大数据简介

  • 数据库基础知识
    • 定义与类型:数据库用于存储、管理和检索数据,其管理系统(DBMS)如 MySQL、Oracle 等负责创建和管理数据库。数据库类型包括关系型(以表格形式存储,支持复杂查询和关联,如 MySQL)、NoSQL(解决大规模数据存储和查询效率问题,支持多种数据模型,如 MongoDB)、内存数据库(数据全在内存中处理,读写快,如 Redis)等。
    • 关键概念:由表格(行和列组成,存储数据)、记录(表格中的一行)、字段(表格中的一列,有数据类型)、主键(唯一标识记录)、外键(关联不同表)构成,SQL 基础操作包括 SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)数据。
    • 设计原则:通过实体 - 关系(ER)图设计数据库结构,展示实体及关系;规范化过程将数据库结构分解,减少冗余,提高完整性,包括 1NF、2NF、3NF 等阶段。
    • DBMS 功能与示例:DBMS 提供数据存储、检索、更新、事务管理、多用户访问管理、安全权限管理等功能,常见示例有 MySQL(流行开源关系型)、PostgreSQL(先进开源关系型)、MongoDB(文档导向 NoSQL)、Redis(内存数据结构存储)。
  • SQL 简介
    • 概述:SQL 是标准数据库查询语言,用于操作关系型数据库,具有广泛支持、强大数据操作能力、提高生产力、保障数据完整性和安全性、跨平台兼容等优点。
    • 基本指令
      • CREATE TABLE:创建新表格,定义结构,如CREATE TABLE 学生 (学生ID INT PRIMARY KEY, 姓名 VARCHAR(100), 年龄 INT, 专业 VARCHAR(50));
      • INSERT INTO:向表格插入新数据行,如INSERT INTO 学生 (学生ID, 姓名, 年龄, 专业) VALUES (1, '张三', 20, '电脑科技'), (2, '李四', 23, '金融'),...
      • SELECT 与 WHERE 子句:SELECT 用于选取数据,WHERE 限制结果,如SELECT * FROM 学生 WHERE 年龄 > 18;选取年龄大于 18 的学生记录。
    • 进阶概念
      • JOIN 操作:结合多个表格行,类型有 INNER JOIN(返回匹配行)、LEFT JOIN(左表所有行及右表匹配行)、RIGHT JOIN(右表所有行及左表匹配行)、FULL JOIN(两表至少有一个匹配的所有行),如SELECT 学生.姓名, 课程.课程名称 FROM 学生 INNER JOIN 选课 ON 学生.学生ID = 选课.学生ID;显示学生及所选课程名称。
      • GROUP BY:将查询结果分组,与聚合函数(COUNT、MAX、MIN、SUM、AVG 等)结合进行聚合计算,如SELECT 专业, COUNT(*) AS 学生数 FROM 学生 GROUP BY 专业;计算各专业学生数量。
      • HAVING:对 GROUP BY 分组结果进行条件过滤,如SELECT 专业, COUNT(*) AS 学生数 FROM 学生 GROUP BY 专业 HAVING COUNT(*) > 1;选取学生数量超过 1 的专业。

2. 大数据基础知识

  • 定义与特征:大数据指传统软件难以处理的大量、高速、多样的数据集合,具有 5V 特征,即体量(数据规模大,TB 到 PB 级)、速度(数据产生和收集速度快,需实时处理)、多样性(涵盖结构化、半结构化、非结构化数据,如文本、图像、视频)、真实性(数据质量和可信度需考量)、价值(从数据中提取有价值信息支持决策和创新)。
  • 技术介绍
    • Hadoop:开源框架,用于分布式存储和处理大规模数据集,核心组件包括 Hadoop 分布式文件系统(HDFS,存储数据)、MapReduce(处理大数据集计算模型)、YARN(资源管理和作业调度),适用于大规模数据集存储和分析,如日志分析、数据挖掘。
    • Spark:快速、通用、扩展性强的大数据处理引擎,适合复杂数据分析和数据科学任务,特点是速度快(内存计算)、易用(支持多种编程语言)、灵活(支持多种处理方式),应用于实时数据处理、机器学习模型训练和评估、大数据分析等。
    • NoSQL 数据库:非关系型数据库系统,用于存储分布式数据集,主要类型有键值存储(如 Redis)、文档存储(如 MongoDB)、宽列存储(如 Cassandra)、图形数据库(如 Neo4j),适用于高速读写、大规模数据灵活存储查询、实时分析处理等场景。
;