更全的杂志信息网

gfs论文发表于那一年

发布时间:2024-07-13 05:16:58

gfs论文发表于那一年

不推荐看理论性很强的书(不意味着不需要掌握)。找个你感兴趣的开源工具,然后看看他的document和论文,读读源码,用一用。不只要知道很多分布式的工具可以做什么,最重要的还是自己要深入一个。有广度有深度,领会某个优秀工具设计上的理念。先看看google的mapreduce,bigtable那几篇经典的论文。不要太多,要选择经典。因为绝多数都不怎么样。然后选择简单和成熟的分布式系统玩玩,写几个简单的程序。并对他们敢兴趣的地方看看源代码。然后就是想想已有系统有什么不好的地方进行一下修改。所有的系统都是tradeoff的产物,所以你总是可以找到性能提升的地方。中途会遇到很多bug,多问问论坛。也会遇到理论上的不足,这个时候有针对性的看论文或者书籍。大致如此吧!

广泛的公民参与可以充实公共管理的内容和确保公共利益的实现,它是现代公共管理不可或缺的重要环节,是促使公共部门实现其公共责任和良好治理的一个重要手段。下面是我为大家推荐的公共管理硕士 毕业 论文,供大家参考。

公共管理硕士毕业论文 范文 一:公共管理实验研究强化问题分析

实验研究作为较成熟的研究 方法 ,可以引入公共管理学科;实验研究作为一种知识创造的方法,其本身也需要结合所应用的学科特征被研究而发展。基于这两个层面的考虑,借助于本期的两篇公共管理实验研究 报告 ,这里对实验研究相关的几个问题进行概要性讨论,以图引起公共管理学者的深度关注。

一、公共管理学科应加强的实验研究

学术研究的基本任务是对自然、社会、人文、科学技术等现象进行描述、解释及其应用。其中,关键和困难的环节是对所研究对象的内在机制的解析,而这,在现代科学研究范式意义上,体现为对其因果关系及其机理的分析与验证。由于自然,尤其是社会现象的复杂性,自然情形下的观察是被动的、表面的。因此,如何主动地、深度地、操控性地进行因果关系机理研究,就成为现代科学研究的有效方法论的追求目的。基于西方____宗教信仰中的理性学派传统,萌芽于文艺复兴后期,成形于近代资本主义早期,完善于科学理性昌盛的20世纪中期的实验研究方法,目前已成为自然科学、社会科学的重要研究方法,其影响力如此之强,以致如哲学这样高度抽象的学科,也出现了如“实验哲学”这样的研究方式(Knobe,2012)。政治科学与公共管理的实验研究进展较为滞后。有人对《美国政治科学评论》(APSR)所发论文的研究方法进行了评估,发现该刊所发表的真正实验研究论文出现于1992年以后。1950—1992年,美国政治科学三大主流刊物《美国政治科学评论》(APSR)、《美国政治科学杂志》(AJPS)、《政治学杂志》(JOP)共发表实验方法类论文58篇,但之后的1993—1997年5年间,却发表了实验 文章 28篇,占到1950—1992年所发表的实验类论文的33%。21世纪头5年,政治学实验论文更是快速发展,三大刊物所发论文47篇,这还不包括14篇问卷实验(SurveyExperiments)论文。政治科学的实验研究已从偶尔为之,发展成为被普遍接受的和有影响力的研究范式。实验研究在国际关系研究中也有不少应用(Hyde,2015)。政治学家埃莉诺•奥斯特罗姆(ElinorLinOstrom)之所以能够获得2009年的诺贝尔经济学奖,与其实验方法的娴熟应用不无关联(Morton&Williams,2010)。至于公共管理学科,实验研究较为滞后,直到近期,才有意识地推进这方面的工作(Jilke,etal.,2014)。由此可见,公共管理的实验研究,是值得大力推动的、有巨大学术潜力的研究方式和领域。基于实验研究的优势,《公共行政评论》本期推出以中国问题为研究对象,以实验方法为手段的专栏。之所以推出以实验研究方法为主题的专栏,旨在凸显本刊的学术意图———推进实验研究方法在公共管理研究中的应用,尤其是推动具有中国学术气息的公共管理实验研究。

二、实验研究方法的基本逻辑与问题

如今,实验研究方法已成为成熟的学科,全面介绍其状况、学理是本导语不能胜任的,然而,为推动这方面的研究,提纲挈领式的核心思想介绍又是必要的。实验研究方法的含义有诸多种界定,一般是指理论驱动(即理论判断验证为研究目标)下,在典型或人为特定的条件下,采用科学仪器、设备,主动干预和控制研究对象,获取因果关系科学事实,验证理论假设的研究方式(Webster&Sell,2007)。实验法的基本逻辑是:①确定研究问题,构建理论框架;②理论操作化,包括理论命题变量指标化,因果规律的自变量、因变量操作化,指标数据化,统计方法适应性选择等;③实验操作与监控;④分析、解释实验结果,形成理论结论。这是一个从理论意图到变量操作,因果关系解释,形成理论的多阶段过程。其不同阶段的具体方法、方式(如理论构建、实验设计和数据分析等),构成了实验研究的方法论知识体系。随着自然和社会科学实验研究的发展,如今已成为包括诸多实验方法和统计方法的庞大、复杂学科体系。实验法之所以被视为科学研究的经典方式,在于其人为性、随机性(Randomization)和操控性(Manipulation)的特征。人为性指实验研究往往是通过人为设定环境或条件,构造“纯”理想的事件环境,并在此环境下观察、测量被试的行为变量;操控性指对理论的变量关系进行呈现、控制、强化等,使所研究的因果关系得以重复展现,以发现其内在因果机制;随机性则是以随机原则控制被试、条件,保证因果关系不是偶然的、内生的或外在系统误差带来的,保证因果变量的普遍性。正是运用这些方式的综合应用,使科学研究最为关注的因果关系可以从复杂的社会 文化 背景下被抽离出来,以操控的方式进行验证,从而对不确定世界的内在机制给出确定的解释(Palfrey,2009)。实验研究最为人所诟病的问题是外部效度问题。外部效度指科学研究中的实验结果类推到真实社会情境中的其他母体或环境的有效性(Webster&Sell,2007)。用更通俗的话说,即人为实验条件下的研究发现推论到现实情境所产生的失效现象。对于实验研究的外部效度问题,学术界有不少争论或解释(Webster&Sell,2007)。

作者认为,应这样理解:一是,实验研究的优势是内部效度而非外部效度。应当承认,实验研究,尤其是社会科学的实验研究,外部效度困境确实存在,但不能因此而对实验研究的价值完全否定。实验研究的根本特质是以操控的方式对所研究的理论问题进行因果关系呈现、验证,从而对事物的规律进行理论解释。所罗门•阿希(SolomonE.Asch)的从众实验情境在真实生活几乎不会发生,但恰恰是实验室的从众研究给出了如此令人震惊的从众现象(Asch,1955)。二是,实验研究的结论有特定的逻辑界限。每一种研究方法的结论在推论上均有其逻辑依据,如果说问卷调查法的结果适合分布式推论,个案研究方法的结论适合结构式推论,实验研究方法的理论发现则只适合因果关系性推论。因此,实验方法做出的结论不应是分布式推论或结构式推论。而这一点,不要说刚刚从事实验研究的学者,甚至是有 经验 的学者,也可能无意识地把因果推论逻辑转变为分布式推论逻辑,从而带来外在效度的严重误差。此外,实验研究还有一个常常为人批评的问题,即研究结果发现往往是“不过如此”的常识验证。对此,人们可能会说:“我感觉就是如此,还需要做实验吗?”实验研究的确有这种现象,即通过细致、严格、大量的实验,证实了常识。对于这一似乎费时费力、似无必要的现象,学术的理解应这样:一是,生活常识的证实即是科学活动的一部分。人类是有智慧的动物,即使一个资质一般的人,通过对生活经验的深度 反思 ,对某一现象的分析、解释也可能是对的,但在科学的因果关系验证标准看来,这是不可靠的,对其检验乃是人类理解自身的学术任务;二是,对于生活常识的判断,学术的研究往往能够给出常识之外的新理解。如在日常生活中大多数人都知道,人有服从性。这是对的。但斯坦利•米尔格兰姆(StanleyMilgram)经典服从实验不仅证实了这个生活经验判断,还给出了令人震惊的新发现。在进行实验之前,米尔格兰姆曾就被试的服从比例对其心理学家同事进行了调查,他的同事判断,只有少数几个人,甚至只有1%的被试会完全服从实验指令,直到使用最大伏特电力进行惩罚。但结果却是,在第一次实验中,就有65%(40人中超过27人)被试完全服从惩罚指令,直到450伏特的最大惩罚度。尽管被试在服从命令的过程中,都表现出不太舒服,甚至说想退回实验的报酬,但没有被试在到达使用300伏特电击之前拒绝服从指令(Milgram,1963)。该类实验的元分析(Meta-analysis)发现,被试愿意施加致命的伏特数的比例约在61%至66%之间(Blass,1999)。由此可见,实验研究能够对常识判断有深度的补充。

三、公共管理的实验研究应有自己的学科特征

如今,实验研究已成为成熟的研究方法,甚至不少学科已形成了有自己学科特色的实验方法体系。如心理学、经济学、社会性、政治科学等。公共管理科学开展实验研究,虽然存在汲取与追赶这些学科的任务,但也要注意形成自己的实验研究特色:首先,应依据公共管理的学科特征使用实验方法。实验研究虽然涉及大量的技术甚至技巧问题,但根本看,是以理论构建为驱动的,而理论构建,不同学科的逻辑基础是不同的。就公共管理而言,即使从最直接、简单的定义理解,公共管理的特征是政治—文化—社会性的。显然,这不同于个体性的心理学研究,也不同于效用最大化的经济学研究。由此,简单借用心理学或经济学的实验理论或方法就可能出现底层的的不契合问题。那么,该如何以公共管理的学科特征进行理论构建?不同学者会有自己不同的选择。如果要在这里给出具体的建议,笔者的建议是,采用“问题中心,公共管理 思维方式 ”的研究策略,即从公共管理的真实社会情境中,发现研究问题,以其总体性状态和内在逻辑为基础,以公共管理学科的思维方式来构建理论框架。现代学科有分别和界限,但“问题”总是在“那里”,“问题”是不分学科的,故而,若简单地以某一学科或某种理论为解释框架,有可能肢解“问题”,使研究“问题”失真。但是,现代学科毕竟有自己学科立场,而学科立场突出体现在学科的思维方式上。如心理学的思维方式突出表现在以还原分析的方式研究心理活动的因素及其机制。公共管理学科的思维方式虽然有不同理解,但大概可以理解为,以合法性和有效性检视公共管理活动与政策的恰当性,以此为内在依据,构成公共管理研究的“问题框架”。至于具体的构建方式,因素—结构—功能的此为策略是可资借鉴的方式(景怀斌,2011),即从公共管理的视野看,所研究对象的构成要素是什么?要素间的结构是什么?结构具有什么样的功能?其功能在合法性与有效性方面的表现如何?等等。进而,采用实验方法验证理论判断。其次,公共管理也应注意形成自己学科特有的实验方法。不少社会科学在发展中形成了自己的实验方法。如,心理学实验方法的成熟,与其早期心理物理学的实验研究历程分不开。而且,心理学不断汲取新的技术方法扩充实验方式,如心理学汲取了脑神经研究手段,形成了脑认知研究实验技术。类似地,公共管理能否结合自己的学科特征形成自己的实验方法?理论上是完全可能的。当然,这需要艰苦的学术努力才能实现。第三,同任何方法都有局限一样,实验研究有自己的适应范围。实验研究虽然需要大力推进,但它不是“包打天下”的唯一“法宝”,应根据研究任务与问题“采用”,而不是为显示“高大上”而不分青红皂白地“套用”。本期的两篇实验报告是这方面的尝试。其中,《观念形态激活对公共问题决策的影响与机制》即体现了“问题中心,公共管理思维方式”的研究策略。

