在线试读

get_product_contenthtml 2.1 文件之殇 假设你是一家大公司的首席信息官。在公司里,你的员工是数据消费者,每个人都扮演着各种不同的角色。你的许多员工致力于处理会计报告,但由于他们的角色所限,他们不应该获知敏感的人力资源信息。另一些员工是软件开发人员,他们构建应用程序时需要通过编程的方式来访问数据。在某些情况下,你的用户也许只有很少的技术背景,因此需要通过信息面板来访问诸如公司各项指标之类的数据。
    你的高管同僚可能有访问公司几乎所有数据的权限,但他们真正想要的是对大趋势的 高层次的理解。
     当面临共享许多GB甚至TB数据的挑战时,会有多种潜在的实现方案。这些选择受到诸如成本、受众以及专业知识等因素的影响。不同类型的用户有不同类型的数据消费需求。请记住一句数据真言:专注于解放数据的价值。在共享大量数据时,如果用户无法以有意义的方式访问这些数据,那么你的努力将毫无价值。
     2.1.1 共享大量文件的挑战 为了成功应对共享大量文件的问题,你首先要了解所涉及的每个挑战。
     选择数据存储方式 个挑战是如何实际存储以及如何以可伸缩并且经济的方式来共享文件。虽然在Web服务器上发布一堆文件很容易,但存储和带宽的成本必须能随着数据量和用户数一同伸缩。
     本章中的例子主要集中在处理大量的静态文件。
    我们将在后续章节中进一步讨论数据库技术。
     选择正确的数据格式 共享数据的第二个挑战是决定应该为用户提供何种数据格式。这一决定取决于你的目标受众。你的文件是该便于编程人员使用呢,还是该便于普通人将其加载到电子表格中?关于文件占用的空间:你应该采用 紧凑的格式呢,还是该有良好的可读性?在某些情况下,你应该尽力提供多种数据格式以支持多种应用场景。
     如何呈现数据 第三个需要考虑的事情是你想让用户以何种方式访问你的数据。为了与当地市民共享信息,市政当局应提供在线数据面板以及精心设计的可视化图形,这样不会技术的人也看得懂。然而,数据记者和研究人员需要的不仅仅是信息面板;他们需要大量原始的、机器可读的数据来进行深入的分析。
    市政当局还应致力于提供基于Web的编程接口,以鼓励人们开发软件应用来使用这些数据。
     解决问题的方案 本章的其余部分将重点关注前两个挑战:选择存储及共享策略,以及学习何种用例应该使用何种数据格式。我们将在下面的章节中讨论处理、分析及将数据可视化的用例和策略。
     试想一下有大量的公开数据保存在很多文件中的情形。如果你是政府的一员,共享数据的一个主要目标是将数据的可访问性 化,这一因素将是你后续设计的关键。不幸的是,很少有地方政府在共享公共数据方面做得很好。
     为了解决我们的问题,让我们重新审视我们的数据方案。让我们看看如何通过建立尽可能少的基础设施来共享数据。让我们努力思考数据消费者的需求;我们也将牢记我们的数据挑战与受众。不要仅仅因为流行或熟悉而选择某种文件格式,让我们以适合受众的格式部署自己的数据。
     2.2 存储:基础设施即服务 你已经不再使用办公室的服务器来提供文件服务了,对吧?不幸的是,许多组织仍旧使用内部基础设施与外界共享文件。在过去的几年中,为满足大型互联网企业的需求而研发的技术,对于普通应用程序开发人员而言已成为广泛使用和经济的方式。诸如Rackspace、 、Google以及其他许多供应商已经开始提供可看作公用计算或“计算即服务”的服务方式。事实上,这种类型的计算的定价和商业模式也开始模仿电力和自来水公司等公共设施使用的模式。比如说,购买一些硬盘和服务器硬件所需的费用,现在可以购买 多机器的使用权,而且它们与运行世界上 网站的那些机器有着相同的存储和基础设施。
     在基础设施即服务(IaaS)的计算模型中,许多物理机器连接在一起构成网络集群,在某些方面表现得像一个单台大型计算机。属于单个用户的数据可能会以小块的形式物理地存储在许多不同的实体机器上。使用的硬件通常是便宜而且易于替换的。 重要的是,这些系统内建对冗余的支持。由IaaS提供商负责处理硬件故障,通过复制多份数据的方式在出错后进行恢复。
     这种存储模型有许多好处,也有许多潜在的取合。在成本方面,这些系统都能够使用规模效应来降低单个客户的存储成本。对于一个经济能力有限的公司来说,想要托管和共享大量的文件,这种模式是在高可用条件下共享数据且不会产生高昂的存储和带宽成本的 经济可行的途径。
     使用IaaS存储解决方案满足了第1章中所讨论的几个指导原则。首先,该解决方案使我们能够针对伸缩性进行规划——如果存储或网络带宽出现大幅度的增加,该解决方案将能够处理此情况。此外,这种模式可以帮助我们避免搭建基础设施,让我们能够关注数据,而非购买和维护我们自己的硬件、雇用系统管理员,或顾虑备份或电力等事情。
     2.2.1 网络很慢 网络实在是太慢了。2012年 平均互联网数据传输速度为2.3Mb/s,美国的情况大约是5.3Mb/s。想象一下,从某处以5-3Mb/s的恒定速度传输25GB的数据到另一处。按照这一速度,传输将需要近11个小时。
    Google Fiber(谷歌光纤)等项目旨在通过光纤来使得互联网连接的平均速度向1000Mb/s的范围靠近。这些项目似乎有着良好前景,但其可能不会在几年内遍及全美国。对于我们已经提出的许多问题,解决方案自然地倾向于使用那些分布式的、普适的计算系统。尽管如此,当涉及大数据的挑战时,网络延迟的问题通常会变得 加突出。
     P16-18