阿里云上基于SAP HANA One的数据仓库、BI系统搭建

规划

6c63352b754e6d86882972a5493f1a5eb09130a6 

BI系统经典架构)

BI系统经典架构,由数据源层、数据仓库层、数据展现层构成,数据源层提供基础数据,数据仓库层存放各种聚合数据,数据展现层按业务场景展示数据。此处的数据仓库层,采用数据分层的设计理念,相对来说实时计算复杂度要求不高的数据放到开源数据库中(如MySQL),实时计算复杂度要求高的数据放到高性能数据库中(如SAP HANA One)。

注:数据仓库层采用数据分层,主要是基于成本考虑。阿里云上的SAP HANA One 64G版,软件每月要4000多大洋,再加上ECS费用,每月就8000多啦。且HANA One64G容量,远远不够。

实现

2.1 数据源

数据分析基础数据来源,系统支持多种数据来源,包括外部数据文件(如ExcelTXTXML等),常用数据库(如OracleMySQLSQL ServerDB2等),其它JDBCODBCJNDI数据源,也支持把Hadoop HDFS中的文件作为数据源,甚至一些常用软件系统(如SAP ERPSASSalesforce)直接作为数据源。

2.2 ETL

采用开源软件Kettle作为ETL工具,从数据源抽取原始数据,做数据转换后导入数据模型。数据抽取周期,根据实际需求从几分钟到月不等。实际应用中,最短数据抽取周期我们曾经到30秒,但这种情况对数据源性能压力较大。幸好HANASDI,通过SDI建虚拟表,直接访问数据源

2.3 数据建模

直接用HANA计算视图建模,建模基础数据来自HANA One、开源聚合数据层(如MySQL)、甚至直接是业务数据表(业务数据表做读写分离,从只读表中取数)。为实现这种跨系统、跨数据库建模,采用了HANA的虚拟表功能(借助SDISDI真是个好东西)。

2.4 数据展现

数据展现平台,主要是PC端的浏览器和移动端的微信Excel方式,对云端应用来说,性能不理想PC端数据展现基于SAPUI5做专门开发:常规拖拽方式的OLAP灵活分析;保存灵活分析格式,形成固定格式的格式化主题分析;串联多个格式化主题分析,做一定扩展形成管理驾驶舱。

2.5 数据挖掘

采用经典的机器学习算法(如:DBSCANK-MeansC4.5决策树、逻辑回归、随机森林、朴素贝叶斯等),对数据进行挖掘分析。可应用的实际业务场景,包括地理位置分析、文本分析、相关性分析等。对需进行训练的监督学习,可根据实际训练需求,定制数据训练平台。

3 成果

3.1 产品示例

  • 地图应用

 86485d44aa01aaff83da5a8abb7aaf63e7037de6

  • OLAP灵活分析

 2402b771dedffe8a386b530cc267903a0c6c1828

  • 文本分析

 f6e0a22dcf07949c7cd34931092380b0676153b8

  •  格式化分析与驾驶舱


ff66096b93154c37bd5d07038566069350e93e81

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/645998

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。