- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Goolge的云计算---分布式数据表BigTable解读
* Google云计算架构中GFS、MapReduce和BigTable中是否存在集群节点复用的情况? 如何复用? 节点复用的好处有哪些? Google云计算架构的设计对你有哪些启发?有哪些收获? Google App Engine * Google App Engine是隶属于PaaS类型的云服务 一个计算环境,支持Python和Java语言 可使用Google的基础服务,如BigTable和GFS等 用户仅需提供应用代码,无需服务器维护 应用程序可根据访问量和数据存储需要的增长轻松进行扩展 * 特性 动态网络服务功能,能够完全支持常用的网络技术 具有持久存储的空间,可支持查询、分类等基本操作 具有自主平衡网络和系统的负载、自动进行扩展的功能 可对用户的身份进行验证,并且支持使用Google账户发送邮件 具有一个功能完整的本地开发环境,开发人员可以在自身的计算机上模拟 Google App Engine环境 * 沙盒 一个虚拟环境 将开发者开发的应用程序隔离在自身的安全可靠的环境中,该环境和网络服务器的硬件、系统以及物理位置完全无关 仅提供开发人员对基础操作系统的有限访问权限 可以对开发人员进行更多的限制 只能通过网址抓取API和邮件服务API访问其他计算机 其他计算机只能通过HTTP或HTTPS与沙盒应用交互 应用程序无法对平台文件系统进行写入操作,只能读取代码文件 应用程序必须使用平台的Data Store来存储应用程序运行期间持续存在的数据 …… 通过隔离来保证平台和其他开发者的安全 * 图像操作API 开发人员可通过该API对JPEG和PNG图像进行缩放、裁剪、旋转和翻转等操作 邮件API 为开发人员开发的应用程序提供电子邮件发送服务 Memcache API 高性能的内存键值缓存,用户可使用应用程序访问该缓存 可提高应用程序的性能并减少数据库的负载 网址抓取API 可以使用HTTP或HTTPS等网址来对数据进行检索 * 用户API 使应用程序与Google帐号集成,支持Google帐号身份认证 数据库API 为用户提供查询引擎和事务存储服务 * print Content-Type: text/plain print print Hello, world! * Google云计算小结 * Google云计算应用 MapReduce BigTable GFS Chubby Google云计算应用类型 * * 当片服务器收到一个写请求,片服务器首先检查请求是否合法。如果合法,先将写请求提交到日志去,然后将数据写入内存中的memtable。memtable相当于SSTable的缓存,当memtable成长到一定规模会被冻结,Bigtable随之创建一个新的memtable,并且将冻结的memtable转换为SSTable格式写入GFS,这个操作称为minor compaction。 当片服务器收到一个读请求,同样要检查请求是否合法。如果合法,这个读操作会查看所有SSTable文件和memtable的合并视图,因为SSTable和memtable本身都是已排序的,所以合并相当快。 每一次minor compaction都会产生一个新的SSTable文件,SSTable文件太多读操作的效率就降低了,所以Bigtable定期执行merging compaction操作,将几个SSTable和memtable合并为一个新的SSTable。BigTable还有个更厉害的叫major compaction,它将所有SSTable合并为一个新的SSTable。 遗憾的是,BigTable作者没有介绍memtable和SSTable的详细数据结构。 * 分布式数据表BigTable * 为什么需要设计BigTable? Google需要存储的数据种类繁多 网页,地图数据,邮件…… 如何使用统一的方式存储各类数据? 海量的服务请求 如何快速地从海量信息中寻找需要的数据? BigTable:基于GFS和Chubby的分布式存储系统 对数据进行结构化存储和管理 与GFS的联系 * 数据存储可靠性 高速数据检索与读取 存储海量的记录(若干TB) 可以保存记录的多个版本 * 与写操作相比,数据记录读操作占绝大多数工作负载 单个节点故障损坏是常见的 磁盘是廉价的 可以不提供标准接口 Google既能控制数据库设计,又能进行应用系统设计 * 具有广泛的适应性 支持Google系列产品的存储需求 具有很强的可扩展性 根据需要随时加入或撤销服务器 应对不断增多的访问请求 高可用性 单个节点易损,但要确保几乎所有的情况下系统都可用 简单性 简单的底层系统可减少系统出错概率,为上层开发带来便利 * 总体上,与关系数据库中的表类似 Ro
文档评论(0)