Board logo

标题: IBM dashDB Local 从入门到精通,第 2 部分 IBM 私有云数据仓库解决方案介绍(5) [打印本页]

作者: look_w    时间: 2017-12-18 10:15     标题: IBM dashDB Local 从入门到精通,第 2 部分 IBM 私有云数据仓库解决方案介绍(5)

dashDB Local 支持 R 及 SPARK 分析dashDB Local 不仅包含了丰富的 Netezza 库内分析函数,同时还内置了开源的 R 及 Apache Spark 分析功能,再加上 BLU        的列式存储、动态内存加速技术,不仅可以提供强大的分析能力,而且分析效率很高,可以充分满足目前用户数据分析的需求。
用户使用 dashDB Local 进行数据分析主要可以通过以下两种途径:
如下图所示,dashDB Local 支持目前主流的数据分析、机器学习、数据挖掘工具,包括经典的 SPSS、SAS 等数据挖掘工具,也支持现在流行的数据科学家分析工具 Jupyter        Notebook、R Studio,也支持基于 SaaS 的数据认知工具 Watson Analytics。从接口层面,dashDB Local 可以通过 SQL API 来调用        Netezza 库内分析函数在 dashDB Local 数据节点中并行运算;也可以使用 Scala、Python、Java、R 语言调用 Spark API 或调用        spark-submit.sh 命令在 Spark 集群的 worker 节点上并行运算。
图            10. dashDB Local 对 R 及 Apache Spark 的支持dashDB Local 对 R 的支持
dashDB Local 对 R 的支持同 dashDB Managed 类似,提供了 ibmdbR 库函数,任何环境的 R 程序都可以将 SQL 及 Netezza 库内分析函数        INZA 下压到 dashDB 数据库中运行,如下图所示,我们可以通过多种形式来支持 R 程序:
图 11. dashDB            Local 对 R 的支持dashDB Local Spark          的集成
dashDB Local 提供了内置的 Apache Spark 运行环境,它也是业界第一个将 Apache Spark 运行环境内置到数据库中,如下图所示:
图 12. dashDB Local 对            Apache Spark 的支持dashDB Local 现在是一个混合分析环境,即包含 dashDB 关系分析引擎,同时包含 Spark 内存分析引擎。用户可以设置将 Spark MPP 集群成员同 dashDB        集群成员分布在相同数据分区上,并通过共享内存快速交换数据。这样,用户就可以使用 Scala 或 Python 在 Spark 上开发、部署应用程序,并同 dashDB        数据库中的结构化数据进行交互。并且,用户通过 SQL 或 Spark 提交的查询还可以利用 dashDB Local 库内分析能力。
dashDB Local 提供了丰富的 Spark 集成能力,如下图所示:
图 13. dashDB Local 丰富的            Apache Spark 的接口方式数据科学家可以使用 Jupyter Notebook 交互式探索 dashDB Local 中的数据,调用 Spark MLlib 进行数据分析;将开发的 Spark 应用程序部署到        dashDB Local 中,并可以通过各种接口来访问;将 Spark MLlib 算法包装为存储过程,可以通过 SQL 接口来调用;使用 Spark 程序实现大规模数据抽取、转换的        ELT 功能;使用 Spark 程序实现实时、连续数据加载功能;使用 Spark 抽取、访问多种形式的数据,如云上的数据、对象存储数据、Parquet 格式的数据;通过 REST        API 部署、运行 Python 数据等。由此可见,dashDB Local 支持非常全面的 Spark 分析能力。
dashDB Local 的维护我们知道,dashDB Local 采用 Docker 容器技术进行打包、部署,容器内 dashDB Local 软件栈同外部的主机系统相互独立,因此,在 dashDB Local        管理、运维方面,需要用户与 IBM 共同参与完成。
用户负责运维 Docker 主机系统,主要包括:
IBM 提供 dashDB Local Docker 容器,主要包括:
dashDB Local 的升级
dashDB Local 应用容器不保存应用数据,它是无状态的、不可变的,我们可以通过执行下述命令更新新版本或完成 dashDB Local 升级:
1
2
3
4
5
6
$docker pull ibmdashdb/linux:latest
$docker stop dashDB
$docker rm dashDB (or docker rename if you plan to revert rapidly )
$docker run -d -it --net=host --privileged=true --name=dashDB -v
/mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0/
ibmdashdb/linux:latest




dashDB Local 应用数据保存在用户提供的集群文件系统上,通常我们创建一个/mnt/clusterfs 文件目录。dashDB        实例及数据库目录(/mnt/bludata0)、元数据(/mnt/blumeta0)通过 docker run 命令的-v /mnt/clusterfs:/mnt/bludata0        -v /mnt/clusterfs :/mnt/blumeta0/选项指定保存在用户提供的/mnt/clusterfs 集群文件系统上。dashDB Local        应用数据保存在外部的集群文件系统上,通常保持不变,因此,dashDB Local 迁移、升级会非常简单。如下图所示:
图 14. dashDB Local 的升级应用容器运行当前版本,数据容器保存在集群文件系统上,如 GPFS、GFS2、VxFS、CXFS。由于应用容器同存储是分开的,当 dashDB Local 升级时,我们只需要执行        docker stop dashDB 命令停止当前版本容器,运行 docker rm dashDB 删除该容器并运行 docker run 命令创建新版本容器即可。
dashDB Local 的备份、恢复及灾备 DR
我们可以依照以下步骤来完成 dashDB Local 的备份及恢复操作:
我们可以使用存储镜像技术来实现 dashDB Local 灾备 DR。通过 Flashcopy 技术同步生产系统/mnt/clusterfs        文件系统数据到灾备系统,当发生灾难时,灾备主机执行接管。当然,我们需要做一些开发工作来实现接管自动化。
另外,该技术也可以帮助我们实现集群克隆(cloning clusters),比如说我们需要创建开发、测试环境并需要预装生产数据。
Data Server Manager for dashDB LocaldashDB Local Console 控制台是 dashDB Local 功能强大的、基于浏览器的管理、监控、性能优化工具,它基于 IBM DSM enterprise        并进行了功能扩展,同 dashDB Managed 管理控制台使用相同的 look, feel and interaction。dashDB Local Console        主要包括以下几个功能组件:
Administration
SQL Editor
Monitoring
结论通过上述介绍,我们对 IBM dashDB Local 的特点、优势、使用场景以及体系结构、扩展性、高可用性、同 R 及 Spark 分析集成、dashDB Local        管理、运维做了一个比较详尽的介绍。dashDB Local 采用目前比较热门的 Docker 容器技术进行部署,安装简洁、灵活,既可以在自己的笔记本上部署,也可以在 Linux        集群环境下部署,大家可以自己部署一个 IBM dashDB Local 环境来更好的了解 IBM 云数据仓库解决方案。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0