随着云计算、物联网等新一代技术的发展,在移动计算、社交网络等业务的推动下,大数据技术产生并迅速地建立起生态体系,NoSQL成为了处理大数据必须掌握的热门核心技术之一。《NoSQL数据库技术与应用》正是在这种情况下应用而生。本书由浅入深,系统全面地介绍了NoSQL数据库的理论、技术与实践操作。全书共10章,其中第1章主要是带领大家简单认识NoSQL数据库;第2章主要讲解文档存储数据库MongoDB相关知识;第3章主要MongoDB数据库操作相关知识;第4章主要讲解MongoDB副本集相关知识;第5章主要讲解MongoDB分片相关知识;第6章主要讲解MongoDB GridFS相关知识;第7章主要讲解键值对存储数据库相关知识;第8章主要讲解列族存储数据库HBase相关知识;第9章主要讲解图形存储数据库Neo4j相关知识;第10章主要是利用NoSQL、Hadoop、Spark等技术开发实战案例,即综合案例——二手房交易数据分析系统,使得读者可以掌握大数据技术和NoSQL技术,从而便于后续能够很好地适应企业开发的技术需要。
本书附有配套视频、源代码、习题、教学设计、教学PPT、教学大纲等资源。同时,为了帮助初学者更好地学习本书中的内容,还提供了在线答疑,欢迎读者关注。
本书讲解了NoSQL技术的理论知识和实际应用,可作为高等院校本、专科计算机相关专业,信息管理等相关专业的大数据课程教材,也可供相关技术人员参考,是一本适合广大计算机编程爱好者的优秀读物。
本教材主要有以下特色:
特色1:知识全面,结构清晰
详细详解了多种NoSQL数据库,包括MongoDB、Redis、HBase和Neo4j。在进行知识讲解时,不仅介绍数据库的安装部署,还演示数据库的基本操作和程序开发,使读者从理论到实践全方位掌握NoSQL数据库。
特色2:学习目标清晰、随堂练习题丰富
每章开头都配有学习目标,章节末尾提供一套习题供读者检测学习效果。
特色3:提供真实大型数据清洗项目
本书最后一章讲解了具有真实场景的二手房交易数据分析系统的全过程,将NoSQL数据库与大数据应用和Web应用相结合使用,让读者迅速积累实际项目经验,为未来的工作奠定理论和实践基础。
特色4:教材、资源、服务三合一,高效学习
本书配套丰富的教学资源供广大师生使用,另外,不管您是老师还是学生,使用我们的教材、资源过程中,遇到任何问题,都可以联系我们,我们的服务是贴心、专业的。
第1章 初识NoSQL 1.1 大数据时代对数据存储的挑战 1.2 认识NoSQL 1.2.1 NoSQL简介 1.2.2 NoSQL特点 1.2.3 关系型数据库与非关系型数据库的区别 1.3 NoSQL基础理论 1.3.1 CAP原则 1.3.2 BASE理论 1.3.3 最终一致性 1.4 NoSQL数据库分类 1.4.1 键值对存储数据库 1.4.2 文档存储数据库 1.4.3 列式存储数据库 1.4.4 图形存储数据库 1.4.5 NoSQL数据库的比较 1.5 本章小结 1.6 课后习题 第2章 文档存储数据库MongoDB 2.1 MongoDB概述 2.1.1 MongoDB的发展历程 2.1.2 MongoDB的简介 2.1.3 MongoDB的优势 2.2 MongoDB体系结构 2.3 MongoDB数据类型 2.4 MongoDB的使用规范 2.5 本章小结 2.6 课后习题 第3章 MongoDB数据库操作 3.1 MongoDB部署 3.1.1 基于Windows平台 3.1.2 基于Linux平台 3.2 数据库操作 3.2.1 新建数据库 3.2.2 查看数据库 3.2.3 删除数据库 3.3 集合操作 3.3.1 创建集合 3.3.2 删除集合 3.4 文档的插入、更新与删除操作 3.4.1 文档插入 3.4.2 文档更新 3.4.3 文档删除 3.5 文档简单查询 3.5.1 查询所有文档 3.5.2 按条件查询文档 3.5.3 按特定类型查询文档 3.6 聚合操作 3.6.1 聚合管道操作 3.6.2 Map-Reduce操作 3.7 使用索引优化查询 3.7.1 索引概述 3.7.2 索引操作 3.8 使用Java操作MongoDB 3.8.1 搭建Java环境 3.8.2 基于Java API操作MongoDB 3.9 使用Python操作MongoDB 3.9.1 搭建Python环境 3.9.2 基于Python API操作MongoDB 3.10 使用Robo 3T操作MongoDB 3.10.1 Robo 3T工具的下载安装 3.10.2 基于Robo 3T操作MongoDB 3.11 安全与访问控制 3.11.1 用户访问控制 3.11.2 用户管理操作 3.12 本章小结 3.13 课后习题 第4章 MongoDB副本集 4.1 副本集概述 4.2 副本集成员 4.3 部署副本集 4.3.1 环境准备 4.3.2 副本集的安装与启动 4.3.3 副本集的初始化 4.4 副本集操作 4.4.1 查看副本集成员状态 4.4.2 同步副本文档 4.4.3 故障转移 4.4.4 配置副本集成员 4.4.5 安全认证 4.5 副本集相关机制 4.5.1 同步机制 4.5.2 选举机制 4.5.3 心跳检测机制 4.6 本章小结 4.7 课后习题 第5章 MongoDB分片 5.1 分片概述 5.2 分片策略 5.3 分片集群架构 5.4 部署分片集群 5.4.1 环境准备 5.4.2 部署MongoDB 5.4.3 部署Config Server 5.4.4 部署Shard 5.4.5 部署mongos 5.4.6 启动分片功能 5.5 分片的基本操作 5.6 本章小结 5.7 课后习题 第6章 MongoDB GridFS 6.1 GridFS概述 6.2 GridFS存储结构 6.3 GridFS基础操作 6.3.1 使用Shell操作MongoDB GridFS 6.3.2 使用Java操作MongoDB GridFS 6.3.3 使用Python操作MongoDB GridFS 6.4 本章小结 6.5 课后习题 第7章 键值对存储数据库Redis 7.1 Redis的概述 7.1.1 Redis简介 7.1.2 Redis特点 7.1.3 Redis应用场景 7.2 Redis支持的数据结构 7.3 Redis的部署 7.3.1 基于Windows平台 7.3.2 基于Linux平台 7.4 使用redis-cli操作Redis 7.4.1 操作键 7.4.2 操作字符串 7.4.3 操作列表 7.4.4 操作集合 7.4.5 操作散列 7.4.6 操作有序集合 7.5 使用Java操作Redis 7.5.1 环境搭建 7.5.2 操作键 7.5.3 操作字符串 7.5.4 操作列表 7.5.5 操作集合 7.5.6 操作散列 7.5.7 操作有序集合 7.6 本章小结 7.7 课后习题 第8章 列式存储数据库HBase 8.1 HBase的概述 8.2 HBase的数据模型 8.3 HBase的架构 8.4 HBase的部署 8.5 HBase的基本操作 8.5.1 HBase的Shell操作 8.5.2 HBase的Java API操作 8.6 本章小结 8.7 课后习题 第9章 图形存储数据库Neo4j 9.1 Neo4j概述 9.1.1 Neo4j简介 9.1.2 Neo4j特点 9.1.3 Neo4j应用场景 9.2 Neo4j的数据模型 9.3 Neo4j的部署 9.3.1 基于Windows平台 9.3.2 基于Linux平台 9.4 Neo4j的操作 9.4.1 Neo4j的Cypher操作 9.4.2 Neo4j的Java API操作 9.5 本章小结 9.6 课后习题 第10章 综合案例-二手房交易数据分析 10.1 系统概述 10.1.1 系统背景介绍 10.1.2 系统架构设计 10.1.3 系统预览 10.2 Spark计算框架 10.2.1 Spark简介 10.2.2 Spark部署与启动 10.3 模块开发-构建项目结构 10.4 模块开发-数据采集 10.4.1 WebMagic简介 10.4.2 分析网页数据结构 10.4.3 实现网络数据采集 10.4.4 存储网络采集数据 10.5 模块开发-数据分析 10.6 模块开发-数据展示 10.6.1 实现数据展示功能 10.6.2 系统功能模块展示 10.7 本章小结