首页>>新闻资讯>>云计算

大数据存储(NoSQL)教与学(教学大纲 试验大纲 教学日历)

2023-12-07 09:14:06 24

原标题:大数据存储(NoSQL)教与学(教学大纲+试验大纲+教学日历)

教学大纲

1

课程基本信息

2

课程性质及课程目标

2.1 课程性质

必修。

2.2 课程目标

G1 通过绪论部分包括对非关系数据库发展历程,与关系数据的比较,非关系数据库的应用场景的讲解与介绍,使学生能够整体把我非关系数据库技术的演化历史,掌握关系和非关系数据库之间的差异,以及能够在现实的应用环节找到对应的应用场景,从而进一步促使学生能够在在架构的宏观角度上对数据存储技术有整体把握,能够着实培养和提高学生的理论素养。

G2 通过具体到Hbase,Redis,MogoDB,Neo4j和国产数据库等细分类别,对不同的数据类型,采用不同类型的数据库存储技术,这样能够着实提高学生对非关系数据的认识。同时,由于这些数据库都有不同的应用场景,学生通过该部分的介绍,能够以点带面的方式掌握和学习更多数据库相关的技术与知识,更进一步了解其具体应用场景的数据结构等,从而倒逼数据库相关技术的完善。学生通过此部分的学习,逐步获得非关系数据库的综合知识,提升理论认识水平。

G3 通过具体的实践操作,学生能够提高动手能力,是学生把学习的理论知识应用到实践中去的关键一步和重要环节。知识的最重要作用在于指导实践,学生通过前已述及的理论知识,深入实践,掌握某个或某些非关系数据的应用等。

G4 通过该门课程的理论与实践部分的学习,学生要能够掌握非关系数据库的基础理论知识,能够结合具体的应用场景,选择合适的数据库技术解决工程项目中数据存储问题,无论是从数据库的存储表设计,还是查询语句的设计,以及数据库的部署方式上等优化数据库的性能,同时还要能够保证数据的安全性。学生要整体认识到数据据就是石油和黄金,数据价值对提升优化现有各种服务具有至关重要的重用,数据存储涉及到的相关数据库技术是提升这些服务关键一招,应该切实掌握。更进一步,则能为学生学习其他诸如知识图谱等技术提供支撑。

3

课程目标与毕业要求指标点对应关系

通过本课程的教学使学生了解非关系数据库发展历程和现实需要,将关系数据库和非关系数据库在架构组织,存储方式,性能等方面比较,让学生了解和掌握非关系与关系数据库的区别与联系。以Hbase, Redis, MongoDB, Neo4j等非关系数据库为具体实例,介绍在不同场景中选择不同数据库的必要性。此外,开展课堂小实验,根据我们所讲解的知识,让学生亲自参与到实践当中去,部署,使用,构建数据库,提高学生动手实践能力和巩固知识。以点带面,学生可以以此为基础,学习其他更多类型的数据库,根据自己项目的实际情况选择不同应用场景的数据库。

4

理论教学内容与要求

4.1 绪论(4学时)

本部分重点介绍NoSQL发展的历程,分类,发展现状以及所面临的挑战,NoSQL的优缺点等。

4.1.1 教学目标

通过本部分的教学,要达到的教学目标是使学生对NoSQL有个整体的认识,对应的课堂目标是G1。

4.1.2 教学内容

讲解NoSQL的发展历程;

NoSQL数据库的分类;

NoSQL的发展现状;

NoSQL与RDBMS的比较。

4.1.3 教学要求

本部分内容作为了解。

4.2 4个常用的NoSQL数据库(28学时,每个数据库的讲解为7学时)

本部分介绍四个常用的非关系数据库:Hbase, Redis, MongoDB, Neo4j.

4.2.1 教学目标

通过本部分的讲解,使学生能够对分关系数据库的存储模式:列式存储,键值存储,文档存储,图存储等有较深理解,让学生应用理论知识,实际动手操作具体的数据库,掌握每个数据库的具体使用方式等。对应的课堂目标是G2,G3,G4。

4.2.2 教学内容

Hbase:Hbase的客户端API(基础知识和高级特性),与MapReduce的集成,架构,高级用法,集群监控,性能优化等,部署与基本应用(命令行和客户端下增删查改)。

Redis: 键管理与数据结构,数据结构的复杂度,内存管理,Redis核心、客户端和编程语言,Redis集群,部署与基本应用(命令行和客户端下增删查改)。