所谓“问题中心”,既是以中国社会出现的观念形态争论为研究对象———试图回答“人们为何以掌握真理的感觉有偏见地认知”社会现象的理论机理,形成了观念形态如何扭曲公共问题决策的研究议题,“公共管理思维方式”即以把此问题置于合法性与有效性检视来设计具体研究问题,而不是借用已有的心理学理论来研究。在这一思维方式下,采用3(“左”“中”“右”观念形态)×2(激活、未激活)被试间实验设计,通过观念形态激活控制,验证了观念形态激活后对公共问题决策的扭曲现象,进而分析了其机制,为公共问题决策提供了若干建议。另一篇实验论文《如何有效征税:来自纳税遵从实验的启发》则从实验经济学的角度,考察税率对人们纳税遵从以及国家税收收入的影响。实验分析,在其他情况不变时,法定税率越高,纳税人逃税越多,但纳税额却越高的结论。作者针对A-S模型或者道德—契约模型的解释局限,以“前景理论”来解释这一发现,将纳税决策过程看成纳税者受到“逃税利益”和“心理机制”双重影响的结果,纳税人会以“法定税负”为其决策参考点,逃税可以带来额外心理收益,纳税人又对这部分收益表现出敏感递减的趋势。这就说明其为何在较高税率时,即便逃税更多、自愿纳税却也更多,从而为如何有效征税提供了实验理论依据。总之,公共管理的实验研究已成趋势,需要跟进,但公共管理又如何在此趋势中形成自己的方法论特征,更是学科任务之一。在这个意义上,公共管理的实验研究面临着引进与创新的双重挑战,需要更多的关注和投入。

公共管理硕士毕业论文范文二:创新文化对公共管理的影响分析

1文化与公共管理的关系

在内容方面,文化必然会给公共管理活动带来一些作用,比如针对社会成员建立行动规范,将其观念限制在一定范围或是方向上,构建社会文化环境等,也就是说它让公共管理系统的思维和动作能够和文化环境匹配在一起,达到平衡的状态,否则就会失衡。拿行政活动来说,这种活动的最终效果,大大受到行政人员综合能力的影响,比如其知识技能、思想观念、做事态度等。也就是说,在公共管理活动这一领域,文化环境和行政系统之间是密不可分的。前者对后者的影响不仅仅限于管理主体方面,而且还会对其客体产生作用。考虑到管理主体的一切活动都处于文化环境下,所以,要确保主体所进行的公共管理工作在质量和效率方面有所保障,必须确保主体本身有一定的文化积累。也就是说要让主体和文化彼此间能够变换,让文化催生主体的改变。文化对客体所产生的作用力是通过社会传递给客体的。在社会环境下,文化倾向是决定物质转换关系的原因之一。在社会中占据主流优势的文化,会让其他文化朝着自身倾斜和发展。比如,市场经济理念中最重要的就是公平和竞争,因此随着经济市场化程度的提高,公共管理活动越来越提倡民主、公正、服务。由此可见,文化观念确实会对公共系统产生巨大的影响。在形式方面,由于文化最主要的特征就是多样化,这一性质的存在使得公共管理活动变得更加复杂和多样化。如果文化环境对公共管理系统提出了正面的要求的话,就会让系统的思维和动作逐渐向前者靠拢,公共管理系统要实现综合绩效的全面提升,最有效的手段就是将文化所拥有的正面价值和要求纳入进来。文化之所以呈现多样化的特征,和很多因素之间是密不可分的,比如历史、政治、民族等。比如,国内很多政府机构和部门作为一种实体参与到经济建设中去,政府部门人员在其中兼任某些职务。又或者是政府部门合法地利用手中的公权力,获取一些经济收入,比如售卖公共服务等。这些现象都是文化特征的具体体现。因此,如果要提升政府管理部门体系的效能,并使其拥有更高的创造性和主动性,必须在文化决定公共管理精神这一理念的指导下,重点塑造文化环境。纵观中华民族政治变迁历史,一些历史上的有识之士所提出的“洋为中用”、“托古改制”等改革理念,其本质就是以文化环境的革新为切入点,实现行政框架的改变。另外,在进行变革的过程中,必然会出现不同的文化,它们彼此之间不断冲撞,结果或是继续排斥,或是融合在一起,因此会给公共管理系统造成多样化的影响。如今,我国正在进一步深化改革开放,各种符合时代特征的改革 措施 得到执行。在这样的社会背景下,各种新思想不断涌现,无法避免地和历史遗留下的老思想、老观念产生冲突。比如勇于创新和墨守成规等,这些现象的存在就是我国文化具有多样化特征的最有力的佐证,它们揭示了文化和社会之间存在的密不可分的关系,也向民众传达了政府公共管理的特征受到文化影响的认识。文化对公共管理活动所产生的作用会一直存在,因此对文化的利用以及研究也必须得到重视,不能中断。

2创新文化对公共管理的影响

公共管理最显著的特征就是将公共文化以及市场文化融合在一起。

2.1公共管理理论行政文化创新的核心是市场理念与公共理念的融合:

根据公共管理理论可知,从本质上看,市场文化和公共文化融合即为对政府公共管理效率的要求,这是政府公共管理市场效率理念的重要基础。在以往的公共行政观念中,政府将过多的注意力放在公平、公正方面,以将成本控制在预算范围内为追求,忽视了自身所制定的政策在市场的执行效率,忽视了资金的市场价值。公共管理理论没有否定公平、公正、预算的作用,而是将部分政府注意力转移到资金市场效率方面,也就是在满足公众对公共产品和服务需求的前提下,将成本控制在最低水平。所以,在进行公共管理革新时,政府会将更多的关注倾向于服务质量方面。

2.2公共管理理论的行政价值观念创新:

公共管理对公共行政内部所包含的关系进行审视的过程,实际上就是构建和更新自身对国家和社会、政府和市场、政府和人民等多种关系认识的过程,这是对以往公共行政理论所倡导的价值观的进一步延伸。公共管理认为,公共行政应该追求公共价值以及市场价值,而且努力将两种价值归于一个方向上。公共管理理论是由“公共理论”和“管理理论”所构成的。前者突出显示公共管理组织所具有的公共性,认为公共行政的需要承担起对政治和公民的责任。后者的理论来源于现代经济学以及 企业管理 理论,它将企业这种经济主体的管理经验应用到公共部门中来。过去的行政学理论,往往都是在“公共”和“管理”二者中择其一,这种问题在公共管理理论中得到了有效的解决。把公共管理理论引入到行政学中来,有效地将“公共”和“管理”同时纳入到行政学范畴内。公共管理所追求的价值即为提升行政民主政治责任意识,它以议会和行政、政党和行政等多种关系为切入点,全面研究在既定的政治背景下,行政所表现出的适应性以及敏感性。以往的行政管理在寻找将行政和政治分隔开来的方法,该怎么样确保行政不受政治的影响;而公共管理理论却提倡让行政去主动适应政治,同时揭示了两者之间的互动关系。公共管理理论十分重视政府外部的正式生态环境因素,对公共管理产生的复杂的作用。“公共理论”从管理人员面对的公共生态环境入手,强调公共管理者必须不断提高自身对环境的敏感性,特别是当政治中混有多元民主时,公共管理人员必须能够意识到环境的变化并据此调整策略方向。“公共理论”一直在尝试寻找一条实现行政官僚体系和民主共存的途径。对于欧美国家所实施的民主体制而言,文官的选拔并没有采取选举制或任命制,不过他们被法律赋予了行政和政治权力,这是他们执行社会价值分配的必备基础。在实践中权力的度是很难把握的,这一问题长期以来都是人们关注的焦点。人们对政府的期望存在很多矛盾的地方,他们希望政府在社会经济建设方面有所作为的同时,又希望政府将重点精力放在革除弊病方面。因此才会构建很多程序来对政府进行约束。在民主政治体制背景下,官僚行政组织对民主的控制通过两种方式实现:第一种,赋予立法机构对行政部门的监控权;第二种为政务领导,也就是构建政务官和常任文官之间的上下级关系。

2.3公共管理的行政组织文化创新:

利用公共管理理论作为行政组织体制改革的指导,具体措施为将决策权和执行权赋予不同的机关。成立在人事和财务方面能够自我管理的行政执行局,通过签订合同的方式,实施行政执行管理。执行机构体制或执行局制作为一种行政执行体制,其主要的特征在于对决策和执行实施分权而治,具体来说,将位于现行科层制中的中下层组织单独抽离出来,让其实现独立经营,并将编制、人事、财务等权限赋予掌控经营大权的经理。也就是说不同部门之间的关系从上下级变成了合同关系。行政执行局的成立有法律作为依据和保障,其主要职能在于执行政府政策以及向公众提供服务,在技术、专业、监管等方面表现出自身的特性,业务之间的关联更小,不再具有政府职能部门的性质和属性,但必须接受政府部门的管理。执行机构不能制定政策。执行机构的正式成立,说明政府组织机构已经转向执行机构包裹核心政策司的形式,其中核心政策司的主要作用是制定政策,执行结构的职责为确保政策能够落实,并提供服务,这和以往作为下级单位直接听命于上级部门和领导来说是完全不同的。从行政角度来看,执行机构和政策核心司不是前者隶属于后者。后者对前者的领导是通过合同实现的。将决策权和执行权分离开来的思想,实际上是公共管理中公共文化和市场文化融合在一起后产生的。在进行这种行政体制改革的过程中,组织内部就的行政组织文化也会慢慢发生改变,主要特征在于让行政组织更加重视绩效、服务质量以及商业价值。绩效指的是在承担行政责任的前提下,行政管理必须追求更高的绩效,通过各种措施的实施,比如合同管理、组织结构简化等,促进行政组织理性和灵活性的全面提升,最终实现组织效率的大幅提高;服务指的是行政组织要转变对公民的看法,将公民当做顾客一样为其提供服务。只有服务质量得到了提高,公民满意度才会相应地提高;商业指的是要将公共服务当做一种商品,然后再推向市场。让更多的政府部门甚至是私人部门参与到公共服务建设中来,实现市场竞争目的。

