前言

随着近年来数据科学的发展,人们记录信息的方式和量级不断地发生改变,数据的应用场景产生了重大变革,传统关系数据库的缺陷逐渐暴露。通过打破关系数据库的模式,构建出的NoSQL数据库结构简单,且具有分布式、易扩展的特点。这种高效便捷的新型数据库逐渐在互联网、电信、金融等行业得到广泛的应用,和关系数据库形成了一种技术上的互补关系。
本书主要内容
本书将NoSQL数据库基础理论和实际案例相结合,适合初学者学习。读者可以在短时间内学习本书中介绍的所有数据库类型。
作为一本关于数据库的书籍,本书共有13章。其中,前9章为理论知识的介绍,第10~13章为4个实际项目案例。
第1章主要阐述数据库系统的基础知识,首先介绍了关系数据库的发展历史和主要功能,通过关系数据库的优缺点引出NoSQL数据库的发展及其特色;接着介绍了四种常见的NoSQL数据库分类;最后对NewSQL进行了简单介绍。
第2章针对NoSQL数据库的基本原理进行了详细介绍。主要介绍了其分布式数据管理特色的实现方式和分布式系统的原理和特性。
第3章主要介绍文档数据库和MongoDB的相关内容。本章首先阐述了文档存储的相关概念;之后讲解了MongoDB的安装配置;最后讲解了MongoDB中的基础操作和通过Java和Python语言访问MongoDB数据库的操作。
第4章通过对MongoDB分片和副本集概念的阐述进一步介绍了MongoDB数据库存储文件的方式。首先详细介绍了副本集概念及其安装配置方式,之后着重阐述了副本集运行的机制。后半部分讲解了分片概念和分片集群的部署方式。
第5章介绍了MongoDB GridFS的相关内容。首先对GridFS基础概念进行了概述,之后描述了其存储结构,最后分别描述了使用Shell、Java和Python操作MongoDB GridFS的基本方法。
第6章主要介绍列族数据库与HBase的相关知识。首先介绍了HBase的发展历史和其与其他数据库的对比,之后简单阐述了HBase的组件、功能和数据模型,最后详细介绍了HBase的基本操作和通过Java访问HBase的操作。
第7章是HBase数据库的进阶介绍,通过讲解其中的水平分区原理、Region管理和HBase集群的基础知识,进一步介绍了HBase在面对大量数据时的高可用性。
第8章主要介绍键值数据库与Redis。首先介绍了Redis数据库的特性、数据结构和应用场景,同时描述了其安装与配置的方式,最后讲解了使用Java操作Redis数据库的方式。
第9章主要介绍图数据库与Neo4j。首先介绍了图论和图数据库的理论知识,之后讲解了Neo4j数据库的应用场景、安装配置、数据模型等,最后讲解了Cypher语言的使用。
第10~13章分别介绍了使用MongoDB数据库、HBase数据库、Redis数据库和Neo4j数据库的四个案例。
本书特色
(1) 以案例为导向,对基础理论知识点在实际中的应用进行详细讲解。
(2) 实战案例丰富,涵盖4个完整项目案例。
(3) 代码详尽,避免对API的形式展示,规避重复代码。
(4) 理论阐述系统全面。
(5) 语言简明易懂,由浅入深。
(6) 各个数据库相对独立,数学原理相对容易理解。
资源下载提示
课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。
素材(源代码)等资源: 扫描目录页的二维码下载。
视频资源: 扫描封底刮刮卡中的二维码,再扫描书中相应章节中的二维码可以在线学习。
读者对象
本书主要面向广大从事软件工程或数据处理的专业人员,从事高等教育的专任教师,高等院校的在读学生及相关领域的广大科研人员。
本书的编者为吕云翔、郭婉茹、余志浩、贺祺、郭宇光,曾洪立进行了部分内容的编写和素材整理及配套资源制作等。
本书的编写参考了诸多相关资料,在此向资料的作者表示衷心的感谢。
限于个人水平和时间仓促,书中难免存在疏漏之处,欢迎读者批评指正。

作者2021年4月随书资源