大数据分析与实践-社会研究与数字治理第11章 大数据分析平台_第1页
大数据分析与实践-社会研究与数字治理第11章 大数据分析平台_第2页
大数据分析与实践-社会研究与数字治理第11章 大数据分析平台_第3页
大数据分析与实践-社会研究与数字治理第11章 大数据分析平台_第4页
大数据分析与实践-社会研究与数字治理第11章 大数据分析平台_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章大数据分析平台QQ:81505050杨武剑周苏大数据分析与实践——社会研究与数字治理一、政府类1.国家数据(统计局)/国家统计局提供的《进度统计数据》是个一应俱全的最新宏观经济数据,一个宝贵的来源。如果想要从数据收集之日起的完整国民经济核算资料,权威的来源是国家统计局国民经济核算司出版的《中国国内生产总值核算历史资料》(1952-1995)和《中国国内生产总值核算历史资料》(1996-2002)。在这两本年鉴里,提供了核算中国GDP的详实数据。特别是《中国国内生产总值核算历史资料》(1996-2002)提供了电子版,电子版数据不仅提供1996-2002年的详实数据,还大致回溯了1952-1995年间的数据,非常好用。第11章导读案例大数据分析的数据源如果你想要从数据收集之日起的较为完整的宏观经济数据,《新中国五十年统计资料汇编》和《新中国55年统计资料汇编》是一个不错的选择。遗憾的是,它们都没有提供电子版,但后者可以在中国资讯行下载。2.工业和信息化部较多数据在此发布,尤其是有关工业运行及信息化相关数据。3.中国人民银行/中国金融市场政策及运行相关数据。4.银监会银行金融相关数据。第11章导读案例大数据分析的数据源5.中国海关中国进出口相关数据。6.国家知识产权局专利相关查询。7.中国证监会相关政策及招股书披露平台,以及拟上市公司排队每周披露。第11章导读案例大数据分析的数据源8.上海市政府数据服务网/gds/home!toHome.action上海市政府数据服务网集中发布政府部门及第三方机构的数据产品以及数据应用,数据将涉及经济、教育、卫生、交通、地理、法律、规划等。上海市政府数据服务网中,政府部门提供的数据产品目前都是免费的,保留收费的权利。所有的数据与服务都是无需注册可以直接使用的。搜索到需要的数据标题后,点击进入详细页面,可以看到下载图标。就可以按照需求来下载。9.上海公共研发平台/可以注册,人工审核,内包含较多数据库。第11章导读案例大数据分析的数据源二、综合类1.中国经济数据库/zh-hans/countries/china司尔亚司数据信息有限公司(CEIC)成立于1992年,由经济学家和分析师组成,提供有关世界发达经济和发展中经济的最广泛、最精确的信息。作为欧洲货币机构投资公司的一个产物,我们已经成为世界各地经济学家、分析师、投资者、企业以及院校经济和投资研究的首选。2.中国经济信息网有较多行业研究报告,宏观数据较全。中国经济信息网简称中经网,是国家信息中心组建的、以提供经济信息为主要业务的专业性信息服务网络。第11章导读案例大数据分析的数据源3.中国资讯行数据库/indexShow.do?method=index收费宏观经济数据。4.国研网/DRCNet.OLAP.BI/web/default.aspx数据较为权威,有些报告可以一看。5.中国国家图书馆/第11章导读案例大数据分析的数据源三、证券交易类1.上海证券交易所/其中研究出版栏目中有些研究报告。2.深圳证券交易所/其中研究/刊物中有研究报告。3.全国中小企业股份转让系统(新三板)/新三板挂牌公司的转让及信息披露。4.新加坡证券交易所/5.纽约证券交易所6.纳斯达克证券交易所第11章导读案例大数据分析的数据源四、金融类1.万德数据库/中国领先的金融数据、信息和软件服务企业,Wind资讯的客户包括超过90%的中国证券公司、基金管理公司、保险公司、银行和投资公司等金融企业;在国际市场,已经被中国证监会批准的合格境外机构投资者(QFII)中75%的机构是Wind资讯的客户。同时国内多数知名的金融学术研究机构和权威的监管机构也是我们的客户,大量中英文媒体、研究报告、学术论文等经常引用Wind资讯提供的数据。定位:高端机构客户。机构市场占有率:80%。第11章导读案例大数据分析的数据源优势:(1)数据表结构还是比较科学,而且还有很多不同工具,例如WACC计算小插件、贝塔计算小插件、另外还有直接在EXCEL估值的模板。(2)用户体现非常好,界面体验一流,符合中国人的使用习惯。(3)特色数据库有中国A\B股数据、基金数据、债券数据和期货数据都非常突出。(4)资讯内容结构严重模仿BLOOMBERG。(5)支持API插件。第11章导读案例大数据分析的数据源2.恒生聚缘/这个数据库其实也是定位为机构的,还有一套完全的信息技术系统解决方法。但是这个数据库不太出名,但是这是我用过价格便宜然后质量非常高的数据库。优点:(1)界面设计虽然没有万德那么花哨,但是非常实在,非常实用,而且很方便。数据结构也科学,不会出现过多冗余的状况。(2)价格比万德便宜,但是性价比挺高的。(3)A\B股数据是强项。(4)研究报告更新速度比较快,比较全面、质量比万德好。(5)数据质量过硬。第11章导读案例大数据分析的数据源3.CSMAR数据库/定位:中国80%的学术机构和高校都是使用CSMAR,美国大部分的大学例如沃顿等是使用CSMAR数据库。优点:(1)公司金融数据是强项,非常强大和齐全,我经常使用哈哈。(2)数据库做学术还是比较全面的。年份比较早的数据都会有收录。(3)高频数据是全国第二好。(4)公司治理数据比较好,详细,包括公司控制链图均有收录。由于是学术数据库关系,更新速度不够快。机构是绝对不会使用的。行业数据是更新速度是所有数据库中最慢的,建议不要使用行业数据库。第11章导读案例大数据分析的数据源4.锐思数据库/cn/定位:学术机构。特点:基本上是拷贝外国的数据库结构,而且数据字段不够丰富,建议不要使用。5.巨潮数据库(金融)/深交所旗下的一个数据库公司,有这个得天独厚的。优势:(1)交易所的公告、董事会决议总是最快可以知道。(2)异动数据库中的异动记录肯定不止前十名,获取还能看到前15名。第11章导读案例大数据分析的数据源6.清科数据库/清科研究数据库包含风险投资、私募股权、创业者相关投资、并购、上市数据库,范围涉及投资机构、企业、投资人物相关TMT、传统行业、清洁技术、生技健康等行业市场事件用得比较少,专做Pe风险投资数据的。7.人大经济论坛/forum-5-1.html和/forum-55-1.html有许多数据叫卖,提供大量的可供下载的经济学资源,而且还有许多有用的连接。当然,这是一个免费的网站,但下载某些资源时,说不定要求一定的所谓积分限制。这个强力推荐~~第11章导读案例大数据分析的数据源五、互联网类1.淘宝指数/2.互联网TMT数据/3.百度指数(综合)/第11章导读案例大数据分析的数据源六、自然卫生类1.中国气象局http://wwwNaN/2011qxfw/2011qsjcx/2.中国气象科学数据共享服务网http://cdcNaN/home.do在http://cdcNaN注册为用户后(密码会发送至你的邮箱)登录,选择数据种类(共14大类),在每类中选择你所关心的数据集,这时弹出每个数据集的元数据信息页面。页面正中有检索方式,选台站或空间、时间就可得到检索结果,点击下载即可。CDC网站的数据只要是共享的数据,就是免费的。3.公共卫生科学数据中心/Share/index.jsp第11章导读案例大数据分析的数据源七、房地产克尔瑞/Data/DataPage/DataPageIndex中国最大、最先进的房地产数据库,易居中国旗下。八、其他1.数据堂/2.数据熊猫(导航)/123/第11章导读案例大数据分析的数据源目录分布式分析预测分析架构云计算中的分析现代SQL平台1234分布式分析PART0111.111.1分布式分析在大数据分析的任务中,分析平台也属于分析工具的一部分。如今有很多分析平台可供选择,例如传统的基于服务器的软件、数据库分析、内存分析、云计算分析等,那么哪些是最好的分析平台呢?数据是分析的原材料,而分析决定了数据的价值。任何分析架构中最重要的一个方面都是如何使计算引擎与数据结合在一起。与数据源的整合不仅会影响分析师任务范围和他们所需要的培训,而且会影响一个分析项目的周期。11.1分布式分析在机器学习和大数据预测分析上可以运用分布式计算吗?这个问题之所以关键其原因是:(1)大数据分析所需的源数据通常存储在分布式数据平台中,如MPPappliances或Hadoop。(2)很多情况下,需要用作分析的数据太过庞大,以至于不能存储在一个机器的内存中。(3)持续增长的计算量和复杂度超出了用单线程所能达到的处理能力。11.1.3数据并行与“正交”11.1.1关于并行计算11.1.4分布式的软件环境11.1.2并行计算的、三种形式数据是分析的原材料,而分析决定了数据的价值。任何分析架构中最重要的一个方面都是如何使计算引擎与数据结合在一起。11.1分布式分析11.1.1