2.4公共管理的行政治理观念创新:

公共管理使得公共文化和市场文化有效地融合在一起,并将二者引入到行政改革建设领域,在政府内外部展开改革。内部改革即为执行局的成立和实施,外部改革即为号召公民参与进来,充分利用公民和社会的作用。后者体现了公共管理对行政治理的颠覆性认识。在公共管理领域,有两种思想是极力推崇这一点的,即“重塑政府理论”以及“治理与善治理理论”。最具有代表性的公共管理理论就是“重塑政府理论”。该理论认为,政府改革的主导者必须拥有企业家的精神,同时在改革的过程中要充分发挥民间组织的作用和力量。具体来说:首先,在改革过程中对政府进行重新定位,政府不应该成为改革的执行方,而是应该把握改革方向。通过购买的方式,将改革执行任务交由其他组织,实际上这一过程就是公共服务产生和提供的过程。其次,对于改革中的资源来说,政府要做的事即为穿针引线,充分调动各种稀缺资源,完成改革。政府利用民主程序,为社会需要指定目标。同时,发挥私人部门的优势,不断进行商品和劳务的制造,引入非政府组织,提供更加全面的公共服务。这里提到的非政府组织指的是第三部门,即志愿或非营利性组织(不包括以往的公共部门和私人部门),这些组织的所有者或控制者往往都是个人,它们能够提供能够满足公众需求的服务或产品,但目的不在于赚取经济利润。最后,政府服务可以通过三种方式呈现出来:传统形式,比如制定并实施的法律法规、税费收缴、发放经济补助等;创新形式,比如和民间组织构建合作关系等;先锋派形式:成立基金、市场重构、号召志愿者为公众利益服务等。公共管理理论在不断的发展过程中,取得了很多具体的理论成果。上世纪九十年代,治理与善治理论开始崭露头角。在该理论框架下,公共事务管理的措施有:合作、协商、整合目标等。从本质上看就是构建符合市场规律、满足公众利益的合作关系。它所构建的管理机制用合作网路的权威取代了政府的权威。该理论所倡导的观点为:第一,除了政府之外,其他公共和民间机构也扮演着公共管理主体的角色。它否定了国家权力中心即为政府的观点,如果公共和民间机构对合法权力的应用受到民众的肯定,那么它们也会因此成为权力中心,唯一的区别就在于所属层面的差异。第二,随着社会现代化程度的提高,国家开始和公民、社会共同承担责任,这就会导致国家和社会、公共部门和私人部门彼此间权力和责任慢慢混为一谈。第三,对于集体行为而言,其所包含的所有社会公共部门之间的关系越来越紧密。为了促进彼此目标的实现,这些机构和部门往往都会进行资源的交换,并通过交流寻找目标的共性,这样所有的参与者就会和政府构建合作伙伴关系,帮助政府处理一部分行政事务并承担相应的责任。第四,善治模式实际上是非常理想的。善治指的是在社会管理过程中不断促进公共利益的提升。从本质上看就是由政府和公民对公共生活进行共同管理。为了能够让公民肯定公共管理活动质量和成果,管理机构和活动必须尽最大努力解决公民和政府、公民内部的利益矛盾。要达到善治这一目标,政府和公民都必须进行奋斗并且开展合作,公民依法行使选举权、决策权、监督权等权利,和政府构成公共权威并共同构建和维护公共秩序。

简单点来说,就是Hadoop是继承了Google的MapReduce、GFS思想,开发出来的一套框架,后来又交给了Apache作为开源项目。MapReduce诞生于谷歌实验室,MapReduce与GFS、BigTable并称为谷歌的三驾马车,、而Hadoop则是谷歌三驾马车的开源实现。2003年,Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS是google公司为了存储海量搜索数据而设计的专用文件系统。2004年,Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。2004年,Google又发表了一篇技术学术论文MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。2005年,Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,Yahoo开建了一个独立的团队给Goug Cutting专门研究发展Hadoop。

gfs论文发表于哪一年

比如说hdfs系统,从谷歌的那篇GFS论文发表的2004年到现在的2014年年底,已经整整的10年过去了。学习一个系统,最好的方法是纵轴和横轴来看。纵轴就是观察系统的演变过程,还是拿hdfs来说,十年的时间变化很多,hdfs的架构变化是为了解决可靠性,可用性。从最初的hdfs 1.0的 single NameNode + SecondaryNameNode + DataNode 架构,到hdfs 2.0 的NameNode HA + NameNode Federation,这个架构的演变,就值得细细把玩。横轴看,就是将同类型的系统拿来做比较,有了比较,就有了更直观的认识。还是拿hdfs来说,同类型的系统,有 MapR FS 和谷歌的GFS 2.0(谁有资料,麻烦发一下),MapR FS 的资料还是有一些的。通过比较这些个系统的不同,会加深对分布式文件系统的理解,不仅仅是hdfs这一个,因为很多理论和实践是相通的。最后补充一句话,对于一家公司来说,照搬开源不一定是好事.

