‘壹’ 谁有关于ETL、ODS、数据库技术架构的形象一点的解释
ETL是一个过程,就是数据的抽取,转换,加载,现在中间都有个数据清洗的过程。ODS通俗将是ETL后最先进入的一个数据仓库,之前的数据可能包含DB2,SQL SERVER,ORACLE等不同类型的数据源,通过ETL后,进入统一的数据库中,这个库就是ODS,里面只是存放了清洗过后的数据,格式,编码等统一。后面会根据不同的行业和需求,进SOR数据仓库,再向下游提供数据,期间会有各种逻辑啊,修改自己需要的数据,打乱原有表结构重新组合。我所知道的就这些,希望对你有帮助
‘贰’ 数据仓库与ODS的区别,数据仓库和ODS并存方案
一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。先大概列一下互联网行业数据仓库、数据平台的用途:
整合公司所有业务数据,建立统一的数据中心;
提供各种报表,有给高层的,有给各个业务的;
为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;
为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;
分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;
开发数据产品,直接或间接为公司盈利;
建设开放数据平台,开放公司数据;
。。。。。。
上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;
其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;
建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。
整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:
逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。
我们从下往上看:
数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。
数据源的种类比较多:
网站日志:
作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,
一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;
业务数据库:
业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapRece来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案(可参考文章 《异构数据源海量数据交换工具-Taobao DataX 下载和使用》),有资源的话,可以基于DataX之上做二次开发,就能非常好的解决,我们目前使用的DataHub也是。
当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。
来自于Ftp/Http的数据源:
有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;
其他数据源:
比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;
数据存储与分析毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。
离线数据分析与计算,也就是对实时性要求不高的部分,在我看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapRece要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;
当然,使用Hadoop框架自然而然也提供了MapRece接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapRece来做分析与计算;Spark是这两年非常火的,经过实践,它的性能的确比MapRece要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群,关于Spark On Yarn的相关文章,可参考:《Spark On Yarn系列文章》
实时计算部分,后面单独说。
数据共享这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;
前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。
另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。
数据应用
业务产品
业务产品所使用的数据,已经存在于数据共享层,他们直接从数据共享层访问即可;
报表
同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;
即席查询
即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;
这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。
即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,目前我的解决方案是SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。
当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。
OLAP
目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;
这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;
比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。
其它数据接口
这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。
实时计算现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。
我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。
做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。
任务调度与监控在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;
这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。
前面有写过文章,《大数据平台中的任务调度与监控》,这里不再累赘。
总结在我看来架构并不是技术越多越新越好,而是在可以满足需求的情况下,越简单越稳定越好。目前在我们的数据平台中,开发更多的是关注业务,而不是技术,他们把业务和需求搞清楚了,基本上只需要做简单的SQL开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。
‘叁’ 国内哪个数据治理管理平台性能最好最快希望大家推荐一下,感谢!
国内哪个数据治理管理平台性能最好最快?希望大家推荐一下,感谢
如今,不少企业都想拥有属于自己企业或产品的手机APP,但其中最困扰企业主的问题就是:开发一款手机APP到底需要多少钱?
简单点来说,要视手机APP的需求及质量而言,价位一般在几千到十几万左右,更高端的价格更高。
定制款:定制款是指APP的功能全部重新开发,过程比较繁琐,需要美工、策划、APP开发(前台/客户端/手机端)、后台程序员等工种协同完成,大型的、功能复杂的APP甚至需要数十人的团队。
由于APP的功能和设计都是定制的,因此价格会高些。定制款的开发时间与开发价格是成正比的,开发时间长,大约在两三个月甚至不定的周期里才能完成,而费用大概在几万甚至十几万左右。
因此,想要知道开发一款手机APP需要花费多少钱,企业主首先必须把APP的详细需求和功能告知APP开发公司,开发公司才能报出一个合理的价格。
二、手机APP平台不同,制作成本也不一样
现在市面上流行的手机APP制作平台主要有两种一般包括两种系统:安卓系统(Android)和苹果系统(IOS)。
一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言Objective-C的难度,都让APP开发者加大了苹果系统手机APP开发的难度。
三、APP制作成本包含参与人员的工资
通常情况下,开发一款APP需要产品经理、客户端工程师、后端工程师和UI设计师各一名,这已经是制作手机APP应用软件比较精简的配置了,所以这些参与人员的工资也是包含在APP制作成本当中的。这些工作人员的月薪加起来可能都会超过4、5万元。
四、APP开发公司的所在地
需要注意的是,同样实力的APP开发公司,在不同的城市也会导致APP的成本费用高一些,如在北京、深圳和上海等地的开发公司开发成本费用就会比较高,因为当地开发人员的薪资和其他支出相对更高。
‘肆’ 一文让你分清数据管理与数据治理
一文让你分清数据管理与数据治理
当我们谈数据资产管理时,我们究竟在谈什么?就目前而言,我们谈论得最多的非数据管理和数据治理这两个概念莫属。但是对于这两个概念,两者的准确定义是什么,具体区别又是什么,仍是困扰着许多人的关键问题。
数据管理和数据治理有很多地方是互相重叠的,它们都围绕数据这个领域展开,因此这两个术语经常被混为一谈。
此外,每当人们提起数据管理和数据治理的时候,还有一对类似的术语叫信息管理和信息治理,更混淆了人们对它们的理解。关于企业信息管理这个课题,还有许多相关的子集,包括主数据管理、元数据管理、数据生命周期管理等等。
于是,出现了许多不同的理论(或理论家)描述关于在企业中数据/信息的管理以及治理如何运作:它们如何单独运作?它们又如何一起协同工作?是“自下而上”还是“自上而下”的方法更高效?
为了帮助大家弄明白这些术语以及它们之间的关系,本文将着重定义它们的概念,并指出它们的区别,这些定义和区别源自于国际公认的以数据为中心的相关组织,同时还会在一些观点上展开详细的探讨。
数据管理包含数据治理
在说明数据和信息的区别之前,最好从“治理是整体数据管理的一部分”这个概念开始,这个概念目前已经得到了业界的广泛认同。数据管理包含多个不同的领域,其中一个最显着的领域就是数据治理。CMMi协会颁布的数据管理成熟度模型(DMM)使这个概念具体化。DMM模型中包括六个有效数据管理分类,而其中一个就是数据治理。数据管理协会(DAMA)在数据管理知识体系(DMBOK)中也认为,数据治理是数据管理的一部分。在企业信息管理(EIM)这个定义上,Gartner认为EIM是“在组织和技术的边界上结构化、描述、治理信息资产的一个综合学科”。Gartner这个定义不仅强调了数据/信息管理和治理上的紧密关系,也重申了数据管理包含治理这个观点。
治理与管理的区别
在明确数据治理是数据管理的一部分之后,下一个问题就是定义数据管理。治理相对容易界定,它是用来明确相关角色、工作责任和工作流程的,确保数据资产能长期有序地、可持续地得到管理。而数据管理则是一个更为广泛的定义,它与任何时间采集和应用数据的可重复流程的方方面面都紧密相关。例如,简单地建立和规划一个数据仓库,这是数据管理层面的工作。定义谁以及如何访问这个数据仓库,并且实施各种各样针对元数据和资源库管理工作的标准,这是治理层面的工作。数据管理更广泛的定义包含DATAVERSITY上大部分主题为数据管理的文章和博客,其中有一部分是特别针对数据治理的。一个更广泛的定义是,在数据管理过程中要保证一个组织已经将数据转换成有用信息,这项工作所需要的流程和工具就是数据治理的工作。
信息与数据的区别
在上文关于数据管理的第三个定义中,提到了数据和信息的区别。所有的信息都是数据,但并不是所有的数据都是信息。信息是那些容易应用于业务流程并产生特定价值的数据。要成为信息,数据通常必须经历一个严格的治理流程,它使有用的数据从无用数据中分离出来,以及采取若干关键措施增加有用数据的可信度,并将有用数据作为信息使用。数据的特殊点在于创造和使用信息。在Gartner的术语表中,没有单独解释数据管理和数据治理的概念,取与代之的是重点介绍了信息治理和信息管理的概念。
数据治理主要围绕对象:角色
与正式的数据治理流程相关的角色是有限的。这些角色通常包括高层的管理者,他们优化数据治理规划并使资金筹集变得更为容易。这些角度也包括一个治理委员会,由个别高层管理者以及针对治理特定业务和必要流程而赋予相应职责的跨业务部门的人组成。角色也包括数据管理员,确保治理活动的持续开展以及帮忙企业实现业务目标。此外,还有部分“平民”管理员,他们虽然不会明确被指定为数据管理员,但他们仍然在各自业务领域里的治理流程中扮演活跃的角色。
有效的治理不仅需要IT的介入,这是人们的普遍共识。尤其当业务必须更主动地参与到治理方式和数据管理其他层面(例如自助数据分析)的时候,目的是要从这些工作参与中获益。在更多的案例中,特定领域的治理可以直接应用于业务。这就是为什么治理仅需要IT的介入是一个过时且应该摈弃的观点。
数据治理主要围绕对象:领域
数据治理包含许多不同方面的领域:
●元数据:元数据要求数据元素和术语的一致性定义,它们通常聚集于业务词汇表上。
●业务词汇表:对于企业而言,建立统一的业务术语非常关键,如果这些术语和上下文不能横跨整个企业的范畴,那么它将会在不同的业务部门中出现不同的表述。
●生命周期管理:数据保存的时间跨度、数据保存的位置,以及数据如何使用都会随着时间而产生变化,某些生命周期管理还会受到法律法规的影响。
●数据质量:数据质量的具体措施包括数据详细检查的流程,目的是让业务部门信任这些数据。数据质量是非常重要的,有人认为它不同于治理,它极大提升了治理的水平。
●参考数据管理:参考数据提供数据的上下文,尤其是它结合元数据一起考虑的情况下。由于参考数据变更的频率较低,参考数据的治理经常会被忽视。
虽然上述提及的是数据治理在数据管理中所负责的特定领域,但一个至关重要的问题在于,所有组织里的数据必须持续坚持数据治理的原则。
数据建模
数据建模是依赖于数据治理的另一个数据管理中的关键领域,它结合了数据管理与数据治理两者进行协调工作。可以说,为了将数据治理扩展到整个组织,利用一个规范化的数据建模有利于将数据治理工作扩展到其他业务部门。遵从一致性的数据建模,令数据标准变得有价值(特别是应用于大数据)。一个确保数据治理贯穿整个企业的最高效手段,就是利用数据建模技术直接关联不同的数据治理领域,例如数据血缘关系以及数据质量。当需要合并非结构化数据时,数据建模将会更有价值。此外,数据建模加强了治理的结构和形式。
关键的不同点
数据管理其他方面的案例在DMM中有五个类型,包括数据管理战略、数据质量、数据操作(生命周期管理)、平台与架构(例如集成和架构标准),以及支持流程(聚集于其他因素之中的流程和风险管理)。在此重申一点,数据治理和数据管理非常接近是有事实支撑的,数据质量经常被视为与数据治理相结合,甚至被认为是数据治理的产物之一。也许,情景化这两个领域的最好办法,在于理解数据治理是负责正式化任何数据管理当中的流程,数据治理本身着重提供一整套工具和方法,确保企业在实际上治理这些数据。虽然数据治理是数据管理中的一部分,但后者必须要由前者来提供可靠的信息到核心业务流程。
‘伍’ 目前主流的数据治理平台有那些。
目前国内外能称得上数据治理平台的不多,基本上都是主数据管理平台,只不过都改个名字为数据治理平台,真正数据治理的概念可以参考dama的《数据管理知识体系指南》内容。在这个行业,国内厂商主要有四个来源,物资编码管理厂商(2010年前入行,最早也最普及)、PDM厂商(基本是大BOM的概念,较晚)、ERP厂商(最晚,但是也属于编码管理的延续)和其他后续(2015年后)入行的。国外厂商主要来源有三个,客户主数据厂商(sap、orcale、IBM、informatica)、PDM厂商(达索、Stibo)、开源主数据厂商(Talend)。
国内第一家做主数据管理平台的是一家叫中翰软件的公司,2010年发布的自主产权MDM平台,2013年最早开启数据治理概念,并于2014年试水发布了基于静态数据中心管理的数据治理平台,2018年发布了数据管控平台和数据评估监测平台。
‘陆’ 银行的数据仓库,ODS,历史库的区别和联系
银行的数据仓库,ODS,历史库的区别和联系
关系数据库:是建立在关系模型基础上的数据库。借助于集合代数等概念和方法来处理数据库中的数据。 数据仓库:是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。 区别:数据库是面向事务的设计,数据仓库是面向主题.
‘柒’ 大数据治理和数据治理的区别概述
1、什么是数据治理
数据治理(Data Governance)是组织中涉及数据使用的一整套管理行为。由企业数据治理部门发起并推行,关于如何制定和实施针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。
数据的质量直接影响着数据的价值,并且直接影响着数据分析的结果以及我们以此做出的决策的质量。我们常说,用数据说话,用数据支撑决策管理,但低质量的数据、甚至存在错误的数据,必然会"说假话"!!! 数据治理即提高数据的质量,发挥数据资产价值。
2、数据治理的目的
降低风险
建立数据使用内部规则
实施合规要求
改善内部和外部沟通
增加数据价值
方便数据管理
降低成本
通过风险管理和优化来帮助确保公司的持续生存
3、数据治理的方法
从技术实施角度看,数据治理包含“理”“采”“存”“管”“用”这五个步骤,即业务和数据资源梳理、数据采集清洗、数据库设计和存储、数据管理、数据使用。
数据资源梳理:数据治理的第一个步骤是从业务的视角厘清组织的数据资源环境和数据资源清单,包含组织机构、业务事项、信息系统,以及以数据库、网页、文件和 API 接口形式存在的数据项资源,本步骤的输出物为分门别类的数据资源清单。
数据采集清洗:通过可视化的 ETL 工具(例如阿里的 DataX,Pentaho Data Integration)将数据从来源端经过抽取 (extract)、转换 (transform)、加载 (load) 至目的端的过程,目的是将散落和零乱的数据集中存储起来。
基础库主题库建设:一般情况下,可以将数据分为基础数据、业务主题数据和分析数据。基础数据一般指的是核心实体数据,或称主数据,例如智慧城市中的人口、法人、地理信息、信用、电子证照等数据。主题数据一般指的是某个业务主题数据,例如市场监督管理局的食品监管、质量监督检查、企业综合监管等数据。而分析数据指的是基于业务主题数据综合分析而得的分析结果数据,例如市场监督管理局的企业综合评价、产业区域分布、高危企业分布等。那么基础库和主题库的建设就是在对业务理解的基础上,基于易存储、易管理、易使用的原则抽像数据存储结构,说白了,就是基于一定的原则设计数据库表结构,然后再根据数据资源清单设计数据采集清洗流程,将整洁干净的数据存储到数据库或数据仓库中。
元数据管理:元数据管理是对基础库和主题库中的数据项属性的管理,同时,将数据项的业务含义与数据项进行了关联,便于业务人员也能够理解数据库中的数据字段含义,并且,元数据是后面提到的自动化数据共享、数据交换和商业智能(BI)的基础。需要注意的是,元数据管理一般是对基础库和主题库中(即核心数据资产)的数据项属性的管理,而数据资源清单是对各类数据来源的数据项的管理。
血缘追踪:数据被业务场景使用时,发现数据错误,数据治理团队需要快速定位数据来源,修复数据错误。那么数据治理团队需要知道业务团队的数据来自于哪个核心库,核心库的数据又来自于哪个数据源头。我们的实践是在元数据和数据资源清单之间建立关联关系,且业务团队使用的数据项由元数据组合配置而来,这样,就建立了数据使用场景与数据源头之间的血缘关系。 数据资源目录:数据资源目录一般应用于数据共享的场景,例如政府部门之间的数据共享,数据资源目录是基于业务场景和行业规范而创建,同时依托于元数据和基础库主题而实现自动化的数据申请和使用。
质量管理:数据价值的成功发掘必须依托于高质量的数据,唯有准确、完整、一致的数据才有使用价值。因此,需要从多维度来分析数据的质量,例如:偏移量、非空检查、值域检查、规范性检查、重复性检查、关联关系检查、离群值检查、波动检查等等。需要注意的是,优秀的数据质量模型的设计必须依赖于对业务的深刻理解,在技术上也推荐使用大数据相关技术来保障检测性能和降低对业务系统的性能影响,例如 Hadoop,MapRece,HBase 等。
商业智能(BI):数据治理的目的是使用,对于一个大型的数据仓库来说,数据使用的场景和需求是多变的,那么可以使用 BI 类的产品快速获取需要的数据,并分析形成报表,像派可数据就属于专业的BI厂商。
数据共享交换:数据共享包括组织内部和组织之间的数据共享,共享方式也分为库表、文件和 API 接口三种共享方式,库表共享比较直接粗暴,文件共享方式通过 ETL 工具做一个反向的数据交换也就可以实现。我们比较推荐的是 API 接口共享方式,在这种方式下,能够让中心数据仓库保留数据所有权,把数据使用权通过 API 接口的形式进行了转移。API 接口共享可以使用 API 网关实现,常见的功能是自动化的接口生成、申请审核、限流、限并发、多用户隔离、调用统计、调用审计、黑白名单、调用监控、质量监控等等。
4、数据治理流程
基本流程:发现数据质量问题 > 定义数据质量规则 > 质量控制 > 质量评估 > 质量优化
‘捌’ 数据治理方面哪个公司做的好
数据治理方面,哪个公司做的好?我认为一般情况下,我感觉数据治理方面,我认为还是这个南京数据技术学院,这个数据里方数据治理方面,哪个公司做的好?我认为一般情况下,我感觉数据治理方面,我认为还是这个南京数据技术学院,这个数据治理方面是比较好的