关于并行计算与传统的串行处理相对应,我们用并行计算这个术语来特指将一个任务分为更小的单元,并将其同时执行的方式。在一个程序中独立运行的程序片段叫作“线程”。所谓多线程处理,是指从软件或者硬件上实现多个线程并发执行(当具备相关资源时)的技术;分布式计算是指将进程处理分布于多个物理或虚拟机器上的能力。

图11-1串行处理(上)和并行处理(下)示意11.1.1

关于并行计算并行计算的主要效益在于速度和可扩展性。如果一个工人要花一个小时的时间去制造100个机器部件,那么在其他条件不变的情况下,100个工人在一个小时之内可以制造10000个机器部件。多线程处理优于单线程处理,但是共享内存和机器架构会对潜在的速度提升和可扩展性造成限制。大体上,分布式计算可以没有限制地横向扩展,并行处理一个任务的能力在于对任务本身的定义。11.1.2

并行计算的三种形式一些任务可以简单地进行并行处理,因为每个分析节点处理的计算指令独立于所有其他的分析节点,并且预期结果是每个分析节点所得结果的简单组合。我们称这些任务为高度并行。一个SQL的选择查询指令是高度并行的;评分模型也是;很多文本挖掘进程中的任务,如词语过滤和单词衍生形态查询,也是高度并行的任务。第二类的任务需要更多的努力来进行并行计算。对于这些任务,每个分析节点执行的计算也是独立于所有其他的分析节点,但是预期结果是来自于每个分析节点所得结果的线性组合。例如,通过分别计算每个分析节点的均值和行数,我们能够并行计算一个分布式数据库的均值,然后计算总平均值,作为分析节点均值的加权平均数。我们称这些任务为线性并行。11.1.2

