【数据科学导论】第一二章·大数据与数据表示与存储

news2024/12/28 1:45:17

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀数据处理与分析_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 前言

2. 大数据

2.1 大数据入门

2.1.1 定义

2.1.2 大数据的界限

2.1.3 大数据特点(4V)

2.2 数据科学

2.2.1 大数据与数据科学

2.2.2 定义

2.2.3 数据处理过程

3. 数据的表示与存储

3.1 数据分类与表示

3.1.1 结构化数据

3.1.2 半结构化数据

3.1.3 非结构化数据

3.2 数据存储

3.2.1 结构化数据的存储

3.2.1.1 结构化数据存储在哪里

3.2.1.2 结构化数据存储的手段

使用 DISTINCT 去重查询结果中的单个列,返回唯一的值

使用 DISTINCT 去重查询结果中的多个列,返回满足多列组合唯一的结果。

3.2.1.3 结构化数据存储的优化

3.2.2 非结构化数据存储

3.2.2.1 MongoDb

3.2.2.2 Neo4j

3.2.2.3 Redits

3.2.2.4 HBase

3.2.2.5 NoSQL总结(必背)

4. 总结


1. 前言

【数据处理与分析】专栏主要专注于数据处理和数据分析。

专栏中的【数据科学导论】部分是对整个大数据科学所有技术(包括数据处理、数据分析)的一个概论,适用于想要快速入门大数据的友友们🥰🥰~~~

【数据科学导论】整体学习脉络:

  1. 数据科学导论——研究数据科学
  2. 数据科学——研究大数据处理
  3. 大数据处理过程——采集、表示与存储、预处理、建模分析、可视化、决策
  4. 大数据处理过程指导数据科学导论内容

【数据科学导论】持续更新中🎢🎢🎢 

2. 大数据

2.1 大数据入门

2.1.1 定义

定义1:大数据是一种数据规模大到在数据的获取管理,存储处理,分析计算都远远超过传统数据库软件工 具处理范围的数据集合

定义2:大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合(维基百科)

2.1.2 大数据的界限

  • 简单查询。数据量为TB至PB级称为大数据
  • 复杂查询。数据量为GB至TB级称为大数据

PB是大数据层次的临界点 

大数据的定义需要考虑数据查询与分析的复杂程序 

2.1.3 大数据特点(4V)

高时效性:1秒定律

高价值:价值巨大但价值密度低

高数据量:PB称为大数据层次的临界点

高类型数量:关系数据库数据、音频视频数据、结构化数据等

2.2 数据科学

2.2.1 大数据与数据科学

1、数据是人工智能的基石

2、数据是基础

2.2.2 定义

基于传统的数学,统计学的理论和方法,运用计算机技术进行大规模的数据计算,分析,应用的学科。

数据科学是一门专门处理大数据的学科

2.2.3 数据处理过程

采集,表示与存储,预处理(清洗,集成等),建模分析,可视化,决策

【数据科学导论】整体学习脉络:

  1. 数据科学导论——研究数据科学
  2. 数据科学——研究大数据处理
  3. 大数据处理过程——采集、表示与存储、预处理、建模分析、可视化、决策
  4. 大数据处理过程指导数据科学导论内容

3. 数据的表示与存储

3.1 数据分类与表示

3.1.1 结构化数据

可以使用关系型数据库表示和存储的数据,拥有固定结构。

结构化数据能够很好被数据库存储:

  • 有严格的数据结构和格式的要求。
  • 因此用树结构就可以在磁盘中很好的完成存储、查询和处理。

3.1.2 半结构化数据

弱结构化数据,虽然没有关系型数据库那么严格的结构要求,但是也存在一定的结构。如XML、JSON

3.1.3 非结构化数据

没有固定数据结构,没有统一格式。如文本、图片、视频、音频等

3.2 数据存储

3.2.1 结构化数据的存储

3.2.1.1 结构化数据存储在哪里

对于结构化数据可以直接存储在关系数据库中

结构化数据——》有很强结构性——》可以转化为关系结构——》存储在关系数据库 

具体解释如下:

数据库:有组织、可共享的大量数据集合 

数据库管理系统:对数据库的管理,位于用户和操作系统之间。

