热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据从哪里来?构建数据库的源头活水

源头活水从哪

"IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、实用的知识与技能,快速提升职场竞争力。 点击蓝色微信名可快速关注我们。

前文回顾:

数据湖火了,数据仓库地位不保?

内存计算,让数据飞起来

新技术如何改变数据平台设计的未来

不写代码,也能开发数据仓库?


源头活水从哪来?

HANA不仅仅是一个数据库,它还提供了多种服务。其中,就有数据集成和数据质量管理服务。





作为基于HANA平台的专业数据仓库应用系统,BW/4HANA必须要用好这个源头活水。BW/4HANA全面集成了HANA平台的数据获取功能,与HANA平台上的数据集成和数据质量服务组件进行对接,并将HANA的数据获取功能纳入统一的数据仓库管理体系和数据处理流程。


根据企业不同的应用场景及相应的数据仓库策略,在对外部数据进行收集时,可以将数据从源系统里抽取到SAP BW/4HANA系统,再进行数据转换和后续数据加载;也可以直接访问外部数据源进行分析报告,而不用把数据存储在企业数据仓库中。


01

使用源系统建立供水通道



BW/4HANA是一个依据体系化的数据仓库方法,提供数据加工、管理等功能的应用程序。BW/4HANA不是数据库,它所有的数据都是存储在本地的HANA数据库里的。


为了在将HANA平台本身的数据获取能力纳入BW/4HANA进行统一管理,需要在BW/4HANA里创建相应类型的源系统。BW/4HANA提供了专门的“SAP HANA源系统”类型,对通过HANA数据库获取的外部数据进行管理。


根据作为源系统的HANA数据库与BW/4HANA所在的HANA数据库的关系,系统将HANA相关的源系统分为三种类型:


(1)SAP HANA本地数据库Schema(SAP HANA Local Database Schema):


如果需要访问的数据已经存在于BW/4HANA所在的HANA数据库中,就选择创建这一类型的数据库。这一类型的源系统指向本地数据库中的一个指定的Schema,将这一Schema中的一个数据库表、视图、或者基于SQL方法建设的原生数据存储对象(NativeDSO,NDSO)作为一个数据源进行管理。


(2)SAP HANA租户数据库Schema(SAP HANA Tenant Database Schema):


SAP HANA是一个支持多租户的数据库系统。一个HANA系统可以包含多个HANA租户数据库。如果需要访问的数据存在于BW/4HANA所在的同一个HANA系统中,但与BW/4HANA不在同一个租户数据库中,就需要选择这一类型的源系统。

在后续配置中,需要指定租户数据库的名称及其包含的一个Schema。通过这个源系统可以将指定Schema中的数据库表、视图、以及原生数据存储对象作为数据源进行管理。


(3)SAP HANA智能数据访问(SAP HANA Smart Data Access):


如果数据不存在于BW/4HANA所在的HANA系统中, BW/4HANA底层的SAP HANA数据库可以通过SAP HANA智能数据访问方式连接到外部的数据源。通过使用这一选项,可以在BW/4HANA应用层面将这些外部的数据源定义成BW/4HANA的源系统。

使用这一连接类型,可以使用由SAP HANA智能数据集成提供的源系统。BW/4HANA系统使用数据智能访问组件提供的适配器建立与外部源系统的连接。


我们重点来看看选项(3)如何通过通过智能数据访问方式获取第三方的数据



02

通过智能数据访问方式获取第三方的数据



在大数据时代,将所有数据都复制一份到集中的大数据仓库中可能不是最明智的选择。外部数据分散存储,由不同的系统产生,新的分析应用系统要求具备实时访问多个外部系统,对数据进行访问、整合和集成的能力。


计算机网络的快速发展和数据库数据处理性能的提升,使这一选项正在变得越来越有吸引力。也就是说,不再将远程的数据复制到本地数据库进行存储,而只在需要数据的时候才从远程数据库中读取数据进行处理和分析。


这一设计思想的影响是广泛而深远的,涉及到软件功能的升级、系统架构和硬件部署方式的全面变化。它不仅影响企业数据仓库的功能增强和改造,也促进了数据智能等新型系统的产生和应用。