并行计算的三种形式第三类任务更难进行并行计算,因为分析师必须以有意义的方式来组织数据。如果每个分析节点执行的计算独立于所有其他的分析节点,只要每个分析节点都有一大块“有意义”的数据,我们称这种任务为数据并行。假设我们要为每300个零售店建立独立的时间序列预测模型,并且我们的模型没有店与店之间的交叉效应。如果我们能够对数据进行组织,保证每个分析节点仅拥有一家店的所有数据,把问题转化为一个高度并行问题,我们就能够将计算工作分配给300个分析节点同时进行。11.1.3

数据并行与“正交”数据并行处理已经成为使用MPP数据库或Hadoop的一种标准处理方式,有两类限制需要我们去考虑。为使任务能够以数据并行的方式进行处理,分析师必须按照业务逻辑将数据进行分段组织。存储在分布式数据库中的数据很少会符合这种要求,所以,在分析进程处理之前必须重新整理数据,这个过程将增加处理的延迟。第二类限制是最佳的分析节点数量取决于问题本身。在之前引用的有关预测的问题上,最佳的分析节点数量是300个,这很少能和在分布式数据库或Hadoop集群中的节点数相匹配。11.1.3

数据并行与“正交”为了方便,我们用“正交”这个术语来形容一个完全无法并行计算的任务。“正交”原本是线性代数的概念,如果能够定义向量间的夹角,则正交可以直观地理解为垂直。在物理中,运动的独立性也可以用正交来解释。在分析学中,基于案例的推论是描述正交的最好例子,因为这种推论方法要求按顺序检查每一个案例。大多数机器学习和预测分析算法处于复杂并行的中间地带;数据可以被分段,交给分布式的分析节点处理,但分析节点之间必须互相通信,并可能需要多轮往复,预期结果是每个分析节点结果的复杂组合。11.1.4