优点:

1、数据结构化,管理效率高

2、用户只需指出干什么,不必仔细说怎么干

3、对于事务的支持,有高一致性

3.2.1.2 结构化数据存储的手段

利用SQL语言完成结构化数据的存储,具体SQL语言介绍

类别一:Data Definition Language (DDL) 数据定义语言(create,delete等)

DDL:定义各种表结构

创建: 

create table studeng (
    sid char(20),
    cid char(20);
)

删除: 

drop table tb1;

修改: 

alter table test4_02
add avg_score numeric(3,1)

类别二:Data Manipulation Language (DML) 数据操作语言(增删改查)
增:

Insert into Students(sid,name,login,age,gpa)
values('111','smith','smith@qq',11,3.3)

删: 

delete from Student S
where S.name='Smith'

改: 

update test4_01 S
  set sum_score=(
    select sum(score)
    from pub.student_course T
    where S.sid=T.sid
  )

类别三: Data Control Language(DCL):数据控制语言,用来定义访问权限和安全级别

类别四:Data Query Language(DQL):数据查询语言,用来查询记录(数据) 

SELECT	DISTINCT age FROM students
使用 DISTINCT 去重查询结果中的单个列,返回唯一的值
SELECT	DISTINCT NAME,age,score FROM students
使用 DISTINCT 去重查询结果中的多个列,返回满足多列组合唯一的结果。
-- 1. LEFT JOIN: 左连接,返回左表(employees)所有记录,以及右表(departments)中连接字段相等的记录
SELECT e.employee_id, e.name, e.department_id, d.department_name
FROM employees e
LEFT JOIN departments d
ON e.department_id = d.department_id;

-- 2. RIGHT JOIN: 右连接,返回右表(departments)所有记录,以及左表(employees)中连接字段相等的记录
SELECT e.employee_id, e.name, e.department_id, d.department_name
FROM employees e
RIGHT JOIN departments d
ON e.department_id = d.department_id;

-- 3. INNER JOIN: 内连接,只返回两个表中连接字段相等的记录
SELECT e.employee_id, e.name, e.department_id, d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.department_id;

-- 4. FULL JOIN: 外连接,返回两个表中的所有行,左连接 + 右连接
SELECT e.employee_id, e.name, e.department_id, d.department_name
FROM employees e
FULL JOIN departments d
ON e.department_id = d.department_id;

-- 5. NATURAL JOIN: 自然连接,自动根据两个表中的同名列进行连接
SELECT e.employee_id, e.name, e.department_id, d.department_name
FROM employees e
NATURAL JOIN departments d;

left join : 左连接,返回左表中所有的记录以及右表中连接字段相等的记录。
right join : 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。
inner join(join) : 内连接,又叫等值连接,只返回两个表中连接字段相等的行。
full join : 全连接,返回两个表中的行:left join + right join。

natural join:自然连接,自动匹配同列名的数据。


3.2.1.3 结构化数据存储的优化

对数据库设计的研究

问题:存在冗余

严格按照范式要求来设计数据库的表格

问题:严格保证关系的有效性

只有满足这三个完整性,才可以说数据库的设计是合适的

问题:数据库查询效率 

3.2.2 非结构化数据存储

非结构化数据或者半结构化数据并没有结构化数据那种强结构化的特性。因此不能转化为关系来处理,不能使用关系型数据库。

非关系数据库(NoSQL)应运而生!!😍😍

非关系数据库是一系列针对不同非结构化数据存储的数据库,而不是单单一种数据库,

非关系型数据库有:

3.2.2.1 MongoDb

3.2.2.2 Neo4j

专门用于存储图数据——图数据是关系型数据,数据之间存在很强烈的联系(关系)。

这个关系和关系型数据库的关系是不同的!!

图数据用关系型数据库存储非常复杂(关系种类会很多),同时不是所有节点之间都是全连接的,因此存在很多冗余。

图数据库的优点:

  1. 图数据库直接以图的形式存储图数据(不用对数据进行转化)
  2. 利用图论的知识来做查询
3.2.2.3 Redits

3.2.2.4 HBase

3.2.2.5 NoSQL总结(必背)