MongoDB:MongoDB介绍(基本数据类型,创建、更新,删除文档,查询等),设计引用(索引,特殊的索引和集合,聚合,应用程序设计等),复制(创建副本集, 副本集的组成,管理等),分片, 应用管理等,部署与基本应用(命令行和客户端下增删查改)。

Neo4j:基础概念, CQL Cypher查询语言,Neo4j等图数据库应用场景,部署与基本应用(命令行和客户端下增删查改)。

4.2.3 教学要求

本部分要掌握和理解。

5

实践教学内容与要求

6

考核方式和评分标准

6.1 考核方式和内容

本课程的考核方式包括过程考核和期末考试。其中过程考核包括课堂表现(包括出勤和参与)、习题作业和项目报告等;期末考试为闭卷笔试,考试题型包括名词解释、填空、选择、计算和论述等。

课程最终考核的评定是过程考核与期末考试的综合评定,并以此为依据进行课程目标达成情况的评价,具体如下表所示。

6.2 评分标准

课堂表现(包括出勤和参与)、习题作业、项目报告三部分的评分标准具体如表3-5所示。期末考试按照当次期末考试试卷的评分标准进行评分。

主要包含平时成绩10% +作业20% + 期末考试70%

平时成绩:课堂表现(包括出勤和参与)+回答问题;

作业:至少两种菲关系数据库的安装、部署和基本操作的使用;

期末考试:所有上课讲解的内容。

7

教材和参考书

[1]大数据存储(NoSQL). 郭旦怀. 2023年

[2]大数据存储 从SQL到NoSQL. 柳俊, 周苏. 2021年

实验大纲

1

课程基本信息

2

课程性质及课程目标

2.1 课程性质

必修。

2.2 课程目标

本课程核心就是要培养学生的动手能力以及根据具体应用场景来选择数据库管理系统。因此,本课程的目标有两个:

G1 学生要综合性地掌握Hbase,Redis,MongDB,Neo4j这些数据库的基本使用,包括单机,分布式,为分布式等部署模式,命令行的使用,API的使用。学生从这些方面掌握这些数据库的基本操作,其中这些非关系数据库的分布式部署要求较高。这些系统本身就是以分布式的形式在实际的应用场景中出现的,该这种模式务必理解和掌握。学生要通过该种分布式系统方式的部署与使用,掌握基本分布式系统知识,作为云计算的基础知识。一方面有利于应用理论知识,另一方面有利于开发自己的分布式系统。

G2 学生根据自己的实际调研,选择其中一个数据库系统来开发一个该应用场景中涉及到的数据存储模块。该课程目标是对学生的综合素质的考验与提升,既要学会在实际的工作和科研中选择合适的数据库完成数据存储的工作,同时也要提高对数据的认识,包括其结构,组织方式等。我们要处理的对象时数据,所以,以数据为中心来选择数据库管理系统,并以数据为中心来进行处理技术的选择。

3

课程目标与毕业要求指标点对应关系

4

实践教学内容与要求

NoSQL数据库是当今大数据产品中不可或缺的数据库管理工具,学习和践行NoSQL数据库对理解大数据产品具有十分重要的意义。在半结构化和非结构化数据急剧增加的今天,使用非关系数据库进行诸如此类数据的管理,一是便于对于数据的管理增加了效率,二是符合了数据结构与组织方式的需求,能够高效快速的开发出大数据产品。根据对NoSQL数据库的实践,将该门实验课程教学内容安排如下:

4.1 教学目标

通过对应用于不同领域的NoSQL的数据库使用,以及将某一NoSQL数据库应用到学生自己调研的应用场景中去,首先是让学生了解和理解了NoSQL数据库的部署和基本的应用,然后将这些实践知识应用到具体场景中,增加这些数据库管理工具的实践应用能力。

4.2 教学内容

4.2.1 Hbase的部署和客户端的使用(7学时)

Hbase是列式数据库,在Hadoop生态中有着举足轻重的重要作用。其使用zookeeper作为集群管理工具,学生要通过此实践,掌握Hbase的集群部署,以及其客户端的使用。具体如下:

(1)Hbase的集群(单机部署可选)部署(3学时)

以3个学生为一组,用学生的电脑组成一个3个节点的集群,藉此掌握NoSQL的集群部署方式,为部署其他NoSQL数据库产品的集群奠定基础。

(2)Hbase的客户端API的使用(4学时)

本部分包括两部分命令行的使用,以及以Java或Python为接口的调用。学生要能通过此实践命令行的方式管理数据库,并且能够通过命令行的方式应用(增删查改)数据库。通过Java或Python的API接口,能够以远程开放式使用数据库。了解Rest, Thrift, Avro等,对MapReduce的集成了解,要掌握集群监控的基本知识。