分布式的软件环境软件开发者必须为分布式计算专门设计并建立机器学习软件。尽管可以将开源软件R或Python物理上安装在分布的环境中,这些语言的机器学习包必须在集群的每个节点上本地运行。例如,如果你将开源软件R安装在一个Hadoop集群中的每个节点上,并进行逻辑回归计算,会得到在每个节点运算出来的24个逻辑回归模型。某种程度上你或许可以使用这些运算结果,但必须自己来决定这些结果如何组合。

图11-2分布式计算环境11.1.4

分布式的软件环境传统的高级分析商业工具提供了有限的并行和分布式计算能力。SAS在它的传统软件包中有300多个程序,这其中只有一小部分支持在单机上进行多线程(SMP)处理。表11-1展示了部分预测分析的分布式平台。11.1.4

分布式的软件环境表11-1分布式预测分析软件11.1.4

分布式的软件环境分析可见:(1)目前为止,没有任何一款分布式预测分析软件可以在所有的分布式平台上运行。(2)SAS可以在一些不同的平台上部署其私有框架,但必须和平台搭配使用,而且不能在MPP数据库内部运行。尽管SAS声称可以在Hadoop内部支持HPA,但是少见成功的客户案例。(3)一些产品,譬如NetezzaAnalytics和OracleDataMining,完全不能移植到其他平台上。(4)理论上来讲,MADLib可以运行在所有支持表功能的SQL环境中,但是PivotalDatabase看起来被应用得更广泛。11.1.4

分布式的软件环境总结一下要点:(1)一项任务是否能并行计算取决于任务本身。(2)在高级分析任务中,多数“学习型”任务是不能高度并行的。(3)在分布式平台上运行一款软件与将一款软件运行在分布式模式中是不一样的,除非开发者在设计软件时就明确支持分布式处理,否则软件将在单机本地运行,并且用户不得不自己去弄明白如何组合来自不同分布式节点的结果。一些软件商声称他们的分布式数据平台不需要多余的编程就能利用开源软件R或是Python包进行高级分析,这是他们将“学习型”预测模型与一些简单任务(如分值运算或是SQL查询指令)的概念混为一谈的结果。预测分析架构PART0211.211.2预测分析架构预测分析工作流程中的任务是一个复杂序列,尽管任务的真正序列取决于问题本身,而且会随着组织的不同而变化。当考虑整合分析和数据的实操选项时,有四种不同的架构可以选择,即独立分析、部分集成分析、基于数据库的分析和基于Hadoop的分析。11.2.3基于数据库的分析11.2.1独立分析11.2.4基于Hadoop分析11.2.2部分集成分析预测分析工作流程中的任务是一个复杂序列,尽管任务的真正序列取决于问题本身,而且会随着组织的不同而变化。11.2预测分析架构11.2.1

独立分析“独立分析”是指所有的分析任务在一个独立于所有数据源的平台上运行。在独立分析架构中,分析师会在一台独立于所有数据源的工作站或服务器上运行所有需要进行的任务。用户从源数据中以原子形式抓取数据,然后在分析环境下进行数据汇集和清理。准备好数据之后,用户在分析环境下进行高级分析并保存预测模型。为了应用模型,用户会再次抓取生产数据,在分析引擎中对其评估打分,然后将模型评分返还到生产环境中,用于上传和使用。

图11-3独立分析11.2.1

独立分析多年来这个架构都是唯一的方案,并且很多组织仍然将其作为标准做法。在独立分析环境中,打分是一种非常耗费人力的活动,会花费分析团队的大量时间,因此不适合对时效性要求高的应用。在某些情况下,这个架构表现得相当好。例如一些只需要很少数据片段的应用,一些以报告和图表而不是预测模型来体现分析洞察的应用,以及不需要确保生产实施的一次性项目。研究类的应用,譬如仿真或是复杂的敏感性分析经常会归为这一类,并从基于内存的平台中获得更好的性能。譬如通过GPU辅助运算或是内存数据库的使用来提高性能,而不是通过数据集成本身来提高性能。11.2.2