SAP HANA智能数据访问(SDA)可以实现像访问本地数据表一样访问外部数据,而不需要将外部数据复制到SAP HANA中。在SAP HANA中,使用链接数据库或者创建虚拟表,指向其他远程源中的数据库表,并通过在SAP HANA系统中运行SQL查询访问这些虚拟表。SAP HANA查询处理器负责优化查询,在目标系统中执行相应部分的查询,将查询结果返回给HANA,最终完成查询操作。


第一部分工作是在HANA数据库中完成中的,进入HANA管理控制台界面,创建并配置远程源,如下图所示。

编辑远程源

其中,适配器名称下拉列表中,可以看到HANA预置的多种适配器。用户也可以根据需要,安装相应的适配器。从“适配器名称”下拉列表中,可以看到系统当前安装的适配器,包括:

  •  SAP HANA ODBC Driver

  • SAP IQ ODBC Driver

  • SAP Adaptive Server Enterprise ODBC Driver

  •  SAP Event Stream Processor ODBC Driver

  •  SAP HANA Streaming Analytics ODBC Driver

  • SAP MaxDB ODBC Driver

  •  Teradata ODBC Driver

  •  SQL Server ODBC Driver

  •  IBM DB2 Driver

  • IBM Netezza Driver

  • Oracle Database ODBC Driver

  • MII(ODBC)

  • Google BigQuery ODBC Driver

  •  GRPC(Destination)

  •  RSERVE(Destination)

  •  HADOOP(ODBC)

  •  HADOOP(Destination)

  •  VORA(ODBC)

  •  SPARKSQL(Destination)

    等等


完成远程源的创建后,在HANA管理控制台左边的导航窗口里,可以展开这一远程源,查看其包含的Schema及数据库表等内容。



03

使用源系统和数据源指定远程源对象



在完成HANA部分的配置工作后,就可以进入BW/4HANA建模界面进行后续配置工作。


首先,根据系统向导创建“SAP HANA智能数据访问”类型的源系统,即远程源系统。


其次,为远程源系统创建数据源。系统提供了新建数据源的向导,其中一个步骤是“选择模板或者源对象”,如下图所示。


新建数据源向导-择模板或源对象


这里指定的选项不同,后续的配置信息也不同。我们选择“基于SAP HANA表或视图生成建议(Proposal from SAP HANA Table or View)”,单击“下一步”。在后续步骤中,系统列出当前Schema中的数据库表和视图,从列表中选择一个数据库表作为数据来源。系统读取这一数据库表的信息,并自动生成数据源。


系统生成的数据源是可以进行后续编辑的,进入数据源编辑界面可以看到三个配置选项卡


1)常规(Overview)选项卡:常规选择卡显示了新建数据源的基本信息。


2)提取(Extraction)选项卡:可以查看数据源抽取的明细设置,例如是否支持增量数据抽取、数据直接访问或者流数据等。


3)字段(Fields)选项卡:可以查看或whnt数据源根据源表的结构自动生成的抽取字段建议。


修改完成后,检查并激活数据源。打开数据源数据预览选项卡,可以查看数据源里的数据,如下图。

数据源数据预览




-End-


本文作者:陈永杰 

著有《SAP大数据完全解决方案》等多本有影响力的SAP图书


推荐阅读


SAP中国公司高级认证顾问扛鼎之作 

为SAP大数据项目提供全面指南



(点击封面可进入详情页面)

作者:陈永杰 编著


关键词:企事业单位从事大数据规划、大数据应用设计人员 数据湖、数据仓库、大数据平台开发设计人员 SAP HANA、BW/4HANA、数据智能相关项目实施顾问、项目组成员

本书以企业传统数据仓库的改造和全新的大数据平台建设为出发点,讨论了内存计算技术带来的根本性变革及其对企业传统数据仓库架构设计的改变,并详细介绍了在应用Hadoop 等数据湖技术条件下的数据获取、数据建模、数据服务应用及管理方法。全新的大数据平台架构超越单个系统的物理界限,更多地采用虚拟建模与逻辑建模的方法,对企业内外、本地云端的全体数据进行统一的管理和应用调度,并使用机器学习技术进行各类创新应用的开发。


我们的抖音号正式上线啦!

有趣、有料的前沿知识等着你!

快使用抖音扫码来关注我们吧!



推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • http头_http头部注入
    1、http头部注入分析1、原理 ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 基于.NET Core框架nacos的简单应用
    什么是Nacos?服务(Service)是Nacos世界的一等公民。Nacos支持 ... [详细]
author-avatar
外籍劳务输入
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有