大数据即席查询与分析

大数据的“量级”:
传统IT,业务系统多以OLTP1为主,尤其传统数据库orcle,mysql等数据量多数是几十万或几百万,数据千万就要分库,分表了,过亿了就要用到另外一种数据处理技术了OLAP2联机分析处理。
     Google的三篇论文 GFS3、Bigtable、MapReduce可为大数据发展的基石
每一分每一秒,各个数据源通过在线、离线等各种方式导入Hadoop,这些数据就像一车车的金矿石,先被放到一个矩形的仓库中存了起来。发现金矿,采集矿石,运回仓库,这些过程可能都不是最精彩的,大家最期盼的是如何将矿石变成金子,也就是炼金。大数据“炼金术”,发现数据的潜在价值,从数据分的不同使用场景来看,可以分为以下三类:批处理(Batch),即席查询和分析(Ad-hoc),流计算(Stream)。
批处理通常是离线计算,对计算时效性要求不高,主要用来啃又大又硬的骨头,一个任务可以撇给它几十个T甚至上P的数据,它都可以吃的消,它的计算方式可以说是“很稳健”,无论是第一代计算引擎MapReduce,还是第二代计算引擎Spark,都是采取的“很黄很暴力”的方式,一个百亿规模的数据分析,MapReduce的计算时间可能长达数小时,Spark也要跑个几分钟到几十分钟不等,即便执行一些相对轻量级的数据分析请求,Spark通常也是在分钟级别完成。
流计算是在数据流入的同时即把相应的计算操作完成,有极高的时效性,非常适用于实时统计,根据预设规则预警,结合各种算法做预测等数据分析需求。在各类形同中已经应用非常广泛。但流计算本质属于预计算分析,必须预先知道想要统计分析的数据或维度,根业内其它预计算引擎的短板一样,就是灵活度极大受限
即席查询和分析的计算模式兼具了良好的时效性与灵活性,是对批处理,流计算两大计算模式有力补充。
即席查询的概念
即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的。
在数据仓库领域有一个概念叫Ad hoc queries。通常的方式是,将数据仓库中的维度表和事实表映射到语义层,用户可以通过语义层选择表,建立表间的关联,最终生成SQL语句。即席查询与通常查询从SQL语句上来说,并没有本质的差别。它们之间的差别在于,通常的查询在系统设计和实施时是已知的,所有我们可以在系统实施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而即席查询是用户在使用时临时生产的,系统无法预先优化这些查询,所以即席查询也是评估数据仓库的一个重要指标。即席查询的位置通常是在关系型的数据仓库中,即在EDW或者ROLAP中。
即席分析:
是在未知用户查询条件,系统无法预先优化的查询,而临时产生的分析










大数据即席查询和分析博客
http://blog.csdn.net/vv8086/article/details/56011624
数据库优化:
http://blog.csdn.net/xlgen157387/article/details/44156679
运维:
http://www.ywnds.com/?cat=5
补充知识:
1:OLTP:
   On-Line Transaction Processing联机事务处理过程(OLTP)
也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短时间内给出结果,是对用户操作快速响应的方式之一
这样做的最大优点是可以即时的处理输入的数据,及时的回答,也称为实时系统。
衡量练级事务处理结果的一个重要指标是系统性能,具体体现为实时请求---响应时间,即用户在终端上输入数据之后,带计算机对这个请求给出答复所需的时间。
   OLTP是由前台、应用、数据库共同完成的,处理快慢以及处理程度取决于  数据库引擎  服务器  应用引擎
  OLTP数据库只在使事务应用程序仅写入所需的数据、以便尽快处理单个事务
  当今的数据处理可以分为两大类:练级事务处理(OLTP)和联机分析处理(OLAP)
2 OLAP
联机分析处理(OLAP):是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获取对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或满足多维环境下特定的查询和报表需求,它的技术核心是“维”这个概念
这里所说的“维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种关系有时会相当复杂。通过把一个实体的多重要的属性定义为多个维,使用户能对不同的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。
  OLAP的基本多维分析操作有钻取(roll up和drill down)、切片和切块、以及旋转、交叉探查(Drill Across:指查询多个事实表并将结果合并成一个结果集的查询操作)、钻透(drill through: 是指对立方体操作时, 利用数据库关系, 钻透立方体的底层, 进入后端的关系表)
  钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维
  切片和切块实在一部分维上选定值后,关心度量数据在剩余维生的分布。如果剩下维只有两个,则是切片;如果有三个则是切块
 旋转是变换为的方向,即在表格中重新安排为的放置(例如行列互换)
OLAP有多重实现方法,根据存储数据的方式不同可分为ROLAP,MOLAP、HOLAP
ROLAP表示基于关系数据库的OLAP实现。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。
MOLAP表示基于多维数据组织的OLAP实现。以多维数据组织方式为核心。以多维数据组织方式为核心,也就是说MOLAP使用多维数组存储数据。多维数据在存储中将形成“立方块(cude)”的结构,在MOLAP中对“立方块”的旋转、切块、切片是产生多维数据报表的主要技术
HOLAP表示基于混合数据组织的OLAP实现。如低层是关系型的,高层是多维矩阵型的,这种方式具有更好的灵活性
根据综合性数据的组织方式的不同,常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能
 3 GFS
GFS是一个可扩展的分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用,它运行与廉价的普通硬件(这是它的特殊之处,惊世之处)上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务 
4 Hive 
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类sql语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析
5 DMP
DMP(Data Management Platform)数据管理平台,是互联网公司最重要的后台系统之一,它把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,进而把这些细分结果推向现有的互动营销环境里

猜你喜欢

转载自blog.csdn.net/areigninhell/article/details/80039344