部分集成分析“部分集成分析”是指模型开发任务运行在一个独立的平台上,但是数据准备和模型部署任务运行在数据源平台上。在部分集成分析架构中,用户在源数据平台执行一些任务,其他的在独立分析平台执行。通常用户在数据源中执行数据处理任务并将获得的得分放到目标数据库或决策引擎中,这种方法将任务和工具匹配起来以达到最大效率。

图11-4部分集成分析11.2.2

部分集成分析关于数据源集成,分析师不再采取在原子水平上抓取所有数据并在分析环境中建立“自下而上”的分析数据集,而是在数据源中使用原生工具(例如SQL或ETL工具)来建立分析数据集。随后,分析师对完成的数据集进行抓取并将其放入分析环境中,用来完成数据准备任务(使用在数据库环境中无法支持的技术)并执行建模的操作。11.2.2

部分集成分析尽管分析师们可以用原生的工具直接执行这些操作,但是很多分析师还是喜欢选择偏爱的分析软件商提供的接口,有两种不同的数据源接口:穿过和下推。例如,SAS提供“穿过”式集成来使分析师可以将SQL、HiveQL、Pig或是MapReduce指令嵌入到SAS程序中;SAS控制执行的整体过程,并以远程用户的身份登录到目标数据源去执行指令。这个方法具有很高的灵活性,但是用户必须明确地写出所用指令的正确语法格式,这要求用户对相关编程语言有很深的理解。IBMSPSS、Alpine还有其他软件商可以提供“下推”式集成服务,这种服务能将用户请求翻译为平台特定的指令。下推式集成服务的使用更简单,因为分析师不需要掌握编程语言的特定知识。由于界面本身仅支持有限的用例,这种服务本身缺少一些灵活性。11.2.3

基于数据库的分析“基于数据库的分析”是指所有的分析任务在一个大型的并行计算数据库中运行。我们用基于数据库的分析来描述这样一种架构,在这种架构中,预测分析引擎与数据库运行在同一个物理平台上。所有的任务运行在同一个物理环境中,并且数据不用从一个平台传递到另外一个平台。

图11-5基于数据库的分析11.2.3

基于数据库的分析主流的关系型数据库(譬如DB2、Oracle)和MPP数据库(譬如IBMPureData和Tecradata)都提供了高级分析功能。例如1990年Oracle并购了数据挖掘软件ThinkingMachine,并且在2003年将其整合到Oracle数据库中。某些特定的用例能够很好地适用于这种基于数据库的架构,包括预测模型评分,需要利用全部数据的大数据集分析,还有对不能离开数据物理存储地点的专业数据的分析等。最后一种情况的典型例子是关于临床试验数据的分析,相关组织对于数据安全的重视通常会通过数据物理移动的管控来实现。这样的组织使用一个基于数据库的分析架构是十分有必要的。11.2.4

基于Hadoop分析“基于Hadoop分析”是指所有的分析任务在Hadoop环境中运行。尽管基于Hadoop的分析和基于数据库的分析有相似的优势,但还是要将这两者区别开来,因为在Hadoop中高级分析的技术选择是完全不同的。图11-6Hadoop模型11.2.4

基于Hadoop分析Hadoop非常适合作为分析平台来使用。和MPP数据库相比,Hadoop所需成本低,而且Hadoop的文件系统无需预先建模就能兼容不同的数据。正因为如此,在Hadoop中高级分析的方法正在变得越来越多。但是,Hadoop中的高级分析对用户的使用技巧有更高的要求。大多数情况下,分析师必须不用MapReduce或其他编程语言来自己写算法。云计算中的分析PART0311.311.3云计算中的分析除了在本地使用前面介绍的那些架构,企业也可以将其部署在“云端”。我们简要地讨论一下在一个整体的分析架构中,云计算可以扮演怎样的角色。云计算是基于资源池概念的分布式计算,最终用户无需关注对于用来提供计算能力的物理硬件的控制,也就是说用户只需把任务提交到云端。用于计算的云可以是公共云(如亚马逊的AWS)或是专属于企业的私有云。公共云服务可以仅包括在指定时间段租用的IT基础设施,或是可以包含特定的应用(如在AmazonMarketplacc提供的一些应用程序)。私有云可能包括企业自己拥有的计算硬件、共享资源或是两者的结合。11.3.2安全和数据移动11.3.1公有云和私有云云计算是基于资源池概念的分布式计算,最终用户无需关注对于用来提供计算能力的物理硬件的控制,也就是说用户只需把任务提交到云端。11.3云计算中的分析11.3.1

