《精通Tableau商业数据分析与可视化》之连接MongoDB

5.3.1  MongoDB简介

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。

MongoDB是属于NoSql中的基于分布式文件存储的文档型数据库。NoSql,Not only Sql,意为“不仅仅是sql”,泛指非关系型的数据库。关系型数据库中,表都是存储格式化结构的数据,每个元组(可以理解为二维表中的一行,在数据库中经常被称为记录)字段的组成都是一样的,即使不是每个元组都需要所有的字段,但数据库会为每个元组都分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系数据库性能瓶颈的一个因素。

MongoDB由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson(是一种类json的一种二进制形式的存储格式,简称Binary JSON)格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON 对象。字段值可以包含其他文档,数组及文档数组,如图5-34所示。

http://www.runoob.com/wp-content/uploads/2013/10/crud-annotated-document.png

图5-34  MongoDB数据存储格式

MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身,适用于以下场景:

1)网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

2)缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。

3)大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。

4)高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库,Mongo的路线图中已经包含对MapReduce引擎的内置支持。

5)用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。

5.3.2  MongoDB安装与配置

先登录MongoDB的官方下载地址:https://www.mongodb.com/download-center#community 下载安装包。现在mongod已经更新到4.x版本,在4.x版本中,不要再试图使用自定义安装。我们选择版本为4.0.6和Windows 64 bit系统,包可以选择MSI或ZIP,MSI是安装程序,ZIP是压缩包,如图5-35所示。

图5-35  MongoDB下载页面

安装没什么难度,如果是用MSI的话,这一步要选custom才能选择安装位置,complete默认安装在C盘。由于我装的是4.0.6,在安装的时候就自动安装了windows服务,检查一下服务里,有没有这个就行了,如果有,就不需要安装了,如图5-36所示。

图5-36  核查MongoDB服务

然后cmd命令行模式,cd到mongodb安装目录的bin目录下,输入mongo进入mongo命令模式,如图5-37所示,说明服务已启动,可以正常运行了,ctrl+c退出mongo命令模式。

图5-37  MongoDB服务是否启动

随后是配置环境变量,这个影响到我们是否可以在任意位置进入mongo命令模式,如果没有配置环境变量,就只能先cd到mongo安装目录下的bin里,才能进入mongo命令模式,具体可以参考相应的资料,这里我们不再做介绍。

5.3.3  连接MongoDB步骤

要使Tableau能连上MongoDB数据库,需要如下的三个条件,一个都不能少:

(1)开启MongoDB服务

保证本地的MongoDB服务的开启的,鼠标点击计算机右键—属性即可查看MongoDB服务是否开启,如图5-38所示。

https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1168287583,1798468022&fm=173&app=25&f=JPEG?w=640&h=457&s=4512C532010FF0EE4EE1D5CE0200E0B3

图5-38  开启MongoDB服务

(2)安装MongoDB连接器

连接前需要下载和安装MongoDB的连接器,MongoDB Connector for BI下载地址:https://www.MongoDB.com/download-center#bi-connector,如图5-39所示。

https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1153746445,1652912994&fm=173&app=25&f=JPEG?w=640&h=297&s=28B2E51058A8C409605554C90100C0F1

图5-39  下载MongoDB连接器

安装之后,Connector for BI的bin文件目录下会多出4个文件:libeay32.dll、mongodrdl.exe、mongosqld.exe、ssleay32.dll。然后使用mongodrdl.exe创建一个schema文件,shift+鼠标右键,选择在此处打开命令模式,输入以下命令:mongodrdl -d dbname -c tablename -o schema.drdl,其中dbname是需要连接的数据库名,tablename是需要连接的集合名,schema.drdl是输出的文件名,后缀为drdl。这个时候就会多出一个schema.drdl文件。

最后,使用mongosqld.exe开启MongoDB Connector for BI服务,同样在当前目录下,执行命令:mongosqld.exe --schema schema.drdl,如图5-40所示,如果没有报错,就说明MongoDB Connector for BI配置完成了,否则请检查具体操作过程是否有误。

https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1563604120,353471428&fm=173&app=25&f=JPEG?w=640&h=418&s=A5D2EA2013ACBAEC0E59D40F000050C3

图5-40  开启MongoDB Connector for BI服务

(3)安装ODBC连接器

安装好了MongoDB Connector for BI还不够,还要安装mysql-connector-odbc下载地址:https://dev.mysql.com/downloads/file/?id=477064,把这个下载安装好之后,不需要进行额外的配置。然后终于可以使用Tableau连接MongoDB数据库了,如图5-41所示。

https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1744238272,214380136&fm=173&app=25&f=JPG?w=429&h=350&s=15B87C32494F614910F481DA030080B2  

图5-41  MongoDB BI连接器

更多内容请参阅《精通Tableau商业数据分析与可视化》一书的相关章节。

发布了32 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/shanghaiwren/article/details/103799785