一、引言
基于大数据技术构建数据仓库平台,源于大数据技术本身的不成熟和普及度问题,以及辅助工具的缺失,注定了其实施过程与传统数据仓库的差异性,和更大的实施难度。本文针对大数据技术应用与数据仓库类项目需求分析阶段,需要完成的主要工作基于用户需求分析说明书的文档结构进行目录式展现。如需了解更深层的细节,可以做专项技术交流和咨询服务。
一、项目范围的界定
没有明确项目边界的项目是一个不可控的项目,如果项目规划阶段就没有界定明确的项目范围,项目实施过程过程中必将陷入万劫不复的境地,慎重慎重。基于大数据基于的数据仓库项目,面临技术和人员等方面的问题,主要包括下面几个方面:
(1)大数据基础平台的成熟度尚不完善:主要是指基于Hive+Hadoop技术的缺陷,需要技术在逐步的完善中;
(2)大数据辅助工具化的缺失:主要针对数据定义,数据处理以及数据可视化管理工具的欠缺;
(3)大数据开发和管理人员技术能力的不成熟:熟悉大数据相关平台管理和开发技术的人员的不足和技术层次参差不齐;
正是基于以上原因的考虑,导致大数据环境下的数据仓库的实施相对于成熟的传统关系型数据库模式,将会面临更大的压力和更多的需要考虑的问题。项目边界的界定主要需要考虑一下问题:
(1)业务边界:都有哪些业务系统的数据需要接入到数据仓库平台。
(2)数据边界:都有哪些业务数据需要接入数据仓库平台,具体的包括哪些表,表结构如何,表间关系如何(区别于传统模式)。
(3)功能边界:提供哪些功能,不提供哪些功能,必须明确界定,该部分详见需求分析;
二、关键业务流程分析
业务流程主要考虑包括系统间数据交互的流程、传输模式和针对大数据仓库本身涉及相关数据处理的流程两大部分。系统间的数据交互流程和模式,决定了你的数据仓库平台的架构和设计,因此必须进行专项分析。数据仓库本身需要考虑的问题包括以下几个方面,在此制作目录结构的展示:
2.1 历史数据导入流程
2.2 增量数据导入流程
2.3 数据完整性校验流程
2.4 数据批量导出流程
2.5 数据批量查询流程
三、功能性需求-只做目录结构的展示
3.1.历史数据导入
3.1.1 XX系统数据
3.1.1.1 数据清单... 3
3.1.1.2 关联规则... 3
3.1.1.3 界面... 3
3.1.1.4 输入输出... 3
3.1.1.5 处理逻辑... 3
3.1.1.6 异常处理... 3
3.2 增量数据导入
3.3 数据校验
3.4 数据导出
3.5 数据查询
四、非功能性需求
4.1 性能
4.2 安全性
4.3 可用性
...
五、接口需求
5.1 数据查询接口
5.2 批量任务管理接口
5.3 数据导出接口
六、集群需求
大数据技术自身的特点,决定项目的实施,必须考虑单独的开发环境和生产环境,否则在后续的项目实施过程中,必将面测试不充分和性能无法测试的窘境,因此前期需求分析阶段,必须根据数据规模和性能需求,构建单独的开发环境和生产环境。
6.1开发环境
6.1.1 查询服务器
6.1.2 命名服务器
6.1.3 数据服务器
6.2 生产环境
6.2.1 查询服务器
6.2.2 命名服务器
6.2.3 数据服务器
七、其他
...
八、写在后面的化
其实公共数据平台的产品化设计的思想一直影响着我的思维模式,作为数据仓库,其实更多的是考虑规范的应用接口,工具化,但是现实情况确实逼良为娼,无奈之举。实施过程中即要考虑应用的开发,同时还需要考虑工具化的提炼,也许这才是大数据落地实施真正的难度。提供统一的数据数据导入工具,数据可视化工具、数据校验工具、数据导出工具和公共的数据查询接口服务管理工具才是大数据作为数据仓库发展的方向。也许这就是探索者的苦恼吧。未完待续....