1、为什么需要NoSQL数据库?

  • 从数据类型来说:大数据时代来临,我们面对的数据除了结构化的数据还有非结构化、半结构化的数据。这些数据用关系数据库来存储效果很差。
  • 从高并发读写来说:传统的关系数据库为了保证事务特性,每次操作都做了很多限制(例如上锁等),这会降低访问数据库的效率。但是在很多情况下事务是不一定要保证的,例如两个用户短时间内看的博客内容不同是不重要的(当然,事务对于银行取钱这很重要)。NoSQL不保证事务特性,从而提高了并发处理的性能;Redit数据库使用了内存做缓存的方法提高了并发处理速度;NoSQL很多都支持分分布式存储和计算,提高并发处理的性能。
  • 从数据量来说:但数据量很大时,针对条件的查询在SQL下会很消耗成本,但是使用HBase列存储效果就很好;当数据量大时,分布式并发处理的效果比SQL的单独处理更好;集合运算在Redits上很快,图运算在Neo4j上处理很快。

2、几种NoSQL的应用场景?

3、NoSQL通用性特点

  • 分布式,很好应对数据量大,高并发读写的要求。
  • 数据量大,选择性存储一些信息,从而提高整体存储数据量的值。
  • 结构性低,数据结构修改代价小。

4. 总结

本文到这里就结束啦~~

期待您的关注~~🥰🥰

猫猫陪你永远在路上💪💪

如果觉得对你有帮助,辛苦友友点个赞哦~ 

下一篇我们将进入 数据预处理 部分~~~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2266687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode - Google 校招100题 第8天 图(Graph) (2题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144744820 LeetCode 合计最常见的 112 题: 校招100题 第1天 链表(List) (19题)校招100题 第2天 树(Tree) (21题)校招100题 第3天 动态规划(DP) (20题)

五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)

上一篇文章: 10分钟学会免费搭建个人博客(Hugo框架 stack主题) 前言 首先,想要实现这个功能的小伙伴需要完成几个前置条件: 有一个GitHub账号安装了git,并可以通过git推送commit到GitHub上完成第一篇文章…

kubernetes Gateway API-部署和基础配置

文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…

操作002:HelloWorld

文章目录 操作002:HelloWorld一、目标二、具体操作1、创建Java工程①消息发送端(生产者)②消息接收端(消费者)③添加依赖 2、发送消息①Java代码②查看效果 3、接收消息①Java代码②控制台打印③查看后台管理界面 操作…

使 el-input 内部的内容紧贴左边

