详细数据分析步骤(一)-数据获取
数据分析师如今风靡全网,那么什么是数据分析呢?此合集将会对数据分析的框架做一个细致解析并推荐相关文章以便入门学习。
一、数据获取
现如今大数据时代已经到来,企业需要数据来分析用户行为、自己产品的不足之处以及竞争对手的信息等,而这一切的首要条件就是数据的采集。常用的数据获取手段有数据仓库和操作日志,监测与爬取(即爬虫),填写、埋点和计算
1、数据仓库和操作日志
数据仓库(Data Warehouse,DW)长期储存在计算机内,有组织、可共享的数据集合,是为决策支持系统提供基础数据的分析型数据库。
数据仓库有几个定义特征,即 :
推荐阅读:一、数据仓库 - 架构艺术 - 博客园
日志和数据仓库具有相同的作用,但相比之下日志的记录比数据仓库精简,且在出现故障时更容易定位问题。
2监测与爬取
爬虫是指: 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。
根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种。
通用爬虫是捜索引擎抓取系统(Baidu、Google等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,再对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。
聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。
推荐阅读:爬虫(爬虫原理与数据抓取) - lclc - 博客园
爬虫 - Z-J-H - 博客园
3填写、埋点
这两个都是对用户行为进行记录。
填写是指用户在注册时填写信息或者对相关问卷进行填写。 通过问卷调查、抽样调查获取的数据是有限的,并且有时也不能够保证真实性。
埋点主要指 APP或网页埋点,跟踪app或网页被使用情况,以便优化。通常记录访客、页面查看、跳出率等等页面统计和操作行为)。直接记录用户与网络产品的交互过程,几乎可以复现,从而 获得用户的行为模式,购买记录、搜索习惯等。这些数据都是用户自己产生的,可以保证数据的真实性。
推荐阅读:6大步骤:快速学会如何进行数据埋点
4计算
很多数据无法直接获取,需要通过已有数据计算得到。例如企业的投入产出比。
最后,需要强调的是进行数据分析的数据必须真实、准确且具有时效性。数据获取后使用个人信息要遵守以下5大原则:
(1)合法、公开原则。
(2)目的限制原则。
(3)最小数据原则。
(4)数据安全原则。
(5)限期存储原则。
下一篇文章将会对数据分析中的数据预处理做一个简单梳理
数据库
★数据库发展阶段大致划分为如下几个阶段:
人工管理阶段;
文件系统阶段;
数据库系统阶段;
高级数据库阶段。
当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。
严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表2063中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。
JMartin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
· 数据库的优点
使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。特别是近年来推出的微型计算机关系数据库管理系统dBASELL,操作直观,使用灵活,编程方便,环境适应广泛(一般的十六位机,如IBM/PC/XT,国产长城0520等均可运行种软件),数据处理能力极强。数据库在我国正得到愈来愈广泛的应用,必将成为经济管理的有力工具。
数据库是通过数据库管理系统(DBMS-DATA BASE MANAGEMENT SYSTEM)软件来实现数据的存储、管理与使用的dBASELL就是一种数据库管理系统软件。
· 数据库结构与数据库种类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。
1数据结构模型
(1)数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。(2)数据结构种类
数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。本节只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。
2层次、网状和关系数据库系统
(1)层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。例如图2064是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。这种数据结构模型的一般结构见图2065所示。
图2064 高等学校的组织结构图 图2065 层次结构模型
图2065中,Ri(i=1,2,…6)代表记录(即数据的集合),其中R1就是根结点(如果Ri看成是一个家族,则R1就是祖先,它是R2、R3、R4的双亲,而R2、R3、R4互为兄弟),R5、R6也是兄弟,且其双亲为R3。R2、R4、R5、R6又被称为叶结点(即无子女的结点)。这样,Ri(i=1,2,…6)就组成了以R1为树根的一棵树,这就是一个层次数据结构模型。
按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(Information Manage-mentSystem)是其典型代表。
(2)网状结构模型
在图2066中,给出了某医院医生、病房和病人之间的联系。即每个医生负责治疗三个病人,每个病房可住一到四个病人。如果将医生看成是一个数据集合,病人和病房分别是另外两个数据集合,那么医生、病人和病房的比例关系就是M:N:P(即M个医生,N个病人,P间病房)。这种数据结构就是网状数据结构,它的一般结构模型如图2067所示。在图中,记录Ri(i=1,2,8)满足以下条件:
①可以有一个以上的结点无双亲(如R1、R2、R3)。
②至少有一个结点有多于一个以上的双亲。在"医生、病人、病房"例中,"医生集合有若干个结点(M个医生结点)无"双亲",而"病房"集合有P个结点(即病房),并有一个以上的"双亲"(即病人)。
图2066 医生、病房和病人之间的关系
图2067 网状结构模型
按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。
(3)关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系(见表2068)。这个四行六列的表格的每一列称为一个字段(即属性),字段名相当于标题栏中的标题(属性名称);表的每一行是包含了六个属性(工号、姓名、年龄、性别、职务、工资)的一个六元组,即一个人的记录。这个表格清晰地反映出该单位职工的基本情况。
表2068 职工基本情况
通常一个m行、n列的二维表格的结构如表2069所示。
表中每一行表示一个记录值,每一列表示一个属性(即字段或数据项)。该表一共有m个记录。每个记录包含n个属性。
作为一个关系的二维表,必须满足以下条件:
(1)表中每一列必须是基本数据项(即不可再分解)。(2)表中每一列必须具有相同的数据类型(例如字符型或数值型)。(3)表中每一列的名字必须是唯一的。(4)表中不应有内容完全相同的行。(5)行的顺序与列的顺序不影响表格中所表示的信息的含义。
由关系数据结构组成的数据库系统被称为关系数据库系统。
在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。dBASEII就是这类数据库管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dBASEII建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEII的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
· 数据库的要求与特性
为了使各种类型的数据库系统能够充分发挥它们的优越性,必须对数据库管理系统的使用提出一些明确的要求。
1建立数据库文件的要求
(1)尽量减少数据的重复,使数据具有最小的冗余度。计算机早期应用中的文件管理系统,由于数据文件是用户各自建立的,几个用户即使有许多相同的数据也得放在各自的文件中,因而造成存储的数据大量重复,浪费存储空间。数据库技术正是为了克服这一缺点而出现的,所以在组织数据的存储时应避免出现冗余。
(2)提高数据的利用率,使众多用户都能共享数据资源。
(3)注意保持数据的完整性。这对某些需要历史数据来进行预测、决策的部门(如统计局、银行等)特别重要。
(4)注意同一数据描述方法的一致性,使数据操作不致发生混乱。如一个人的学历在人事档案中是大学毕业,而在科技档案中却是大学程度,这样就容易造成混乱。
(5)对于某些需要保密的数据,必须增设保密措施。
(6)数据的查找率高,根据需要数据应能被及时维护。
2数据库文件的特征
无论使用哪一种数据库管理系统,由它们所建立的数据库文件都可以看成是具有相同性质的记录的集合,因而这些数据库文件都有相同的特性:
(1)文件的记录格式相同,长度相等。
(2)不同的行是不同的记录,因而具有不同的内容。
(3)不同的列表示不同的字段名,同一列中的数据的性质(属性)相同。
(4)每一行各列的内容是不能分割的,但行的顺序和列的顺序不影响文件内容的表达。
3文件的分类
对文件引用最多的是主文件和事物文件。其他的文件分类还包括表文件、备份文件、档案的输出文件等。下面将讲述这些文件。
(1)主文件。主文件是某特定应用领域的永久性的数据资源。主文件包含那些被定期存取以提供信息和经常更新以反映最新状态的记录。典型的主文件有库存文件、职工主文件和收帐主文件等。
(2)事务文件。事务文件包含着作为一个信息系统的数据活动(事务)的那些记录。这些事务被分批以构成事务文件。例如,从每周工资卡上录制下来的数分批存放在一个事务文件上,然后对照工资清单文件进行处理以便打印出工资支票和工资记录簿。
(3)表文件。表文件是一些表格。之所以单独建立表文件而不把表设计在程序中是为了便于修改。例如,一个公用事业公司的税率表或国内税务局的税率就可以存储在表中文件。
(4)备用文件。备用文件是现有生产性文件的一个复制品。一旦生产性文件受到破坏,利用备用文件就可以重新建立生产性文件。
(5)档案文件。档案文件不是提供当前处理使用的,而是保存起来作为历史参照的。例如,国内税务局(IRS)可能要求检查某个人最近15年的历史。实际上,档案文件恰恰是在给定时间内工作的一个"快照"。
(6)输出文件。输出文件包含将要打印在打印机上的、显在屏幕上的或者绘制在绘图仪上的那些信息的数值映象。输出文件可以是"假脱机的"(存储在辅存设备上),当输出设备可用时才进行实际的输出。
数据仓库
1
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合
数据仓库,英文名称为Data Warehouse,可简写为DW。
数据仓库之父Bill Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
◆面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。
◆集成的:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
◆相对稳定的:数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
◆反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
数据仓库是一个过程而不是一个项目。
数据仓库系统是一个信息提供平台,他从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并为用户提供各种手段从数据中获取信息和知识。
从功能结构化分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。
什么是数据仓库
(转载自北大高科网站,http://wwwpku-htcom/)
目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家WHInmon在其著作《Building the Data Warehouse》一书中给予如下描述:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
根据数据仓库概念的含义,数据仓库拥有以下四个特点:
1、面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
3、相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
整个数据仓库系统是一个包含四个层次的体系结构,具体由下图表示。
数据仓库系统体系结构
·数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
·数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
·OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
·前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以数据挖掘及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家WHInmon在其著作《Building the Data Warehouse》一书中给予如下描述:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。多维
数据仓库的组成
数据仓库数据库
是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
数据抽取工具
把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。
元数据
元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。
技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库是用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。
商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;
元数据为访问数据仓库提供了一个信息目录(informationdirectory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。
访问工具
为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。
数据集市(DataMarts)
为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是再实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。
数据仓库管理:安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理。
信息发布系统:把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web的信息发布系统是对付多用户访问的最有效方法。
设计数据仓库的九个步骤
1)选择合适的主题(所要解决问题的领域)
2)明确定义fact表
3)确定和确认维
4)choosingthefacts
5)计算并存储fact表中的衍生数据段
6)roundingoutthedimensiontables
7)choosingthedurationofthedatabase
8)theneedtotrackslowlychangingdimensions
9)确定查询优先级和查询模式。
技术上
硬件平台:数据仓库的硬盘容量通常要是操作数据库硬盘容量的2-3倍。通常大型机具有更可靠的性能和和稳定性,也容易与历史遗留的系统结合在一起;而PC服务器或UNIX服务器更加灵活,容易操作和提供动态生成查询请求进行查询的能力。选择硬件平台时要考虑的问题:是否提供并行的I/O吞吐?对多CPU的支持能力如何?
数据仓库DBMS:他的存储大数据量的能力、查询的性能、和对并行处理的支持如何。
网络结构:数据仓库的实施在那部分网络段上会产生大量的数据通信,需不需要对网络结构进行改进。
实现上
建立数据仓库的步骤
1)收集和分析业务需求
2)建立数据模型和数据仓库的物理设计
3)定义数据源
4)选择数据仓库技术和平台
5)从操作型数据库中抽取、净化、和转换数据到数据仓库
6)选择访问和报表工具
7)选择数据库连接软件
8)选择数据分析和数据展示软件
9)更新数据仓库
数据抽取、清理、转换、和移植
1)数据转换工具要能从各种不同的数据源中读取数据。
2)支持平面文件、索引文件、和legacyDBMS。
3)能以不同类型数据源为输入整合数据。
4)具有规范的数据访问接口
5)最好具有从数据字典中读取数据的能力
6)工具生成的代码必须是在开发环境中可维护的
7)能只抽取满足指定条件的数据,和源数据的指定部分
8)能在抽取中进行数据类型转换和字符集转换
9)能在抽取的过程中计算生成衍生字段
10)能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件
11)必须对软件供应商的生命力和产品支持能力进行仔细评估
主要数据抽取工具供应商:PrismsolutionsCarleton'sPASSPORTInformationBuildersInc's
EDA/SQLSASInstituteInc
该系统是针对"国家开发银行基础数据库系统招标书"的具体要求,结合我公司在数据库和数据仓库方面的开发经验、系统集成能力与技术优势,组织该方面专家进行多次讨论,并充分考虑国家开发银行实际情况和我们在金融行业数据仓库的建设经验,最终构建国家开发银行基础数据库系统。在该系统中,我们采用最先进和完善的IBM数据仓库系列产品,结合具有丰富表现力的COGNOS公司前端展现工具,集成三层体系结构(Multi-tier)技术,融合WEB方式,最终为开发银行开发建设一个技术上先进、业务应用成熟、功能完善、性能稳定的基础数据库系统,并在此基础上考虑到系统的未来扩展。
系统简介
国家开发银行基础数据库系统的总体架构包括数据管理层、应用控制层和用户界面层三个部分。数据管理层负责管理国家开发银行各个层次的数据;应用控制层负责处理基于基础数据库系统的应用系统业务控制逻辑;用户界面层处理用户人机交互接口,将用户接口与复杂的业务控制逻辑分开,负责将业务信息以一种用户友好的一致方式提供给用户。
1、数据管理层
国家开发银行基础数据库系统中,需要管理不同层次的数据:
实时易变的数据:
由国家开发银行日常业务的操作型应用系统创建和管理。
高质量的一致性数据:
通过对存放在国家开发银行不同业务应用系统中的数据进行基本的代码转换和不一致问题的处理,得到国家开发银行统一业务视图的综合数据。
派生数据:
是在一致性数据基础上不同程度的聚集产生的数据。
元数据:
元数据是关于以上几类数据的描述性数据,是国家开发银行企业级的信息目录。元数据描述和定位数据元素的来龙去脉:数据来自何处,如何转换,抽取频率怎样,去哪儿,数据仓库正是通过对元数据的有效管理,为数据工作者寻找、理解和利用上述几类数据提供方便。
数据管理层采用DB-ODS-DW三层体系结构来管理以上各类数据。其中DB指实时易变的数据和外部数据,ODS(Operational Data Store,操作数据储存)包括高质量的一致性数据和派生数据,DW(Data Warehouse,数据仓库)包含历史的高质量一致性数据和派生数据。
ODS作为一个中间层次,一方面,它包含企业全局一致的、细节的数据,可以进行全局操作型处理;另一方面,它又是一种面向主题的、集成的数据环境,适合完成日常报表和决策的数据处理分析。可见,ODS一方面支持业务性操作,另一方面面向主题。所谓主题是指国家开发银行业务发展中所关注的业务对象,比如项目开发、信贷管理和资金管理,是在较高层次上将数据归类,将来自各部门的原始数据做一个从面向应用到面向主题的转变,即整个系统的设计将按照业务对象进行,而不是按照行政框架设计。在主题之下放置与该主题相关的各种基础数据,组合在一起就是基础数据源。基础数据源是整个ODS的核心,存储着最为基础的非派生数据。从上面分析可看出,建设数据仓库的第一步是建设基础数据源。这就要求对国家开发银行相关部门的业务流程和需求进行分析,通过对来自会计信息系统的数据和外部录入数据进行清洗、抽取和转换来解决数据的不一致性、分散性、完整性及异构问题。
面向主题和集成性使得ODS的数据在静态特征上很接近DW中的数据。但是,在ODS与DW之间仍然有许多基本的、重要的差别。首先,ODS主要保存近期数据,而DW大量是长期保存并可重复查询的历史数据。其二,ODS支持面向记录的联机刷新,满足国家开发银行全局应用的需要,包括企业级的OLTP;而DW中的基础数据是不可修改的。其三是向ODS数据仓库DW提供一致的数据环境以供抽取。DW则主要用于长期趋势分析或战略决策。
1)数据源
国家开发银行业务系统数据
国家开发银行的业务处理系统包括已经投入运行的(会计核算系统)、正在建设的(信贷管理和非现场稽核)和准备建设的各个业务处理系统。这些系统的数据周期性地形成增量文件,由数据库抽取代理程序(Agent)抽取到总行操作数据库中(ODS)。
外部数据
外部数据,根据业务需求可以加载到总行操作数据库中(ODS),也可以直接加载到数据仓库中。
补充数据
补充数据,由手工输入或接收程序倒入。
2)基础数据收集
为了提高基础数据收集的效率和质量,需要综合考虑业务需求、数据量、数据加载周期和技术基础设施多种因素,制定切实可行的数据抽取、净化、转换和加载策略,并选择合适的工具辅助基础数据收集。
对于国家开发银行现有业务应用系统管理的数据,应尽力区分存量数据、增量数据和变更的数据(比如,可以通过增加触发器来得到变更的数据),因为在广域网环境下,存量数据的抽取、传输和加载,增加网络的压力,是不可取的。而且不管选择哪种数据库,数据库管理系统的大量数据加载速度有限,大量数据加载一般会影响其他用户对数据库的操作。
在网络带宽许可的情况下,总行的ODS收集存储各分行详细的业务数据,各分行的详细业务数据通过数据收集代理(Agent)自动抽取到总行。数据抽取、传输和加载的策略是,第一次数据初始化的时候,进行存量数据的批量加载,以后则进行增量数据和变更数据的加载。加载周期是按小时、天、月或季度和年来加载,取决于业务需求。
随着业务的发展,详细业务数据量的增大,超出网络带宽的负荷,建议各分行设置ODS收集存储各自详细的业务数据,总行ODS收集存储各分行经过聚集的业务数据,以减少抽取、传输和加载的数据量。
可视化数据仓库管理器(IBM Visual Warehouse)是IBM公司推出的一个创建和维护数据仓库的集成工具,可以定义、创建、管理、监控和维护数据仓库,也可以自动地把异质数据源抽取到中央集成的数据仓库管理环境中来,它采用分布式的客户/服务器(Client/Server)体系结构,包括如下几个部分:
数据仓库服务器(Visual Warehouse Server)
数据仓库管理员(Visual Warehouse Administrative Clients)
数据仓库代理(Visual Warehouse Agents)
控制数据库(Control Database)
数据仓库(目标数据库,Target Database)
数据仓库服务器运行于Windows NT操作系统之上,监控和管理数据仓库的处理过程,提供基于时间的和基于事件的调度机制,并且也控制数据仓库代理的活动。
数据仓库代理在数据仓库服务器的控制下,处理源数据的存取、过滤、传输和把数据加载到目标数据仓库中。数据仓库代理可以运行在NT、AIX、OS/400、OS/2、SUN不同的系统平台上。为了提高处理效率和可扩展性,一般在数据源和目标数据仓库所在的机器都安装数据仓库代理。
控制数据库由数据仓库管理员产生并被数据仓库代理所利用。可视化数据仓库管理器把所有的元数据都存储在控制数据库中,控制数据库还可以被一个元数据管理工具集成管理(该工具称为Dataguide,是可视化数据仓库管理器的组件之一)。
虽然数据抽取、传输和加载自动化的机制可以选择合适的工具来实现,但针对实际数据环境的数据抽取、转换和净化需要自行设计程序,因为实际数据的非标准化和数据转换的复杂性,数据抽取、转换和净化的商品化工具在实际应用中达不到预期效果。
2、总行ODS
总行ODS由两层数据组成,一层为基础数据源,是国家开发银行业务产生的最基础的非派生的数据;另一层为二次汇总数据。二次汇总数据放置于项目受理、贷款管理和资金管理三个模块中,直接为项目受理、贷款管理和资金管理三个业务子系统提供数据支持。基础数据源中的数据主要从会计信息系统中转换而来,同时又有一部分基础数据来自于外部数据录入。
0条评论