公有云和私有云创业公司和小型分析服务提供商一般都会利用公有云。在一些大型的公司,他们也会选择私有云。对于那些有特殊安全或隐私要求的公司,比起公有云计算,他们更倾向于使用私有云。私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司(客户)拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。11.3.1

公有云和私有云下面五种情况下更适合使用云服务的分析:(1)公司在IT基础设施上能够投入的资金有限。(2)分析服务提供商将成本作为账单的一部分向客户进行收取。(3)分析团队所面临的运算量变化很大且无法预测。(4)企业面临可预测的峰值负载。(5)分析团队的IT支持力量很弱。11.3.1

公有云和私有云创业公司在初期投资中经常缺少足够的预算去采购IT基础设施。尽管云计算架构的基础设施平均来说成本可能更贵,但是云计算上的规模经济可以使小型、成长型企业快速发展。云计算架构的方便性和灵活性可以让公司专注于自己的核心业务。分析服务提供商包括咨询公司、广告公司、专业的分析服务商以及类似的其他公司。服务提供商还有另外一个问题,就是他们很难去预测工作量:仅仅增加一个用户可能会造成分析计算量的翻倍。这些公司将费用计算到客户身上,因此每一个工作单元都必须归属于一个明确的客户。云计算平台简化了这种记账和计费问题。11.3.1

公有云和私有云高级分析的计算量非常大,经常会产生“波动的”和无法预测的计算量。如果公司提供专门的基础设施用于支持分析团队的高峰计算量,这些计算资源在大多数时间将保持空闲的状态。因此,用私有云或公有云基础设施来支持分析团队是非常合理的。分析应用程序也会产生多变但可预测的计算量。例如,银行每个月都要提交巴塞尔报告(一种银行合规报告)。由于经理需要将计划和绩效作对比,查询和报告的计算量会在月底达到高峰。零售商的分析计算量在春季的计划阶段和圣诞的报告阶段会有很大不同。同样的道理,对企业来讲,需要合理区分平时计算量和峰值计算量,并将峰值计算量放在云平台上进行支持。11.3.1

公有云和私有云最后,云计算平台对那些内部IT支持较弱的分析团队是非常有用的。想要寻求快速响应的业务部门分析师也许会和他们的IT支持团队发生冲突,尤其是在以注重成本控制或流程制度为激励的保守组织中。特别是市场部更倾向于快节奏的运营方式。这种情况下,分析团队会发现公有云模式可以使他们更快地回应内部客户的需求。11.3.2

安全和数据移动有两个主要顾虑限制了云计算分析的采用:安全和数据移动。安全方面的问题更多的是一个认知问题而不是实际问题——实际上本地系统也有可能被黑客攻击——但是认知非常重要。比起私有云,这个问题对公有云影响更大。上传数据的需求也会限制大数据集分析中云计算的使用。用来移动数据所需要的时间和成本可能会是难以接受的。当用于分析的源数据已经在云计算平台中的时候(一些公司已经这样),这将不再会成为一个问题。另一点需要记住的是,不管分析是在本地运行还是在云计算平台中进行,可能都会需要移动数据。在这种情况下,将数据传输到云计算平台中不会比在本地将数据从一个系统传输到另一个系统所花的时间长。11.3.2