<el-inputv-model"form.invitor"placeholder"PC端的自动取当前账号的手机号"readonlyclass"no-border-input" />::v-deep(.no-border-input .el-input__inner) { border: none; box-shadow: none; padding-left: 0; /* 确保内容紧贴左边 *…

服务器分区与挂载(新手友好)

本文为实习期间项目实施心得分享在此供各位实习生使用 安装Centos7.9 1>这里选择上面的安装Centos7 2>回车后,等待到这个画面.选择你的语言 3>时区和语言自己按需选择 4>我们本次采取最小化安装只需要改这两个地方 1>选择INSTALLATION DESTINATION 这一步进行…

Docker-构建自己的Web-Linux系统-镜像webtop:ubuntu-kde

介绍 安装自己的linux-server,可以作为学习使用&#xff0c;web方式访问&#xff0c;基于ubuntu构建开源项目 https://github.com/linuxserver/docker-webtop安装 docker run -d -p 1336:3000 -e PASSWORD123456 --name webtop lscr.io/linuxserver/webtop:ubuntu-kde登录 …

spring专题笔记(六):bean的自动装配(自动化注入)-根据名字进行自动装配、根据类型进行自动装配。代码演示,通俗易懂。

目录 一、根据名字进行自动装配--byName 二、根据类型进行自动装配 byType 本文章主要是介绍spring的自动装配机制&#xff0c; 用代码演示spring如何根据名字进行自动装配、如何根据类型进行自动装配。代码演示&#xff0c;通俗易懂。 一、根据名字进行自动装配--byName Us…

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223

深入探讨 Go 中的高级表单验证与翻译&#xff1a;Gin 与 Validator 的实践之道 在现代后端开发中&#xff0c;表单验证是保证数据完整性和服务稳定性的核心环节。如何优雅、高效地实现表单验证&#xff0c;同时提供人性化的错误提示&#xff0c;是每位开发者的必修课。在本文中…

UE5 渲染管线 学习笔记

兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D HLSL内置UV HLSL内置鼠标坐…

【Kubernetes 指南】基础入门——Kubernetes 基本概念(二)

目录 二、Pod 1、Pod 简介 2、Pod 图示 3、nginx 容器 二、Pod 1、Pod 简介 - Kubernetes 使用 Pod 来管理容器&#xff0c;每个 Pod 可以包含一个或多个紧密关联的容器。 - Pod 是一组紧密关联的容器集合&#xff0c;它们共享 PID、IPC、Network 和 UTS namespace&#…

基于高德地图js api实现掩膜效果 中间矢量 周围卫星图

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>管网服务</title><style>html,body,#ma…

【EI会议征稿】人工智能与遥感应用国际会议 (AIRSA 2025)

第一届人工智能与遥感应用国际学术会议&#xff08;AIRSA 2025&#xff09;将于2025年3月14-17日在中国长沙召开。会议聚焦人工智能与遥感技术应用&#xff0c;旨在为参会专家、学者和相关研究人员提供一个共享科研成果&#xff0c;拓宽研究思路&#xff0c;探索前沿技术&#…

Java圣诞树

目录 写在前面 技术需求 程序设计 代码分析 一、代码结构与主要功能概述 二、代码功能分解与分析 1. 类与常量定义 2. 绘制树的主逻辑 3. 彩色球的绘制 4. 动态效果的实现 5. 窗口初始化 三、关键特性与优点 四、总结 写在后面 写在前面 Java语言绘制精美圣诞树…

java web项目软件自动生成使用初体验-帅帅软件生成平台ASoft

软件默认 登陆账号 admin 密码 123456 一、软件使用简介说 AI软件自动生成越来越成熟&#xff0c;但AI生成的软件代码只是片段化的&#xff0c;不成体系。有没有一款可以10-30分钟自动生成JAVA WEB休系的软件&#xff1f;我也找了好久&#xff0c;终于找到了&#xff0c;开发…

闲谭Scala(2)--安装与环境配置

1. 概述 Java开发环境安装&#xff0c;需要两步&#xff0c;第一安装JDK&#xff0c;第二配置环境变量。 Scala的话&#xff0c;也是两步&#xff0c;第一安装Scale环境&#xff0c;第二配置环境变量。 需要注意的是&#xff0c;配置环境变量&#xff0c;主要是想让windows操…

NodeRed使用心得,实现增删改查等

使用场景介绍 在VUE中使用nodeRed实现对节点的 增删改查等功能&#xff0c;且储存成功之后下点击时启动对应流程 安装与配置 1.安装NodeRed npm install -g --unsafe-perm node-red 安装完成后&#xff0c;你可以通过运行以下命令来启动Node-RED node-red-start2. 配置文件 N…

升级鸿蒙Next,小记

写在前面 这个小记是想记录一下Next系统不断完善的过程&#xff0c;给想升级还没升级的同志们一些提醒。虽然这个系统还有这样那样的一些问题&#xff0c;但是我觉得升级之后很完美 续航时间明显变长了&#xff0c;充电&#xff0c;玩游戏以前会发热&#xff0c;现在完全不会…

Android Studio | 连接手机设备后,启动App时出现:Waiting For DebuggerApplication (App名)...

在这种情况下&#xff0c;打开目录文件&#xff0c;出现 Is:/storage/emulated/: Permission denied 问题分析&#xff1a; 以上两种情况表明应用程序试图访问Android设备的存储空间中的/storage/emulated/目录&#xff0c;但是没有足够的权限去执行这个操作。 解决办法&…

如何卸载和升级 Angular-CLI ?

Angular-CLI 是开发人员使用 Angular 的必备工具。然而&#xff0c;随着频繁的更新和新版本的出现&#xff0c;了解如何有效地卸载和升级 Angular-CLI 对开发人员来说至关重要。本指南提供了一个全面的、循序渐进的方法来帮助您顺利过渡到最新版本。 必备条件 确保您的系统上…