一、课题来源: 本课题来源于作者在学习和实习中了解到的两个事实,属于自拟课题。 其一,作者在2011年7月在XXX公司调研,了解到现如今各行业都面临着数据量剧增长,并由此带来业务处理速度缓慢,数据维护困难等问题。为了应对此挑战,很多企业开实施大数据发展战略。现如今的大数据发展战略可以概括为两类,一类是垂直扩展。即采用存储容量更大,处理能力更强的设备,此种方式成本较大,过去很多大公司一直采用此种方法处理大数据。但自从2004年Google发布关于GFS,MapReduce和BigTable三篇技术论文之后,云计算开始兴起,2006年Apache Hadoop项目启动。随后从2009年开始,随着云计算和大数据的发展,Hadoop作为一种优秀的数据分析、处理解决方案,开始受到许多 IT企业的关注。相较于垂直扩张所需的昂贵成本,人们更钟情于采用这种通过整合廉价计算资源的水平扩展方式。于是很多IT企业开始探索采用Hadoop框架构建自己的大数据环境。 其二,作者自2013年4月在XXX实习过程中进一步了解到,因为关系数据库在存储数据格式方面的局限,以及其Schema机制带来的扩展性上的不便,目前在大部分的大数据应用环境中都采用非结构化的数据库,如列式存储的Hbase,文档型存储的MangoDB,图数据库neo4j等。这些非结构化数据库因为可扩展性强、资源利用率高,高并发、响应速度快等优势,在大数据应用环境中得到了广泛的应用。但此种应用只解决了前端的业务处理,要真正利用大数据实现商务智能,还需要为决策支持系统和联机分析应用等提供一数据环境——数据仓库。为此,导师指导本文作者拟此题目,研究基于Hadoop框架的数据仓库解决方案。 二、研究目的和意义: 现如今,数据已经渗透到每一个行业,成为重要的生产因素。近年来,由于历史积累和和数据增长速度加快,各行业都面临着大数据的难题。事实上,大数据既是机遇又时挑战。合理、充分利用大数据,将其转变为海量、高增长率和多样化的信息资产,将使得企业具有更强的决策力、洞察发现力和流程优化等能力。因此,很多IT企业都将大数据作为其重要的发展战略,如亚马逊、FaceBook已布局大数据产业,并取得了骄人的成绩。事实上,不止谷歌、易趣网或亚马逊这样的大型互联网企业需要发展大数据,任何规模的企业都有机会从大数据中获得优势,并由此构建其未来业务分析的基础,在与同行的竞争中,取得显著的优势。 相较于大型企业,中小企业的大数据发展战略不同。大公司可以凭借雄厚的资本和技术实力,从自身环境和业务出发,开发自己的软件平台。而中小企业没有那样的技术实力,也没有那么庞大的资金投入,更倾向于选择一个普遍的、相对廉价的解决方案。本文旨在分析大数据环境下数据库的特点,结合当下流行的Hadoop框架,提出了一种适用于大数据环境的数据仓库的解决方案并实现。为中小企业在大数据环境中构建数据仓库提供参考。其具体说来,主要有以下三方面意义: 首先,目前主流的数据库如Oracle、SQL Server都有对应自己数据库平台的一整套的数据仓库解决方案,对于其他的关系型数据库如MySQL等,虽然没有对应数据库平台的数据仓库解决方案,但有很多整合的数据仓库解决方案。而对于非结构化的数据库,因其数据模型不同于关系型数据库,需要新的解决方案,本文提出的基于Hive/Pentaho的数据仓库实现方案可以为其提供一个参考。 其次,通过整合多源非结构化数据库,生成一个面向主题、集成的数据仓库,可为大数据平台上的联机事务处理、决策支持等提供数据环境,从而有效利用数据资源辅助管理决策。 再次,大数据是一个广泛的概念,包括大数据存储、大数据计算、大数据分析等各个层次的技术细节,本文提出的“大数据环境下的数据仓库解决方案及实现“丰富了大数据应用技术的生态环境,为大数据环境下的数据分析、数据挖掘等提供支撑。 三、国内外研究现状和发展趋势的简要说明: 本文研究的主体是数据仓库,区别于传统基于关系型数据库的数据仓库,本文聚焦大数据环境下基于非结构数据库的数据仓库的构建与实现。因此,有必要从数据仓库和大数据环境下的数据库两方面进行阐述。 (一) 数据仓库国内外研究现状 自从Bill Inmon 在1990年提出“数据仓库”这一概念之后,数据仓库技术开始兴起,并给社会带来新的契机,逐渐成为一大技术热点。目前,美国30%到40%的公司已经或正在建造数据仓库。现如今随着数据模型理论的完善,数据库技术、应用开发及挖掘技术的不断进步,数据仓库技术不断发展,并在实际应用中发挥了巨大的作用。以数据仓库为基础,以联机分析处理和数据挖掘工具为手段的决策支持系统日渐成熟。与此同时,使用数据仓库所产生的巨大效益又刺激了对数据仓库技术的需求,数据仓库市场正以迅猛的势头向前发展。 我国企业信息化起步相对较晚,数据仓库技术在国内的发展还处于积累经验阶段。虽然近年来,我国大中型企业逐步认识到利用数据仓库技术的重要性,并已开始建立自己的数据仓库系统,如中国移动、中国电信、中国联通、上海证券交易所和中国石油等。但从整体上来看,我国数据仓库市场还需要进一步培育,数据仓库技术同国外还有很大差距。为此,我国许多科技工作者已开始对数据仓库相关技术进行深入研究,通过对国外技术的吸收和借鉴,在此基础上提出适合国内需求的技术方案。 (二) 非结化数据库国内外研究现状 随着数据库技术深入应用到各个领域,结构化数据库逐渐显露出一些弊端。如在生物、地理、气候等领域,研究面对的数据结构并不是传统上的关系数据结构。如果使用关系数据库对其进行存储、展示,就必须将其从本身的数据结构强行转换为关系数据结构。采用此种方式处理非结构数据,不能在整个生命周期内对非关系数据进行管理,并且数据间的关系也无法完整的表示出来。在此背景下,非结构化数据库应运而生。相较于关系数据库,非结构数据库的字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成。如此,它不仅可以处理结构化数据,更能处理文本、图象、声音、影视、超媒体等非结构化数据。近年来,随着大数据兴起,非结构数据库开始广泛应用,以支持大数据处理的多种结构数据。 目前,非结构化的数据库种类繁多,按其存储数据类型分,主要包含内存数据库、列存储型、文档数据库、图数据库等。其中,常见的内存数据库有SQLite,Redis,Altibase等;列存储数据库有Hbase,Bigtable等;文档数据库有MangoDB,CouchDB,RavenDB等;图数据库有Neo4j等。近年来,我国非结构数据库也有一定发展,其中代表的是国信贝斯的iBASE数据库。可以预见在不久的将来,伴随这大数据的应用,非结构数据库将会得到长足的发展和广泛的应用。 四、主要研究内容和要求达到的深度: 本文研究的方向是数据仓库,并且是聚焦于大数据这一特定环境下的数据仓库建设,其主要内容包括以下几点: 1. 非结构数据库的数据仓库解决方案:本文聚焦于大数据这一特定环境下的数据仓库建设,因为大数据环境下的数据仓库建设理论文献很少,首先需要以研究关系数据库型数据仓库的解决方案为参考,然后对比关系数据库和非结构数据库的特点,最后在参考方案的基础上改进,以得到适合非结构数据库环境的数据仓库解决方案。 2. 非结构数据库和关系数据库间数据转换:非结构数据库是对关系数据库的补充,很多非结构数据库应用环境中都有关系数据库的身影。因此,非结构数据库和关系数据库间数据转换是建立非结构数据库需要解决的一个关键问题。 3. 基于非结构数据库的数据仓库构建:本文拟采用手礼网的数据,分析其具体的数据环境和需求,为其构建基于非结构数据库的数据仓库,主要包括非结构数据库的数据抽取,Hive数据库入库操作和Pentaho前台数据展现等。 五、研究工作的主要阶段、进度和完成时间: 结合研究需要和学校教务管理的安排,研究工作主要分以下四阶段完成: 第一阶段:论文提纲:20XX年6月——7月 第二阶段:论文初稿 :20XX年8月——10月 第三阶段:论文修改:20XX年11月——2014年3月 第四阶段:最终定稿:20XX年4月 六、拟采用的研究方法、手段等及采取的措施: 在论文提纲阶段,本文拟采用调查统计的方法,收集目前大数据环境下数据库应用情况,着重统计各类型数据库的应用比例。同时采用文献分析和个案研究的方法研究数据仓库构建的一般过程和对应的技术细节,并提出解决方案。在论文初稿和修改阶段,本文拟通过实证研究,依据提纲阶段在文献分析中收集到的理论,基于特定的实践环境,理论结合实践,实现某一具体数据仓库的构建。最后采用定性和定量相结合的方法,详细介绍大数据环境下数据库和数据仓库的特点,其数据仓库实现的关键问题及解决方案,以及数据仓库个例实现的详细过程。 七、可能遇见的困难、问题及拟采取的解决办法、措施: 基于本文的研究内容和特点分析,本文在研究过程中最有可能遇到三个关键问题。 其一,非结构数据库种类繁多,每类数据库又对应有不同的数据库产品,由于当下非结构数据库没有统一标准,即便同类数据库下不同产品的操作都不尽相同,难以为所有非结构数据库提出解决方案。针对此问题,本文拟紧贴大数据这一背景,选择当下大数据环境中应用最多的几类数据库的代表性产品进行实现。 其二,虽然经过二十年的发展,数据仓库的理论已日趋完善,但大数据是近几年才发展起来的技术热点,大树据环境下的数据仓库建设理论文献很少。针对此问题,本文拟参考现有的成熟的关系数据库环境下数据仓库构建方案和非结构化数据仓库理论,研究适合非结构数据库的数据仓库构建方案,请导师就方案进行指导,然后再研究具体技术细节实现方案。 其三,基于大数据环境的数据仓库实现是本文重要的组成部分,要完成此部分的工作需要企业提供数据支持,但现在数据在企业当中的保密级别都很高,一般企业都不会将自己的业务数据外传。针对此问题,本文拟采用企业非核心业务数据进行数据仓库实现。 八、大纲 本文的基本构想和思路,文章拟分为导论、大数据环境下的数据库介绍、大数据下数据仓库关键问题研究、基于XX电子商务的大数据下数据仓库实现、结论五部分。 导论 一、研究背景 二、国内外研究现状述评 三、本文的主要内容与研究思路 第一章 大数据环境下的数据库介绍 第一节 大数据对数据库的要求 第二节 关系数据库和非结构数据库比较 第三节 大数据下常用非结构数据库介绍 小结 第二章 大数据下数据仓库关键问题研究 第一节 非结构数据模型和关系数据模型的转换 第二节 基于多源非结构数据库的数据抽取 第三节 数据类型转换 第四节 数据仓库前端展示 第三章 大数据下数据仓库实现方案 第一节 大数据环境介绍 第二节 实现方案 第二节 Hive介绍 第三节 Pentaho介绍 第四章 基于XX电子商务的大数据下数据仓库实现 第一节 需求分析 第二节 模型设计 第三节 概要设计 第四节 基于Hive的数据入库操作实现 第五节 基于Pentaho的数据仓库前端展示实现 结论

简单点来说,就是Hadoop是继承了Google的MapReduce、GFS思想,开发出来的一套框架,后来又交给了Apache作为开源项目。MapReduce诞生于谷歌实验室,MapReduce与GFS、BigTable并称为谷歌的三驾马车,、而Hadoop则是谷歌三驾马车的开源实现。2003年,Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS是google公司为了存储海量搜索数据而设计的专用文件系统。2004年,Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。2004年,Google又发表了一篇技术学术论文MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。2005年,Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,Yahoo开建了一个独立的团队给Goug Cutting专门研究发展Hadoop。

gfs论文发表于哪年

随着大数据分析市场迅速渗透到各行各业,大家对大数据的关注度也越来越高,大数据技术是什么?

1.Hadoop

Hadoop确实是现在着名的大数据技术.

从2003年到2004年,谷歌发表了GFS、Mapreduce和BigTable三篇技术论文(这几篇论文成为云计算、大数据领域发展的重要基础).

当时,由于公司破产在家的程序员DougCutting基于前两篇论文,开发了简化的山寨版GFS——HDFS和基于MapReduce的计算框架.这是Hadoop当初的版本.

之后,Cutting被Yahoo雇佣,依靠Yahoo的资源改善Hadoop,为Apache开源社区做出贡献.

简要说明Hadoop原理:数据分布式存储,运算程序分别发送到各数据节点进行运算(Map),合并各节点的运算结果(Reduce),产生结果.

对于移动TB级数据,计算程序一般为KB--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在其诞生近十年来,Hadoop以其简单、易用、高效、免费、社区支持丰富等特点成为许多企业云计算、大数据实施的优先事项.

2.Storm

Hadoop很好,但有死穴.其一,其运算模式是批处理.这对许多有实时要求的业务没有很好的支持.

你说的产品再列举一下吧,看不到产品,没法给你确定

大数据分析相关的基本解决方案,主要包括Hadoop简介、大数据分析概述、基于MapReduce的大数据处理、Python-Hadoop科学计算和大数据分析、R-Hadoop统计数据计算、Apache Spark批处理分析、Apache Spark实时数据分析、Apache Flink批处理分析、Apache Flink流式处 理、大数据可视化技术、云计算简介、使用亚马逊Web服务等内容。

想学习大数据技术,是不是首先要知道大数据技术有哪些呢?也好知道自己未来应该往哪个方向发展,应该重点学习哪些知识? 抽象而言,各种大数据技术无外乎分布式存储 + 并行计算。具体体现为各种分布式文件系统和建立在其上的并行运算框架。这些软件程序都部署在多个相互连通、统一管理的物理或虚拟运算节点之上,形成集群(cluster)。因此不妨说,云计算是大数据的基础。下面介绍几种当前比较流行的大数据技术:1.HadoopHadoop无疑是当前很知名的大数据技术了。2003年到2004年间,Google发布了关于GFS、MapReduce和BigTable三篇技术论文(这几篇论文成为了后来云计算、大数据领域发展的重要基石)。当时一位因公司倒闭赋闲在家的程序员Doug Cutting根据前两篇论文,开发出了一个简化的山寨版GFS – HDFS,以及基于其的MapReduce计算框架,这就是Hadoop当初的版本。后来Cutting被Yahoo雇佣,得以依赖Yahoo的资源改进Hadoop,并将其贡献给了Apache开源社区。简单描述Hadoop原理:数据分布式存储,运算程序被发派到各个数据节点进行分别运算(Map),再将各个节点的运算结果进行合并归一(Reduce),生成结果。相对于动辄TB级别的数据,计算程序一般在KB – MB的量级,这种移动计算不移动数据的设计节约了大量网络带宽和时间,并使得运算过程可以充分并行化。在其诞生后的近10年里,Hadoop凭借其简单、易用、高效、免费、社区支持丰富等特征成为众多企业云计算、大数据实施的首选。2.StormHadoop虽好,却有其“死穴”.其一:它的运算模式是批处理。这对于许多有实时性要求的业务就无法做到很好的支持。因此,Twitter推出了他们自己的基于流的运算框架——Storm。不同于Hadoop一次性处理所有数据并得出统一结果的作业(job),Storm对源源导入的数据流进行持续不断的处理,随时得出增量结果。3.SparkHadoop的另一个致命弱点是:它的所有中间结果都需要进行硬盘存储,I/O消耗巨大,这就使得它很不适合多次迭代的运算。而大多数机器学习算法,恰恰要求大量迭代运算。2010年开始,UC Berkeley AMP Lab开始研发分布式运算的中间过程全部内存存储的Spark框架,由此在迭代计算上大大提高了效率。也因此成为了Hadoop的强有力竞争者。4.NoSQL 数据库NoSQL数据库可以泛指非关系型数据库,不过一般用来指称那些建立在分布式文件系统(例如HDFS)之上,基于key-value对的数据管理系统。相对于传统的关系型数据库,NoSQL数据库中存储的数据无需主键和严格定义的schema。于是,大量半结构化、非结构化数据可以在未经清洗的情况下直接进行存储。这一点满足了处理大量、高速、多样的大数据的需求。当前比较流行的NoSQL数据库有MongoDB,Redis,Cassandra,HBase等。NoSQL并不是没有SQL,而是不仅仅有(not only)SQL的意思。为了兼容之前许多运行在关系型数据库上的业务逻辑,有很多在NoSQL数据库上运行SQL的工具涌现出来,典型的例如Hive和Pig,它们将用户的SQL语句转化成MapReduce作业,在Hadoop上运行。大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾。能够在大数据行业崛起的初期进入到这个行业当中来,才有机会成为时代的弄潮儿。