4.2.2 Redis的部署和客户端的使用(5学时)

Redis设计一个开源的使用C语言,遵守BSD协议,支持网络,可基于内存亦可持久化的日志型的Key-Value数据库,提供了多种API。由于其是C语言编写,并且是基于内存的,所以其又是一种内存式数据库,效率非常高。其提供了丰富了数据类型,列入列表,集合,排序集和散列等等,这使得Redis便于用来解决各种问题。

(1) Redis的集群(单机部署可选)部署(2学时)

以3个学生为一组,用学生的电脑组成一个3个节点的集群。要了解Redis的集群原理,明白Redis作为cache的原理与机制。

(2)Redis的客户端API(3学时)

学生仍然要掌握Redis的命令行的数据库管理,简单的增删查改等数据库操作。学生要掌握key的设置,内存管理等。使用Java或Python客户端进行Redis的远程操作。

4.2.3 MongoDB的部署和客户端的使用(5学时)

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为web应用提供可扩展的高性能数据存储解决方案。其支持类似JSON的BSON数据结构格式,因此可以存储复杂的数据类型。其作为文档型存储数据库,自然对存储文档也是支持非常好的。其面向集合存储,易存储对象类型的数据。所谓的“面向集合”即为数据被分组存储在数据集中,被称为一个集合。

(1) MongoDB的集群(单机部署可选)部署(2学时)

以3个学生为一组,用学生的电脑组成一个3个节点的集群。掌握MongoDB的基本集群部署方式,要了解MongDB的分片集群部署方式。

(2)MongoDB的客户端API(3学时)

学生要掌握命令行下管理和使用MongoDB,包括创建、更新、删除和查询文档,涉及引用,复制,以及分片。此外,对于MongoDB的Java或是Python客户端也要理解掌握,要学会以程序API的方式调用远程数据库进行各种操作。

4.2.4 Neo4j的部署和客户端的使用(5学时)

Neo4j是一个高性能的NoSQL图形数据库,他将结构化的数据存储在网络上而不是表。Neo4j被看作式一个高性能的图引擎,具有嵌入式,高性能,轻量级等优势,支持Cypher查询语言。其在知识图谱中应用广泛。

(1)Neo4j的安装(单机)(2学时)

以3个学生为一组,用学生的电脑组成一个3个节点的集群。了解Neo4j的基本操作。

(2)Neo4j的客户端API(3学时)

学生要了解和理解并逐步掌握Neo4j的查询语言Cypher。要通过命令行或者程序调用的方式掌握Neo4j的基本操作,基本能使用Cypher查询语言。图存储理解稍微困难一些,可对比Graph DB等这些图数据库进行学习。

4.2.5基于某一NoSQL数据库的应用查询开发(10学时)

为了掌握学生对非关系数据库的掌握程度,我们设计此环节来作为检验,以确保既定的课程目标得以实现。学生要根据自己的实际调研,选择其中一个NoSQL数据库进行程序开发,将该数据库应用到实际场景中去,既能培养学生探索能力,又能够提高学生实际应用能力。应用程序的其他部分不强制要求结合更多的工具,重点强调NoSQL数据库的使用,包括创建库,表,数据的导入(包括批量导入),库的管理,集群管理,数据的插叙使用等,深刻体会在实际应用场景中,怎样设计出符合应用需求的数据库。

5

考核方式和评分标准

5.1 考核方式和内容

本课程的考核方式包括过程考核和项目报告。其中过程考核包括课堂表现(包括出勤和参与)、习题作业等;项目报告为以其中一种非关系数据库开发一个应用系统并生产试验项目报告等。

课程最终考核的评定是过程考核与项目报告的综合评定,并以此为依据进行课程目标达成情况的评价,具体如下表所示。

5.2 评分标准

课堂表现(包括出勤和参与)、习题作业、项目报告三部分的评分标准具体如表3-5所示。期末考试按照当次期末考试试卷的评分标准进行评分。

主要包含平时成绩10% +上机20% + 期末报告70%

平时成绩:课堂表现(包括出勤和参与);

上机:四种菲关系数据库的安装、部署和基本操作的使用;

期末报告:选择其中一种非关系数据做相关应用开发。

6

教材和参考书

[1]大数据存储(NoSQL). 郭旦怀. 2023年

[2]大数据存储 从SQL到NoSQL. 柳俊, 周苏. 2021年

教学日历