安全和数据移动负载管理的逻辑表明,随着分析师越来越多地使用密集型计算技术,预测模型的开发将会更多地移动到云计算平台中。高度并行并且I/O密集型的模型评分应用会选择和源数据同样的平台。根据源数据存储的具体情况,不管是在本地还是在云计算平台中,公司都将保持这类任务尽可能地靠近源数据的存储地点。现代SQL平台PART0411.411.4现代SQL平台SQL(结构化查询语言)在20世纪70年代早期由IBM开发出来。在20世纪80年代初期,由于Oracle的大力推广,SQL成为事实上普遍接受的数据库语言。在这段时期,数据库的设计初衷是用来创建并修改每一条交易本身,并逐步以线上交易处理(OLTP)而闻名。此时计算量的优化主要针对每一条记录的操作,因此主要用于捕捉交易数据,而不是用于分析类型的计算量,分析类型的计算更多是针对汇总后的数据,或按列进行计算。在过去的几十年,SQL标准已经延展,在语言中包含了基本计算功能,例如平均数、最小值、最大值和计数。11.4现代SQL平台20世纪80年代早期,可以用于存储大量数据的数据仓库的普及给分析数据带来了新的机会。20世纪90年代中期,数据库分析首先被引入,开始了基于SQL的数据库和分析的融合。数据库分析让数据库用户有机会将更多复杂的分析嵌入到数据库中,可以对数据进行计算而无需将其从数据仓库中提取出来。然而,编写复杂的分析代码是有挑战的,直到21世纪头十年中期,数据库分析才开始普及。为了使数据库用户的使用更简单,数据库厂商开始将更加庞大的分析函数库植入到数据库平台之中。尽管数据库分析带来了越来越多的好处,这项技术在市场上还是没有被充分利用。11.4.3MPP数据库11.4.1什么是现代SQL平台11.4.4SQL-on-Hadoop11.4.2现代SQL平台区别于传统SQL平台11.4.5NewSQL数据库11.4.6现代SQL平台的发展11.4现代SQL平台11.4.1

什么是现代SQL平台埃德加·考德首次引入了SQL这个概念,作为一种数据库语言来使用户能够更方便地创建和操作关系型数据库表。如今,SQL已经成为数据库领域最权威、成熟和广泛接受的编程语言。尽管SQL平台大部分具有交互能力,用户可以进行查询并得到结果,但很多的生产进程是通过批处理方式离线执行的。通常来讲,一般用途的数据库被归类为OLTP数据库。自从20世纪70年代起,OLTP数据库已经普及并非常成熟。随着OLTP数据的成熟,数据库厂商重点推广(基于行)关系型数据库,以提供多种功能来保证数据库中交易的可靠处理。今天我们把这套数据完整性属性统称为ACID(原子的、一致的、独立的、持久的)规范。11.4.1

什么是现代SQL平台数据仓库是一种专业关系型数据库,用来生成报表和在线分析(OLAP)。如今数据仓库也已相当成熟,完全符合ACID的规范。2006年,随着Hadoop的引入,传统的数据库和数据仓库市场发生了巨大的改变。Hadoop是一种开源软件框架,用于对廉价商业硬件上的大量非结构化数据进行分布式存储和处理。Hadoop被设计成具备跨服务器集群的弹性扩展和容错。容错处理是一种特性,用来使系统可以正确处理意外的软硬件中断,如断电、断网等。

图11-8Hadoop多维分析平台架构图11.4.1

什么是现代SQL平台Hadoop为数据库市场的创新创造了一个良好的开端,这场创新仍然在持续进行中。2009年左右,NoSQL数据库出现,它和传统数据库有如下几个不同点:·非关系型分布式数据存储·无SQL功能·不符合ACID规范NoSQL数据库使用了不同的数据存储架构,包括树、图和键值对。随着NoSQL数据库逐渐成熟,引进了一种“最终一致性”的数据完整性模型,能够最终提供符合ACID规范的数据完整性。11.4.1

什么是现代SQL平台尽管NoSQL数据库一开始并没有SQL功能,但是随着NoSQL数据库的发展,拥有了一种类似SQL的功能,NoSQL的名称也逐步变为“不仅仅是SQL”(NotonlySQL)。这项技术最重大的贡献之一是突破了传统的OLTP和数据仓库在水平拓展方面的局限性。水平拓展是一种能力,指通过在物理机器以外增加计算节点来提高数据库处理能力,而不受任何限制。这个重大突破可以让NoSQL数据库利用廉价的商业硬件来进行计算能力的扩展,从而使数据库和数据仓库应用的成本显著下降。NoSQL数据库另外一个很关键的能力是容错。11.4.1