gfs论文发表哪一年

发布式容易发论文的吗?在1979年karger发表的论文中首次使用了一致性哈希的术语。

一、课题来源: 本课题来源于作者在学习和实习中了解到的两个事实,属于自拟课题。 其一,作者在2011年7月在XXX公司调研,了解到现如今各行业都面临着数据量剧增长,并由此带来业务处理速度缓慢,数据维护困难等问题。为了应对此挑战,很多企业开实施大数据发展战略。现如今的大数据发展战略可以概括为两类,一类是垂直扩展。即采用存储容量更大,处理能力更强的设备,此种方式成本较大,过去很多大公司一直采用此种方法处理大数据。但自从2004年Google发布关于GFS,MapReduce和BigTable三篇技术论文之后,云计算开始兴起,2006年Apache Hadoop项目启动。随后从2009年开始,随着云计算和大数据的发展,Hadoop作为一种优秀的数据分析、处理解决方案,开始受到许多 IT企业的关注。相较于垂直扩张所需的昂贵成本,人们更钟情于采用这种通过整合廉价计算资源的水平扩展方式。于是很多IT企业开始探索采用Hadoop框架构建自己的大数据环境。 其二,作者自2013年4月在XXX实习过程中进一步了解到,因为关系数据库在存储数据格式方面的局限,以及其Schema机制带来的扩展性上的不便,目前在大部分的大数据应用环境中都采用非结构化的数据库,如列式存储的Hbase,文档型存储的MangoDB,图数据库neo4j等。这些非结构化数据库因为可扩展性强、资源利用率高,高并发、响应速度快等优势,在大数据应用环境中得到了广泛的应用。但此种应用只解决了前端的业务处理,要真正利用大数据实现商务智能,还需要为决策支持系统和联机分析应用等提供一数据环境——数据仓库。为此,导师指导本文作者拟此题目,研究基于Hadoop框架的数据仓库解决方案。 二、研究目的和意义: 现如今,数据已经渗透到每一个行业,成为重要的生产因素。近年来,由于历史积累和和数据增长速度加快,各行业都面临着大数据的难题。事实上,大数据既是机遇又时挑战。合理、充分利用大数据,将其转变为海量、高增长率和多样化的信息资产,将使得企业具有更强的决策力、洞察发现力和流程优化等能力。因此,很多IT企业都将大数据作为其重要的发展战略,如亚马逊、FaceBook已布局大数据产业,并取得了骄人的成绩。事实上,不止谷歌、易趣网或亚马逊这样的大型互联网企业需要发展大数据,任何规模的企业都有机会从大数据中获得优势,并由此构建其未来业务分析的基础,在与同行的竞争中,取得显著的优势。 相较于大型企业,中小企业的大数据发展战略不同。大公司可以凭借雄厚的资本和技术实力,从自身环境和业务出发,开发自己的软件平台。而中小企业没有那样的技术实力,也没有那么庞大的资金投入,更倾向于选择一个普遍的、相对廉价的解决方案。本文旨在分析大数据环境下数据库的特点,结合当下流行的Hadoop框架,提出了一种适用于大数据环境的数据仓库的解决方案并实现。为中小企业在大数据环境中构建数据仓库提供参考。其具体说来,主要有以下三方面意义: 首先,目前主流的数据库如Oracle、SQL Server都有对应自己数据库平台的一整套的数据仓库解决方案,对于其他的关系型数据库如MySQL等,虽然没有对应数据库平台的数据仓库解决方案,但有很多整合的数据仓库解决方案。而对于非结构化的数据库,因其数据模型不同于关系型数据库,需要新的解决方案,本文提出的基于Hive/Pentaho的数据仓库实现方案可以为其提供一个参考。 其次,通过整合多源非结构化数据库,生成一个面向主题、集成的数据仓库,可为大数据平台上的联机事务处理、决策支持等提供数据环境,从而有效利用数据资源辅助管理决策。 再次,大数据是一个广泛的概念,包括大数据存储、大数据计算、大数据分析等各个层次的技术细节,本文提出的“大数据环境下的数据仓库解决方案及实现“丰富了大数据应用技术的生态环境,为大数据环境下的数据分析、数据挖掘等提供支撑。 三、国内外研究现状和发展趋势的简要说明: 本文研究的主体是数据仓库,区别于传统基于关系型数据库的数据仓库,本文聚焦大数据环境下基于非结构数据库的数据仓库的构建与实现。因此,有必要从数据仓库和大数据环境下的数据库两方面进行阐述。 (一) 数据仓库国内外研究现状 自从Bill Inmon 在1990年提出“数据仓库”这一概念之后,数据仓库技术开始兴起,并给社会带来新的契机,逐渐成为一大技术热点。目前,美国30%到40%的公司已经或正在建造数据仓库。现如今随着数据模型理论的完善,数据库技术、应用开发及挖掘技术的不断进步,数据仓库技术不断发展,并在实际应用中发挥了巨大的作用。以数据仓库为基础,以联机分析处理和数据挖掘工具为手段的决策支持系统日渐成熟。与此同时,使用数据仓库所产生的巨大效益又刺激了对数据仓库技术的需求,数据仓库市场正以迅猛的势头向前发展。 我国企业信息化起步相对较晚,数据仓库技术在国内的发展还处于积累经验阶段。虽然近年来,我国大中型企业逐步认识到利用数据仓库技术的重要性,并已开始建立自己的数据仓库系统,如中国移动、中国电信、中国联通、上海证券交易所和中国石油等。但从整体上来看,我国数据仓库市场还需要进一步培育,数据仓库技术同国外还有很大差距。为此,我国许多科技工作者已开始对数据仓库相关技术进行深入研究,通过对国外技术的吸收和借鉴,在此基础上提出适合国内需求的技术方案。 (二) 非结化数据库国内外研究现状 随着数据库技术深入应用到各个领域,结构化数据库逐渐显露出一些弊端。如在生物、地理、气候等领域,研究面对的数据结构并不是传统上的关系数据结构。如果使用关系数据库对其进行存储、展示,就必须将其从本身的数据结构强行转换为关系数据结构。采用此种方式处理非结构数据,不能在整个生命周期内对非关系数据进行管理,并且数据间的关系也无法完整的表示出来。在此背景下,非结构化数据库应运而生。相较于关系数据库,非结构数据库的字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成。如此,它不仅可以处理结构化数据,更能处理文本、图象、声音、影视、超媒体等非结构化数据。近年来,随着大数据兴起,非结构数据库开始广泛应用,以支持大数据处理的多种结构数据。 目前,非结构化的数据库种类繁多,按其存储数据类型分,主要包含内存数据库、列存储型、文档数据库、图数据库等。其中,常见的内存数据库有SQLite,Redis,Altibase等;列存储数据库有Hbase,Bigtable等;文档数据库有MangoDB,CouchDB,RavenDB等;图数据库有Neo4j等。近年来,我国非结构数据库也有一定发展,其中代表的是国信贝斯的iBASE数据库。可以预见在不久的将来,伴随这大数据的应用,非结构数据库将会得到长足的发展和广泛的应用。 四、主要研究内容和要求达到的深度: 本文研究的方向是数据仓库,并且是聚焦于大数据这一特定环境下的数据仓库建设,其主要内容包括以下几点: 1. 非结构数据库的数据仓库解决方案:本文聚焦于大数据这一特定环境下的数据仓库建设,因为大数据环境下的数据仓库建设理论文献很少,首先需要以研究关系数据库型数据仓库的解决方案为参考,然后对比关系数据库和非结构数据库的特点,最后在参考方案的基础上改进,以得到适合非结构数据库环境的数据仓库解决方案。 2. 非结构数据库和关系数据库间数据转换:非结构数据库是对关系数据库的补充,很多非结构数据库应用环境中都有关系数据库的身影。因此,非结构数据库和关系数据库间数据转换是建立非结构数据库需要解决的一个关键问题。 3. 基于非结构数据库的数据仓库构建:本文拟采用手礼网的数据,分析其具体的数据环境和需求,为其构建基于非结构数据库的数据仓库,主要包括非结构数据库的数据抽取,Hive数据库入库操作和Pentaho前台数据展现等。 五、研究工作的主要阶段、进度和完成时间: 结合研究需要和学校教务管理的安排,研究工作主要分以下四阶段完成: 第一阶段:论文提纲:20XX年6月——7月 第二阶段:论文初稿 :20XX年8月——10月 第三阶段:论文修改:20XX年11月——2014年3月 第四阶段:最终定稿:20XX年4月 六、拟采用的研究方法、手段等及采取的措施: 在论文提纲阶段,本文拟采用调查统计的方法,收集目前大数据环境下数据库应用情况,着重统计各类型数据库的应用比例。同时采用文献分析和个案研究的方法研究数据仓库构建的一般过程和对应的技术细节,并提出解决方案。在论文初稿和修改阶段,本文拟通过实证研究,依据提纲阶段在文献分析中收集到的理论,基于特定的实践环境,理论结合实践,实现某一具体数据仓库的构建。最后采用定性和定量相结合的方法,详细介绍大数据环境下数据库和数据仓库的特点,其数据仓库实现的关键问题及解决方案,以及数据仓库个例实现的详细过程。 七、可能遇见的困难、问题及拟采取的解决办法、措施: 基于本文的研究内容和特点分析,本文在研究过程中最有可能遇到三个关键问题。 其一,非结构数据库种类繁多,每类数据库又对应有不同的数据库产品,由于当下非结构数据库没有统一标准,即便同类数据库下不同产品的操作都不尽相同,难以为所有非结构数据库提出解决方案。针对此问题,本文拟紧贴大数据这一背景,选择当下大数据环境中应用最多的几类数据库的代表性产品进行实现。 其二,虽然经过二十年的发展,数据仓库的理论已日趋完善,但大数据是近几年才发展起来的技术热点,大树据环境下的数据仓库建设理论文献很少。针对此问题,本文拟参考现有的成熟的关系数据库环境下数据仓库构建方案和非结构化数据仓库理论,研究适合非结构数据库的数据仓库构建方案,请导师就方案进行指导,然后再研究具体技术细节实现方案。 其三,基于大数据环境的数据仓库实现是本文重要的组成部分,要完成此部分的工作需要企业提供数据支持,但现在数据在企业当中的保密级别都很高,一般企业都不会将自己的业务数据外传。针对此问题,本文拟采用企业非核心业务数据进行数据仓库实现。 八、大纲 本文的基本构想和思路,文章拟分为导论、大数据环境下的数据库介绍、大数据下数据仓库关键问题研究、基于XX电子商务的大数据下数据仓库实现、结论五部分。 导论 一、研究背景 二、国内外研究现状述评 三、本文的主要内容与研究思路 第一章 大数据环境下的数据库介绍 第一节 大数据对数据库的要求 第二节 关系数据库和非结构数据库比较 第三节 大数据下常用非结构数据库介绍 小结 第二章 大数据下数据仓库关键问题研究 第一节 非结构数据模型和关系数据模型的转换 第二节 基于多源非结构数据库的数据抽取 第三节 数据类型转换 第四节 数据仓库前端展示 第三章 大数据下数据仓库实现方案 第一节 大数据环境介绍 第二节 实现方案 第二节 Hive介绍 第三节 Pentaho介绍 第四章 基于XX电子商务的大数据下数据仓库实现 第一节 需求分析 第二节 模型设计 第三节 概要设计 第四节 基于Hive的数据入库操作实现 第五节 基于Pentaho的数据仓库前端展示实现 结论