参考书籍

大数据存储(NoSQL)

配数据集、课件、教学大纲、教学日历、期末试卷及答案

作者:郭旦怀

定价:59.90元

ISBN:9787302633761

出版日期:2023.09.01

在当今大数据的时代,数据是最为宝贵的资源,是社会管理、商业应用、科学研究、国防安全的决策基础。随着对数据容量、数据访问便捷性和数据安全性重视程度的提升,几乎所有的信息系统都需要使用数据库系统来组织、存储、管理数据,人们对新型数据库技术的研究和关注日益增多。同时,目前的数据库系统相关书籍主要讲解关系数据库以及NoSQL数据库,研究状况也局限于多年之前,缺少对NoSQL以及NewSQL全面系统的介绍。基于上述背景,本书主要基于新一代数据库技术,介绍以NoSQL、NewSQL数据库为代表的大数据存储的相关理论、设计思想以及应用。

本书主要内容

全书分为三部分共10章。

第一部分为大数据相关基础知识,包括第1~3章。

第1章绪论,介绍数据存储基本概念、数据存储的发展阶段、大数据基本概念以及大数据时代的数据存储关键技术。

第2章回顾数据库发展史,概括数据库发展简史,按数据库发展时间线依次介绍网状与层次数据库、关系数据库、NoSQL、NewSQL,随后介绍中国数据库的发展历史,最后展望下一代数据库的关键技术。

第3章介绍数据库的基本原理、设计原则以及评价标准。

第二部分为NoSQL基础与应用,包括第4~8章。

第4章介绍NoSQL基本原理以及键值数据库、列族数据库、文档数据库及图数据库4类NoSQL数据库的设计思想。

第5章介绍键值数据库实例:Redis与DynamoDB,包括对Redis与DynamoDB基础知识、关键技术或工作原理的介绍以及Redis的安装实践。

第6章介绍列族数据库实例:HBase与Cassandra,包括对HBase与Cassandra基础知识、关键技术或工作原理的介绍以及安装实践。

第7章介绍文档数据库实例:MongoDB与CouchDB,包括对MongoDB与CouchDB基础知识、关键技术或工作原理的介绍以及安装实践。

第8章介绍图数据库实例:Neo4j与ArangoDB,包括对Neo4j与ArangoDB基础知识、关键技术或工作原理的介绍以及安装实践。

第三部分为NewSQL基础与应用,包括第9、10章。

第9章介绍NewSQL数据库的基本原理、分类以及设计思想。

第10章介绍3种典型的NewSQL数据库:TiDB、Vitess和CockroachDB,包括对这3种典型NewSQL数据库基础知识、工作原理的介绍以及安装实践。

本书特色

(1) 问题驱动,由浅入深。

本书通过分析大数据存储涉及的核心问题,由浅入深、逐步地对数据库的重要概念及原理进行讲解与探究,为读者更好地掌握大数据存储的原理提供便利和支持。

(2) 注重原理,抓住前沿。

本书重点从原理讲述不同数据库的设计思想,结合实例帮助学生理解不同数据库的特点,同时由于本书涉及的内容更新较快,本书尽量将当前研究热点、研究方向也纳入进来。

(3) 风格简洁,使用方便。

本书风格简洁明快,对于非重点的内容不做长篇论述,以便读者在学习过程中明确内容之间的逻辑关系,更好地掌握大数据存储技术的内容。

配套资源

为便于教与学,本书配有数据集、教学课件、教学大纲、教学日历、期末试卷及答案、软件安装包。

读者对象

本书主要面向大数据及相关专业的本科生和计算机专业的研究生,也包括广大从事大数据存储与管理等领域的专业人员、高等院校教师及相关领域的科研人员。

目录

向上滑动阅览

第一部分大数据相关基础知识

第1章绪论

1.1数据存储基本概念

1.1.1数据存储的定义

1.1.2数据存储介质

1.2数据存储的发展阶段

1.2.1人工管理阶段

1.2.2文件系统阶段

1.2.3数据库系统阶段

1.3大数据基本概念

1.3.1大数据1.0阶段

1.3.2大数据2.0阶段

1.3.3大数据3.0阶段

1.4大数据时代的数据存储

1.4.1大数据存储的潜力

1.4.2大数据存储的社会和经济影响

1.4.3大数据存储关键技术

1.4.4大数据存储的未来需求和新兴范式

思考题

第2章数据库发展史

2.1数据库发展简史

2.2网状与层次数据库

2.3关系数据库

2.3.1关系数据库的历史

2.3.2关系模型

