第6章 R与非关系型数据库

在第5章中,我们展示了R与传统关系型SQL数据库的良好合作。在大多数业务场景中,特别是处理标准的二维矩形数据,依然使用着关系型数据库。然而最近,一系列新的非关系型数据库或者说NoSQL数据库已经快速涌现,主要是为了响应不断增长的应用程序生态系统的需求,收集和处理不同类型的数据,这类数据更灵活并且没有固定格式。在物联网动态发展的这个时代,这些数据库特别引人瞩目。许多NoSQL数据库的增长,特别是开放源代码数据库的发展,也受到极度活跃的社区开发人员的热烈支持,其中许多是同时使用R的用户。在本章中,我们将引导你学习许多教程,以实现以下目标。

  • 了解数据模型,基本的NoSQL命令以及MongoDB聚合管道框架。
  • 在Linux Ubuntu虚拟机上安装并运行MongoDB。
  • 连接到远程EC2的MongoDB上并使用R的rmongodb、RMongo和mongolite包处理数据(包括复杂的NoSQL查询)。

我们将首先介绍什么是NoSQL数据库,以及相关使用案例,然后我们将介绍如何启动和操作一个非常流行的名为MongoDB的非关系型数据库系统。在本章的末尾,我们将简单介绍如何安装和连接HBase。

我们已经在第5章了解了传统的关系型数据库管理系统(Relational Database Management Systems,RDBMS)的基本特征和特点。我们还很清楚它的局限性和具体要求,例如它需要预定义好数据格式,可垂直拓展,这导致其数据增长需要不断对硬件进行升级,并且它们通常不支持非结构化或分层数据。

非关系型或者说NoSQL数据库尝试填补这些差距,并在一些方面做得更加专业。在6.1.1中我们将简单介绍几个NoSQL数据库及其相关用例。 ...

Get R大数据分析实用指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.