你说的可能是这三个吧:2003年发表了《The Google File System》2004年发表了《MapReduce: Simplified Data Processing on Large Clusters 》2006年发表了《Bigtable: A Distributed Storage System for Structured Data》

随着大数据分析市场迅速渗透到各行各业,大家对大数据的关注度也越来越高,大数据技术是什么?

1.Hadoop

Hadoop确实是现在着名的大数据技术.

从2003年到2004年,谷歌发表了GFS、Mapreduce和BigTable三篇技术论文(这几篇论文成为云计算、大数据领域发展的重要基础).

当时,由于公司破产在家的程序员DougCutting基于前两篇论文,开发了简化的山寨版GFS——HDFS和基于MapReduce的计算框架.这是Hadoop当初的版本.

之后,Cutting被Yahoo雇佣,依靠Yahoo的资源改善Hadoop,为Apache开源社区做出贡献.

简要说明Hadoop原理:数据分布式存储,运算程序分别发送到各数据节点进行运算(Map),合并各节点的运算结果(Reduce),产生结果.

对于移动TB级数据,计算程序一般为KB--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在其诞生近十年来,Hadoop以其简单、易用、高效、免费、社区支持丰富等特点成为许多企业云计算、大数据实施的优先事项.

2.Storm

Hadoop很好,但有死穴.其一,其运算模式是批处理.这对许多有实时要求的业务没有很好的支持.

gfs论文发表年限

CS7680著名的9个论述 也是这门课推荐对于分布式系统的一个初步认识 windows live的架构师james总结一系列大型后台服务的设计原则CAP 准确说是一篇blog,很精简,文字也不多,其实文中的图比文字更清晰。cap的理解也经历了一些纠结的过程,这一篇其实是作者多年后的二次理解。所以出错其实没啥问题,这位老板就完全推翻了之前文章里的阐述 也是通俗易懂的入门介绍cap的blog brewer多年以后写的关于cap的一些误解,C和A并不是完全对立的状态 是对上面这片文章的review心得 开始用了两个新名词来阐述A)yield, which is the probability of completing a request .感觉说的就是AB)harvest ,measures the fraction of the data reflected in the response.感觉说的就是C这篇论文对于available提出里两个比较好的方案:1)牺牲harvest换来yield2)应用架构拆分 和 正交机制BASE base一致性的开山鼻祖,首次提出了和acid相反的一种理论,论文中给出了一些单机事务到多机事务的演进过程,并没有觉得很理论,工程很值得借鉴一致性 一致性的模型,高屋建瓴,是一篇blog 概述的文章 先看看sequential consistency lamport大神不用过多的介绍,读他的论文唯一的感受就是智商的差别吧 也是线性一致性的文章 作者在cmu发表的eventual consistency最终一致性的文章首推 aws的cto 讲了一些高可用和一致性之间的trade-off 描述了 最终一致性 和 因果一致性的关系 consistency Bolt-on的架构设计 cops的架构设计 一个causal consistency的db设计与实现从前三篇文章的作者来看,ucb & cmu&priceton 还是很值得一读的最后一篇的年代已经久远,其实发现计算机的一些理论基础其实是很经得起时间的考验的,所以码农其实也可以过的没有那么的有危机感^_^ 这个是最后一篇论文的ppt版本 consistency分布式锁 Google出品的chubby 必属精品 Yahoo的zookeeper分布式kv存储 Google三驾马车之一bigtable,hbase的蓝本 Google三架马车之二gfs,hdfs的蓝本 Google三架马车之三bigtable,hbase的蓝本 现代很多的kv设计或多或少的都参考了先驱dynamo的设计,值得刷10遍以上。读后感 2009年Cassandra设计的论文 ,很多思想借鉴了dynamo,对于一致性哈希的吐槽也高度类似。在replication的过程中,也会通过一个coordinator节点(master节点)来对其他节点进行replicate(这一点和dynamo一样),但是Cassandra提供了一系列的replicate policy可以选择,比如 Rack Unaware, Rack Aware (within a datacenter) and Datacenter Aware. Cassandra也沿用了dynamo里面关于preference list的定义 ucb出的一篇高性能的kv存储,号称比redis快几十倍,使用coordination-free consistency models。虽然说是特别快,但是其实业界的是用并不广泛 时间序列的数据库的一篇介绍 ,介绍了几个应用场景 iot ebay等 ,influxdb的介绍 比较了业界的几种TSDB的异同无论是kv还是传统的关系型数据库,在分布式系统里面无非都会涉及到以下这几方面replication 指出了一种在replication中存在的问题,并给出了解决方案partition&shard分区都逃不了一致性哈希, 被引用度特别高的一篇文章,但是这个版本也是被吐槽最多的,dynamo吐槽过,Cassandra也吐槽了一把1)First, the random position assignment of each node on the ring leads to non-uniform data and load distribution.2)Second, the basic algorithm is oblivious to the heterogeneity in the performance of nodes.解决方案1)One is for nodes to get assigned to multiple positions in the circle (like in Dynamo) dynamo用的就是这种方法2)the second is to analyze load information on the ring and have lightly loaded nodes move on the ring to alleviate heavily loaded nodes 这种方法被Cassandra采用 2)用的方法 也就是这片论文提出的方法memshipfailure detectupdated conflictsimplement关于实现 这篇论文的出镜率特别高,里面的思想被Cassandra和dynamo都采用了 ,作者也是提出cap的大神Eric Brewer(第三作者),值得反复研读 这个是2019年Google提出的一种有状态的kv存储的思路。在工业界的下个请求依赖于上一个请求的情况数据库查询优化器 现在很火的kafa最初设计的论文,细节有些已经被优化,基本的架构还是很值得反复研读。比如In general, Kafka only guarantees at-least-once delivery. Exactly once delivery typically requires two-phase commits and is not necessary for our applications最初kafka只是支持at-least的delivery, 但是不支持exactly once的投递,具体哪个版本开始支持有点记不清了分布式文件系统除了大名鼎鼎的gfs 分布式文件系统已经走过了好几十个年头了 1990年的coda,在很多的论文中出镜率非常高,后面的fs也借鉴了coda的一些思想分布式事务&事务隔离级别 引用率很高的一篇文章 这里面也引用了下面的这篇文章中关于事务隔离级别P0,P1的引用,看之前可以先看下面这篇文章。比如,脏写,脏读,不可重复读&fuzzy读,幻读等读未提交保证了写的串行化,注意只是写的串行化(并不能保证读写的串行化,依然有可能产生脏读),下面这篇论文里面是避免了脏写的操作。如何处理写的冲突呢? 打时间戳或者last write win的方式都是可行的 不管是怎么讲事务隔离级别,最原生的味道是这一篇,其他的文章都是咀嚼过吐出来的其中也参考了 里面阐述了很多隔离级别的标准共识算法 paxos的simple版本,原来的版本太晦涩,lamport大神自己可能发现之前写的太高深了,写了一个通俗易懂的版本 hermes 这个是精简版的raft 里面有些概念如果理解起来吃力可以看下作者的博士毕业论文 里面有download的连接,以下的几篇文章都是raft的推荐 raft 的分析文章 verdi的实现 raft一致性的分析名字服务 zk最初设计的论文,感觉比市面上的一些中文材料好懂,推荐关于consul以及名字服务的实践,medium上面有两篇比较好的文章A Practical Guide to HashiCorp Consul — Part 1 | by Velotio Technologies | Velotio Perspectives | MediumA Practical Guide To HashiCorp Consul — Part 2 | by Velotio Technologies | Velotio Perspectives | Mediumetcd(94) Introduction to etcd v3 - YouTube 一个youtube上的视频比较清楚的介绍了etcd的设计思路etcd保证了强一致性,这一点感觉和consul不太一样高可用性watchable . 这一点和zk比较像,但是consul是使用gossip进行通知的(94) Deep Dive: etcd - Jingyi Hu, Google - YouTube 讲了etcd是如何使用raft来保证一致性的应用在名字服务里面的gossip protocol开始读到这些论文一直不太理解可以应用到那些地方,后面看到consul在使用gossip来进行memship的管理,基本的原理参考了论文:SWIM.pdf (cornell.edu)后来发现如果cpu的负载如果过高,很可能出现误判的情况1707.00788.pdf (arxiv.org) 这篇论文里面比较好的解决了这个问题

没有那么容易,比较难分布式工程学是一门实践性很强的工科学。所以会出现与其他工科一样的现象就是实践会先于理论。在1960年末被公认为是第一个分布式系统的ARPANET就诞生于美国[1]。在美国50年代到60年受曼哈顿计划的影响,计算机理论迎来了大爆炸的时代。在那个年代发明了我们今天所用到的大部分计算机理论。作为一个新兴学科,当年的科学家大都是刚刚毕业正是壮年。而今他们大多已经是高龄老人,有些科学家则已经离世。在这里向哪些为计算机理论作出贡献的科学家们表示敬意。

GFS的诞生来源于google日益增长的数据量的处理需求,它是一个可扩展的分布式文件系统,用于大型分布式数据密集型应用,在廉价的通用硬件上运行时提供容错机制,并且可以为大量客户端提供较高的聚合性能。 它的设计由当前和预期的应用负载(当时的)和技术环境驱动,与以前的文件系统的假设有着明显不同,因此gfs在设计上有几个不同的points:

当前已部署多个集群用于不同目的,最大的拥有1000多个存储节点,超过300TB的存储服务,并且有数百个客户端连续不断地高负载请求。