2.3.3关系操作

2.3.4关系完整性

2.3.5关系规范化理论

2.3.6关系数据库的优缺点

2.3.7关系数据库的种类及应用

2.4NoSQL

2.4.1NoSQL数据库的由来

2.4.2NoSQL数据库的发展

2.4.3NoSQL数据库的特点

2.4.4NoSQL数据库的分类

2.5NewSQL

2.5.1NoSQL谢幕,NewSQL登场

2.5.2NewSQL数据库的发展

2.5.3NewSQL分类与特征

2.5.4传统关系数据库、NoSQL以及NewSQL的对比

2.6中国数据库的发展历史

2.6.1“5+4+N”格局

2.6.2国产数据库案例

2.7下一代数据库

思考题

第3章数据库基本原理

3.1数据库的基本原理

3.1.1关系数据库的基本原理

3.1.2NoSQL与NewSQL的基本原理

3.2数据库的设计原则

3.2.1关系数据库的设计原则

3.2.2NoSQL的设计原则

3.2.3NewSQL的设计原则

3.3数据库的评价标准

3.3.1吞吐量

3.3.2数据的一致性

3.3.3可用性

3.3.4并发性

3.3.5可扩展性

思考题

第二部分NoSQL基础与应用

第4章NoSQL

4.1NoSQL基本原理

4.1.1关系数据库的重要机制回顾

4.1.2分布式数据管理的特点

4.1.3分布式系统的一致性问题

4.1.4NoSQL的常见模式

4.1.5NoSQL相关技术

4.2NoSQL设计思想

4.2.1键值数据库设计思想

4.2.2列族数据库设计思想

4.2.3文档数据库设计思想

4.2.4图数据库设计思想

思考题

第5章键值数据库实例:Redis与DynamoDB

5.1Redis

5.1.1Redis 介绍

5.1.2Redis 集群模式

5.1.3Redis的持久化机制

5.1.4Redis缓存穿透、击穿、雪崩

5.1.5Redis的安装与使用

5.2DynamoDB

5.2.1DynamoDB介绍

5.2.2DynamoDB核心组件

5.2.3DynamoDB API

5.2.4DynamoDB工作原理

思考题

第6章列族数据库实例:HBase与Cassandra

6.1HBase

6.1.1HBase介绍

6.1.2HBase的实现原理

6.1.3HBase的运行机制

6.1.4HBase的安装与使用

6.2Cassandra

6.2.1Cassandra介绍

6.2.2Cassandra架构

6.2.3Cassandra 查询语言

6.2.4Cassandra的安装与使用

思考题

第7章文档数据库实例:MongoDB与CouchDB

7.1MongoDB

7.1.1MongoDB介绍

7.1.2MongoDB关键技术

7.1.3MongoDB的安装与使用

7.2CouchDB

7.2.1CouchDB介绍

7.2.2CouchDB技术

7.2.3CouchBase

7.2.4CouchDB的安装与使用

思考题

第8章图数据库实例:Neo4j与ArangoDB

8.1Neo4j

8.1.1Neo4j介绍

8.1.2Neo4j图查询语言——Cypher

8.1.3Neo4j的安装与使用

8.2ArangoDB

8.2.1ArangoDB介绍

8.2.2ArangoDB技术原理

8.2.3ArangoDB的安装与使用

思考题

第三部分NewSQL基础与应用

第9章NewSQL

9.1NewSQL基本原理

9.1.1NewSQL简介

9.1.2NewSQL的技术特征

9.1.3NewSQL、NoSQL以及传统关系数据库的对比

9.2NewSQL的分类及设计思想

9.2.1新型架构

9.2.2透明的数据分片中间件

9.2.3DBaaS

9.2.4NewSQL实例及特点对比

思考题

第10章NewSQL实例:TiDB、Vitess以及CockroachDB

10.1TiDB

10.1.1TiDB介绍

10.1.2TiDB架构

10.1.3TiDB的安装与使用

10.2Vitess

10.2.1Vitess介绍

10.2.2Vitess原理

10.2.3Vitess的安装与使用

10.3CockroachDB

10.3.1CockroachDB介绍

10.3.2CockroachDB架构

10.3.3CockroachDB的安装与使用

思考题

参考文献

精彩样章

向上滑动阅览

在公众号书圈后台回复【9787302633990】,下载本书配套的教学资源

单击页面下方【阅读原文】,订阅【教学大纲】栏目返回搜狐,查看更多

责任编辑:

相关标签:

发表评论:

评论记录:

未查询到任何数据!