什么是现代SQL平台2011年,紧接着NoSQL数据库的引入,行业又推出了NewSQL数据库平台,借鉴了传统数据库、数据仓库和NoSQL数据库的功能。基本来说,NewSQL数据库平台提供了水平拓展、更快的交易进程处理、容错能力、SQL界面,并符合ACID规范。11.4.2

现代SQL平台区别于传统SQL平台一个现代SQL平台在几个重要方面是区别于传统SQL平台的,它们分别是:·在廉价商业化硬件上的水平拓展能力。·简单提取和处理任何数据的能力。·在查询和分析处理能力上有更高的性能。·数据完整性和一致性。·用户可以在分布式进程处理和容错之间的平衡上进行调节。11.4.2

现代SQL平台区别于传统SQL平台一个现代SQL平台在商业化硬件上使用分布式进程架构,提供可以容错的无限制的水平扩展能力。尽管现代SQL平台提供了符合ACID规范的和更高的进程吞吐量,但是天下没有免费的午餐。为了保障数据一致性,这些平台需要锁定数据来进行修改。每个平台或者默认在性能和一致性中进行平衡,或者允许用户去做平衡选择。′为了能够充分管理无限制的长度可变的字符,现代化SQL平台做出了很多的努力来支持大型字符和字符串数据。此外,现代SQL平台针对巨型数据集——互联网级别的数据集――而不是局限于数据子集,提供了更快的处理。11.4.2

现代SQL平台区别于传统SQL平台如今,有三种主要的现代SQL平台:(1)MPP(大规模并行处理)数据库;(2)SQL-on~Hadoop;(3)NewSQL数据库。11.4.2

现代SQL平台区别于传统SQL平台每个现代SQL平台支持一种或多种类型的分析查询和处理任务,包括:·批处理SQL——在后台执行需要时间处理的静态数据查询。需要长时间处理的查询通常所需的运行时间从20分钟到20个小时不等。这种批处理方式一般用来进行大量的ETL处理、数据挖掘和预测模型建模。·交互式SQL——在线执行静态数据的查询,用户在线等待查询结果。这种低延迟的查询所需的运行时间从100毫秒到20分钟不等。这种交互式SQL一般用作传统的商务智能报表和可视化报表,即席查询和固定报表。11.4.2

现代SQL平台区别于传统SQL平台·实时或运营SQL——对静态数据的大用户量高并发交易数据查询。这种低延迟查询所需运行时间通常低于100毫秒。这种形式一般用作对大数据量(OLAP)的只读操作、点查询和针对小数据集的互联网应用程序。·流式SQL——在一个时间窗口内,对动态数据进行实时连续查询和分析处理(举个例子,“在最近5分钟有多少异常现象被检测出来?”)。这种延迟极低的查询所需运行时间一般低于10毫秒。这种方式一般用作算法交易、实时个性化广告、实时欺诈检测和实时网络入侵。11.4.2

现代SQL平台区别于传统SQL平台SQL通过以下几种机制来支持分析型任务:·SQL内置函数——在SQL中实现的基本的描述性分析函数,如平均数、计数、百分比、标准差及其他。·SQL自定义函数(UDF)——它们提供一种机制,可以让用户自己编写分析函数,使用较低级的编程语言,如Java、C或C++。·SQL分析库——在SQL和SQL自定义函数中实现的分析功能。这些通常是第三方函数库,可能包含统计、预测分析、机器学习和其他诸多功能。FuzzyLogix的DBLytix和开源软件MadLib都是这种函数库的典型例子。11.4.3MPP数据库一个典型的大规模并行处理(MPP)数据库会使用一种无共享架构,它把一个服务器的数据和工作量分配到许多独立的计算节点中。将工作量分割完成提高了数据库操作处理能力。在传统的数据库中,计算是集中进行的,所有数据被打包送到中央节点,然后进行计算。在MPP数据库中,通过把查询和计算发送到数据的位置进行,从而避免了数据移动的瓶颈。11.4.3MPP数据库如今MPP数据库是被广泛接受的商业化数据仓库。一体机概念:一体机是针对某一硬件优化过的一种软件和硬件的组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论