前面提到一些对应用负载和技术环境的观察,现在更详细地进行阐述:

虽然GFS不能提供像POSIX标准的API,但它提供一个相似的文件系统接口。文件在目录中按层次结构组织,并以路径名作为标识。支持create、delete、open、close、read and write files。

gfs支持快照和record append操作。快照以低代价创建文件副本或者目录树,record append支持多个客户端并发地写文件,保证每个独立客户端append的原子性。

一个gfs集群包含一个master和多个chunkservers,chunkserver被多个客户端访问,如图1所示。每一个都是普通linux机器上运行的用户态服务进程。资源允许的情况下,客户端可以和chunkserver部署在同一台机器上。

文件被划分为固定大小的块。每个chunk由一个独一无二的64位大小的chunk handle所标识,chunk handle在chunk被创建时由master分配。每个chunk的副本分布在多个机器上,系统默认为三副本模式,用户也可以为不同namespace的文件指定不同级别的副本。

master包含文件系统的所有元信息。包含namespace、访问控制权限信息、文件到chunks的映射、当前chunks的位置信息。也控制着全局的活动,像chunk租约管理、gc、chunk迁移等。master通过心跳的方式与每个chunkserver交流来发送它的指令和收集状态。

客户端与master的交互涉及元信息操作,所有数据操作直接与chunkserver交互。gfs不提供POSIX标准API,因此不需要挂接到linux的vnode层。

客户端和chunkserver都不缓存文件数据。大多数应用传输大文件,客户端缓存收益很低。chunks作为本地的文件存储,linux系统有自己的buffer cache,chunkserver不需要再增加缓存。

单master简化了系统的设计,但是会有单点的瓶颈问题,这是必须要解决的。客户端不会从master读写数据文件,客户端请求master它需要的交互的chunkserver信息,并且将其缓存一段时间,后续的操作直接与chunkservers交互。

客户端会发送请求给离它最近的一个副本。实际上,客户端通常会向master请求多个chunk的信息,以减少未来与maser交互的代价。

chunk size定为64MB,相比普通的文件系统的block size更大。每个chunk副本以linux文件的形式存在chunkserver上,仅根据需要来扩展。使用lazy space allocation的方式避免空间浪费。

large chunk size有以下几个优点:

但是large chunk size with lazy space allocation也有其缺点:单个文件可能包含很少数量的chunks,或许只有一个,当许多客户端访问相同文件时这些chunks成为热点。但由于目标应用大多是顺序的读多个large chunk文件,热点并不是主要的问题。 然而GFS第一次用于批处理队列系统时确实出现了热点问题,数百个客户端同时访问一个单chunk文件,存储这个文件的几个chunkserver超负荷运转,当时通过错开应用的启动时间避免了这个问题,一个潜在、长期的解决方法是允许客户端从其它客户端读取数据。

master保存三种类型的元数据:

所有元数据都保存在内存中 。对于元数据的内存操作是很快的,后台任务周期巡检整个状态也是比较简单高效的。周期巡检用于实现chunk gc、在chunkserver故障时重新构造副本、chunk迁移以平衡多个chunkserver的负载和disk usage。 虽然系统的容量受master内存大小的限制,但这并不是一个严重的问题,64MB的chunk只需要不到64byte大小的元信息,如果一定需要更大的文件系统,那么增加内存的代价相比为可靠性、性能和灵活性等付出的代价是较小的。

前两种类型的元数据通过写日志来保证持久化,并且会复制日志到远程机器上。master不需要将chunks的位置信息持久化,而是在master启动和新的chunkserver加入集群时向每个chunkserver询问它的位置信息,之后通过心跳信息监控chunk位置变更信息。chunkserver作为最后一关是确切知道自己本地有没有哪些chunk的,因此维护一个一致性的视图是没有必要的。

operation log 包含元数据的变更记录, 它是GFS的核心 ,它不仅仅是唯一的元数据持久化记录,也表明了并发操作的逻辑时间线。文件、chunks和它们的版本都是由逻辑时间线唯一标识。元数据变更记录在持久化之前对客户端是不可见的,而且日志被复制到多个远程的机器,只有相应的记录在本地和远程都持久化到硬盘了才可以回复客户端。master使用批处理log的方式提高系统的吞吐。

master通过回放日志来恢复文件系统的状态,为提高恢复速度需要保持log量足够小。当log增长超过特定大小时,master会checkpoint它的状态,以加速恢复提高可用性。构建checkpoint可能需要花费一段时间,因此master以一种不delay后续变化的方式来组织内部状态,先switch到一个新的日志文件,使用独立的线程创建checkpoint,新的checkpoint包含了所有switch之前的变化。几百万个文件的集群在一分钟内可以完成,完成后将同时被写入本地和远程。恢复只需要最新的checkpoint和之后的日志文件,旧的checkpoints和日志文件可以完全删除。

GFS使用一个宽松的一致性模型,这种模型可以很好地支持分布式应用程序,而且实现起来简单有效。 file namesapce变化(例如文件创建)是原子的,使用namespace锁。 master的operation log定义了这些操作的全局顺序。

数据变化后文件region的状态取决于变化的类型,是否成功、失败或者是并发的。Table1做了总结。如果所有客户端都能看到相同的数据,无论它们读的是哪个副本,则这个file region是一致的。

数据变化有两种:writes或者record appends。write是指从应用指定offset处开始写数据,record append指即使存在并发冲突,数据也要被原子地append到文件至少一次,但offset是由GFS选定。

GFS保证在一系列成功的mutations后,file region是defined,通过下面两点来保证:

过期的副本将不会再涉及到任何mutation,master也不会将其位置信息回应给客户端,不久后将会被gc。但客户端缓存的信息可能包含过期的副本,缓存失效存在一个时间窗口,文件再次打开也会清除该文件的所有chunk信息。由于大多数文件是append-only,过期的副本通常返回的是过早的结尾???而不是过期的数据。

介绍客户端、master和chunkserver之间如何交互来实现数据变化、原子追加写和快照的。

使用租约的方式维护多个副本间一致的mutation order。master授权租约给副本中的一个,称之为primary。primary为chunk的mutaions选择一个顺序,所有副本都按照这个顺序apply。 租约机制最小化了master的管理overhead。租约初始的超时时间是60s,如果chunk一直在变化过程中,primary可以申请续租。这些授权和续租请求由master和chunkserver之间的心跳信息携带。master也可以尝试撤销租约,即使它与primary失去了联系,也可以等租约过期后安全地授权给另外一个副本。

在Figure2中,跟随着写入控制流展示了处理过程:

如果一个写请求比较大或者超出了chunk边界,GFS客户端将它拆为多个写操作,但是多个操作可能与其它客户端并发交叉写入,因此共享的fie region最终可能包含多个不同客户端的碎片,这会造成 一致性模型 中所描述的file region处于consistent but undefined状态。

数据以pipline的机制在chunkserver链上线性传输,而控制流是从客户端到primary再到所有的其它副本。分离数据流和控制流可以更高效地使用网络。可以带来以下好处:

GFS提供原子的append operaton叫作 record append 。传统的write中,客户端指定offset,并发写相同region时不是serializable,最终region可能包含多个客户端的碎片数据。而对于record append,客户端仅指定数据,GFS保证至少一次成功的原子append,offset由GFS选定,与Unix的O_APPEND模式相似。

多个客户端并发操作相同文件是比较重的。如果处理传统的write,客户端需要额外复杂和昂贵的同步逻辑,像分布式锁。而record append仅需要primary增加一点额外的逻辑:primary检查是否并发append数据的chunk会超出max size,如果会超出则将chunk填充到max size,并且告诉所有二级副本同样操作,然后回应客户端指出这个操作应该选择另一个chunk重试;大多数情况下记录是在max size内的,primary将数据append到自己的副本,并告诉所有二级副本按照确切的offset写数据,最后回应给客户端。

如果中间出现错误,客户端重试,相同chunk的副本可能包含不同的数据,可能包含相同的记录或者一部分相同,GFS不保证bytewise identical,仅仅保证数据至少有一次被成功地原子写入。从report success逻辑可以容易得出,数据必须是在某个chunk的所有副本上以相同的offset写入。在此之后,所有副本都与记录end一样长,即使后面不同的副本成为primary,任何将来的记录也将分配到更高的offset或者不同的chunk。根据上述的一致性保证,成功的record append的region是defined和一致的,而中间的region是不一致的(undefined)。GFS的应用可以处理这种不一致的region(2.7.2)。

snapshot 操作拷贝一份文件或者目录树,几乎是实时的,同时最大程度减少对正在进行中的mutation的干扰。 像AFS一样,使用标准的COW技术实现snapshot。当master接收到一个snapshot请求,首先将所有涉及到chunks的租约撤销,这保证了这些chunks后续的write将会先请求master查找租约持有者,master会创建一个新的副本来回应。

租约被撤销或者过期后,master将这个操作记录日志到disk。新创建的snapshot引用元数据相同的chunks。 当snapshot操作完成后,客户端第一次要写chunk C,发送请求给master查询持有租约者,master察觉到chunk C的引用大于1,则让每个含有当前chunk副本的chunkserver创建一个新的chunk叫作C',所有创建都使用本地的副本,相比100Mb的网络本地速度大约是三倍速度。master授权租约给新的chunk C'中的一个并且回复给客户端,之后正常地写chunk。整个过程对客户端是透明的。

master执行所有的namespace操作。另外,它管理整个系统的chunk副本:

接下来,详细探讨这些细节。

许多master操作可能花费较长一段时间,比如snapshot操作需要撤销相关的所有chunks的租约。因此为了不delay其它master操作,在namesapce的regions上使用locks来确保串行化。 GFS没有按目录列出该目录中所有文件的结构,也不支持文件和目录的别名(unix中的硬链和软链)。GFS将完整的路径名到元数据的映射表作为它的逻辑namespace。使用前缀压缩,这个表可以有效保存在内存中。namespace tree中的每个节点都有一个关联的读写锁。 每个master操作在运行前都会获取一组锁。如果涉及到/d1/d2/../dn/leaf,它将获取目录名称/d1、/d1/d2、...、/d1/d2/.../dn上的读锁,完整路径/d1/d2/../dn/leaf的读锁或者写锁。leaf可以是文件或者目录。

创建文件不需要对父级目录加锁,因为没有"目录"的概念不会修改它,而加读锁是防止它被删除、重命名或者snapshot。这种锁机制的好处是允许相同目录下并发的mutations。

一个GFS集群通常具有分布在多个机架上的数百个chunkserver,这些chunkserver也会被相同或者不同机架的数百个客户端访问。不同机架上的两台计算机之间的通信可能会跨越一个或者多个网络交换机。另外进出机架的带宽可能小于机架内所有计算机的总带宽。多级分布式对如何分发数据以实现可伸缩性、可靠性和可用性提出了独特的挑战。 副本放置策略有两个目的:最大化数据可靠性和可用性,最大化网络带宽利用率。不仅要在多台机器上放置,还要在多个racks上,即使整个racks损坏也可以确保部分副本保持可用。也可以利用多个racks的总带宽。

chunk副本创建有三个原因:

当master创建新的chunk时,根据几个因素考虑如何放置新的副本:

当chunk可用副本的数量低于用户指定时,master会重新复制。可能发生在几种情况:

需要重新复制的chunk根据以下几个因素确定优先级:

master限制集群和每一个chunkserver内的活跃的clone数量,另外chunkserver通过限制其对源chunkserver的读请求来限制在每个clone操作上花费的带宽。

master会定期重新平衡副本:检查当前副本的分布,迁移副本以获得更好的磁盘空间利用率和负载平衡。同样通过此过程,master逐渐填充一个新的chunkserver。另外,master通常更倾向于移除具有低磁盘利用率chunkservers上的副本,以平衡空间使用。

当文件被删除时,master记录日志,但不会立即回收资源,而是将文件重命名为包含删除时间戳标记的隐藏名称。如果这些文件存在时间超过三天(时间可配置),master巡检时会将其删除。在此之前,仍然可以用特殊名称来读取文件,并且可以重命名为正常名称来取消删除。当从namesapce中删除隐藏文件时,其内存元数据将被删除,这有效切断了所有chunk的连接,在对chunk namespace的扫描中,master识别出孤立的chunk并清除元数据。在心跳信息中,每个chunkserver报告其拥有的chunks子集,而master将回应不在存在于master元数据中的所有的chunk的标识。chunkserver可以自由删除此类chunk的副本。

这种gc机制相比立即删除有以下几个优点:

这种机制主要的缺点是当存储空间紧张时,延迟有时会影响用户的使用,重复创建和删除临时文件的应用可能无法立即重用存储。如果删除的文件再次被明确删除,GFS将通过加快存储回收来解决这些问题。还允许用户将不同的复制和回收策略应用于不同的namespace的不同部分中。

如果一个chunkserver故障或者chunk丢失了mutations,这个chunk副本可能是过期的。对于每个chunk,master都维护了一个chunk版本号。

当master授权租约给一个chunk时,这个chunk的版本号增加1,如果一个副本当前不可用了,则其版本号将不会领先。当chunkserver重新启动并报告其chunks集合和相关联的版本号时,master将检测到该chunkserver上具有过期的副本。如果master看到的版本号大于它记录的版本号,则认为在授权租约时失败了,因此将较高的版本号更新。

master在常规gc中删除旧的副本。另一个保护措施,在master回应客户端哪个chunk持有租约或者clone操作中chunkserver从另一个chunkserver读取chunk时会包含chunk的最新版本号。客户端或者chunkserver在执行操作时会验证版本号。

这个系统最大的挑战之一是处理经常故障的组件。组件的质量和数量造成的问题会超出预期,组件故障可能造成系统不可能,甚至数据错误。接下来讨论GFS如何应对这些挑战,还有系统如何诊断不可避免问题。

使用两个简单有效的方式保证系统的高可用:快速恢复和复制。 master和chunkserver的恢复都是秒级别的。 master维护每个chunk的副本数量,当chunkserver下线或者checksum检测出错误副本时,master会通过已有副本来复制。尽管复制提供了很好的解决方式,但仍在探索其它形式的跨服务器冗余方案,例如奇偶校验或者纠删码,以适应不断增长的只读存储需求。在非常松耦合的系统中实现这些更复杂的冗余方案更具有挑战性。

master的操作日志和checkpoint会被复制到多台机器上,状态的变化只有在本地和所有副本上都持久化以后才可以commit。master进程负责所有的mutations以及后台任务,当它宕机时可以很快重启,如果机器或者磁盘故障,GFS的外部监控将使用日志在其它节点重启新的master进程。在master宕机时,master的备节点只提供只读服务,它们不与master保持强一致,可能会落后于master,通常在1/4秒内。它们保证了那些不介意读到过期数据的应用的高可用读。类似于chunk的primary机制,master的备按照相同的序列应用日志。与master一样,在启动时从每个chunkserver拉取chunks的位置信息,与它们频繁交换握手消息来监控其状态。

每个chunkserver使用checksum来检测存储数据的损坏。数据损坏的chunk可以通过其它的副本来恢复,但是通过副本间比较来检验数据是不切实际的。正常的副本也不是完全一样的,如前文所讲,原子的append并不能保证完全一样的副本。因此每个chunkserver会维护自己的checksum。 每个chunk分为多个64kb的blocks,每个block包含一个32位的checksum,与其它元数据一样,checksum保存在内存中,依靠log持久化,与用户数据分离。

对于读,chunkserver在返回数据给请求者前先检测checksum,确保不会将出错的数据传输给其它chunkservers或者客户端。如果数据是坏的,chunkserver将错误返回给请求者并报告给master,请求者将会去读其它副本, master将会根据其它副本重新克隆一份。当新的副本创建以后,master指示chunkserver将错误的副本删除。checksum的计算不涉及I/O,对读的影响比较小,客户端通常尝试使用对齐block边界读来减少overhead。

为append写是做了checksum计算上的优化的,因为append写是主要的负载(相比于overwrite)。GFS只增量地更新最后部分block的checksum,为新的block的计算新的checksum。这样即使block已经损坏,新的checksum将与存储的数据不会匹配,下次读时将会与正常一样被检测出来。 如果一个写请求要写一个chunk中已存在的region,必要要先检验region的第一个和最后一个block的checksum,然后再重写,最后计算新的checksums。因为第一个和最后一个block可能含有不被重写的内容,如果这部分数据是损坏的,则新的checksum将包含错误的数据。

在idle时,checkserver可以扫描并检查不活跃的chunks,可以检测到冷chunks的错误,一旦错误被检测到,master可以创建一个新的副本。

GFS在设计上与传统文件系统有很多不同,这些点是基于对当时应用负载和技术环境的观察所重新设计,将组件故障看作平常的事件而非异常,为大文件的读取和追加写做优化,扩展和放宽了标准的文件系统接口以改善整个系统。通过监控、复制以及快速恢复能力提供容错能力,使用checksum机制来校验数据的正确性。通过将控制流和数据流分离,数据直接在chunkservers、客户端之间传输,为许多并发的各种任务的读取和写入提供了高吞吐量。大chunk size和租约机制使得master的操作足够轻量化,使得这样一个简单中心化的master不会成为瓶颈。

GFS成功地满足了google的存储需求,作为研究、开发和数据处理的存储平台广泛地应用于google内部。

GFS:Google File System HDFS:Hadoop Distribute File System 首先,有一点要确认的是,作为GFS的一个最重要的实现,HDFS设计目标和GFS是高度一致的。在架构、块大小、元数据等的实现上,HDFS与GFS大致一致。但是,在某些地方,HDFS与GFS又有些不同。如:1、 快照(Snapshot): GFS中的快照功能是非常强大的,可以非常快的对文件或者目录进行拷贝,并且不影响当前操作(读/写/复制)。GFS中生成快照的方式叫copy-on-write。也就是说,文件的备份在某些时候只是将快照文件指向原chunk,增加对chunk的引用计数而已,等到chunk上进行了写操作时,Chunk Server才会拷贝chunk块,后续的修改操作落到新生成的chunk上。 而HDFS暂时并不支持快照功能,而是运用最基础的复制来完成。想象一下,当HBase上的数据在进行重新划分时(过程类似于hash平衡),HDFS需要对其中的所有数据(P/T级的)进行复制迁移,而GFS只需要快照,多不方便!2、 记录追加操作(append): 在数据一致性方面,GFS在理论上相对HDFS更加完善。 a) GFS提供了一个相对宽松的一致性模型。GFS同时支持写和记录追加操作。写操作使得我们可以随机写文件。记录追加操作使得并行操作更加安全可靠。 b) HDFS对于写操作的数据流和GFS的功能一样。但是,HDFS并不支持记录追加和并行写操作。NameNode用INodeFileUnderConstruction属性标记正在进行操作的文件块,而不关注是读还是写。DataNode甚至看不到租约!一个文件一旦创建、写入、关闭之后就不需要修改了。这样的简单模型适合于Map/Reduce编程。3、 垃圾回收(GC): a) GFS垃圾回收采用惰性回收策略,即master并不会立即回收程序所删除的文件资源。 GFS选择以一种特定的形式标记删除文件(通常是将文件名改为一个包含时间信息的隐藏名字),这样的文件不再被普通用户所访问。Master会定期对文件的命名空间进行检查,并删除一段时间前的隐藏文件(默认3天)。 b) HDFS并没有采用这样的垃圾回收机制,而是采取了一种更加简单但是更容易实现的直接删除方式。 c) 应该说延迟回收和直接删除各有优势。延迟回收为那些“不小心“的删除操作留了后路。同时,回收资源的具体操作时在Master结点空闲时候完成,对GFS的性能有很好的提高。但是延迟回收会占用很大的存储空间,假如某些可恶的用户无聊了一直创建删除文件怎么办?试分析下这种不同。有人说,GFS在功能上非常完善,非常强大,而HDFS在策略上较之简单些,主要是为了有利于实现。但实际上,GFS作为存储平台早已经被广泛的部署在Google内部,存储Google服务产生或者要处理的数据,同时用于大规模数据集的研究与开发工作。因此GFS并不仅仅是理论上的研究,而是具体实现。作为GFS的后辈与开源实现,HDFS在技术上应该是更加成熟的,不可能为了“偷懒”而简化功能。因此,简化说应该是不成立的。 个人认为,GFS与HDFS的不同是由于“专”与“通”的区别。众所周知,Hadoop是一个开源软件/框架,在设计之初就考虑到了用户(面向世界上的所有个人、企业)在需求上的差异,比如数据密集型(如淘宝的数据存储)、计算密集型(百度的PR算法)、混合型等等。而GFS在设计之初就对目标比较明确,都是Google的嘛,因此GFS可以对其主要功能进行性能上的优化。说到这里,突然想起了某件事。曾经某个公司的Boss吹牛B:“我不关心J2EE,实际上在大公司里面用J2EE的很少,都有自己的一些框架。测试过了,我们在用自己开发的框架时候性能就是以前用J2EE的时候的7倍左右。”唬的我一跳一跳的,好牛啊!!后来想了一下,其实不是这个公司技术比SUN要强,而是J2EE是一个开源框架,其应用范围非常广,因此不能做到面面俱到。而他们公司自己开发的框架肯定是对其主要业务逻辑方面做了专门的优化和改进,甚至删除了或者弱化了许多对他们来说作用不大的模块。 貌似这个和GFS与HDFS的关系好像!!

相关百科

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号-2