第10章 云计算中的数据库技术

合集下载

云计算与数据库

云计算与数据库

云计算与数据库云计算和数据库是当今数字化时代的两个重要的技术领域。

云计算改变了传统的IT架构,为企业和个人提供了更高效、灵活和可扩展的计算和存储资源。

而数据库作为信息管理的核心,为云计算提供了数据存储和处理的基础。

本文将探讨云计算与数据库的关系以及它们对当前社会的影响。

一、云计算的概念与特点云计算是一种基于互联网的计算资源共享、按需提供的模式。

它通过虚拟化技术和分布式系统的支持,将计算和存储资源从具体的物理设备中解耦出来,以服务的形式供应给用户。

云计算具有以下几个主要特点:1. 弹性扩展:云计算的资源可以根据实际需求进行弹性扩展,用户可以根据业务需求动态调整计算和存储资源的规模,实现资源的按需分配。

2. 虚拟化技术:云计算利用虚拟化技术对硬件资源进行抽象,将多个物理资源虚拟化为一个统一的资源池,提高资源利用率和灵活性。

3. 高可用性:云计算通过分布式系统的支持,实现了资源的冗余备份和自动故障恢复,提高了系统的可用性和可靠性。

二、数据库在云计算中的作用数据库是云计算架构中不可或缺的一部分,它负责存储和管理云计算平台中的各种数据。

数据库在云计算中的作用主要体现在以下几个方面:1. 数据存储:云计算平台产生的大量数据需要进行有效的存储和管理。

数据库提供了可靠的存储机制,能够将数据持久化保存,并支持高效的数据访问和查询。

2. 数据一致性:在分布式的云计算环境中,数据的一致性是一个重要的问题。

数据库通过事务机制和分布式锁等技术保证多个用户对数据的并发访问时的一致性。

3. 数据安全:数据库在云计算中还负责数据的安全和隐私保护。

数据库通过访问控制、加密和备份等措施,保护用户数据的机密性和完整性。

4. 数据分析:云计算架构中的数据库还承担着数据分析和挖掘的任务。

数据库通过提供强大的查询和分析功能,帮助用户从海量的数据中挖掘有价值的信息。

三、云计算与数据库的融合云计算与数据库之间存在着密不可分的关系,两者的融合对于数据存储和处理的效率和安全性具有重要意义。

基于云计算的数据存储与处理技术

基于云计算的数据存储与处理技术

基于云计算的数据存储与处理技术云计算是一种基于互联网的计算模式,它通过将计算、存储和数据处理等资源交付给云端的服务器来实现。

基于云计算的数据存储与处理技术,为用户提供了高效、可靠、可扩展的数据存储和处理能力。

下面将介绍一些常见的基于云计算的数据存储与处理技术。

一、数据存储技术1.云存储:云存储通过将数据存储在云端的服务器上,而不是存储在本地设备上,使用户能够随时随地访问和共享数据。

云存储提供了大容量的存储空间,并具有高可靠性和可扩展性。

2.分布式文件系统:分布式文件系统将数据存储在多个云端服务器上,并通过网络连接进行数据传输和共享。

分布式文件系统具有高可靠性和高可扩展性,并且能够处理大规模的数据存储需求。

3.数据备份与恢复:为了保证数据的安全性和可靠性,云计算提供了数据备份与恢复技术。

数据备份将数据复制到多个云端服务器上,以防止数据丢失,而数据恢复可以从备份中快速恢复数据。

二、数据处理技术2.数据挖掘与机器学习:云计算提供了大规模数据挖掘和机器学习的能力,帮助用户从海量数据中发现隐藏的模式和关联规则。

通过数据挖掘和机器学习,用户可以进行预测和决策支持,提高业务效率和竞争力。

3.实时数据处理:云计算还提供了实时数据处理技术,使得用户可以在数据产生的同时进行实时的数据处理和分析。

实时数据处理技术能够帮助用户对即时的数据变化做出快速反应,并进行实时决策。

三、数据安全技术1.数据加密:云计算提供了数据加密技术,将数据在传输和存储过程中进行加密,以保证数据的机密性和安全性。

加密技术可以有效防止数据被未经授权的访问和窃取。

2.访问控制与权限管理:云计算通过访问控制和权限管理技术,控制用户对数据的访问和操作权限。

只有授权用户才能访问和处理数据,从而保证数据的安全性和完整性。

3.数据备份与灾难恢复:云计算通过数据备份和灾难恢复技术,保证数据在发生灾难或故障时的可靠性和连续性。

数据备份技术可以快速恢复数据,避免数据丢失和不可用性。

基于云计算的数据库技术

基于云计算的数据库技术

基于云计算的数据库技术作者:贾钦来源:《电子技术与软件工程》2018年第22期摘要随着我国科学技术的不断发展,云计算技术开始慢慢受到了人们的重视,而云计算的应用不仅提升了人们的生活质量,同时也为人们的生活带来了很大的便捷。

与相关技术相比,云计算处理信息的水平是非常高的,并且使用的范围也很广泛。

【关键词】数据库云计算教育医疗1 数据库技术概述我们都知道数据库是由存储、查询、计算等结合为一体的程序,但这样非常繁琐的操作流程是不需要用户编写的,正是因为它易学、方便等特点也得到了社会群众的认可。

但随着我国科学技术的发展,传统形式的数据库不管是在维护还是使用效果上,其都存在有明显的问题,但在云计算下云储存就能很好的解决这些问题,其不仅能够实现大规模的存储,而且还能很大程度的保障用户信息安全。

2 当前云计算数据库技术的应用分析2.1 把云计算数据库技术应用到游戏领域中互联网的发展也带动了游戏行业的进步,现如今游戏已经逐渐成为青少年生活的一部分。

如一些比较有名的游戏,其自身的忠实玩家是非常多的,而类似这样庞大的客流量,其对游戏软硬件的要求也是非常高的,特别是一些大型游戏,如果同一时间有很多人在使用,那么便很容易造成系统瘫痪等问题。

云计算数据库的应用就能很好的解决这些问题,因为云游戏不会受到人恶化计算机硬件设备的影响,即是在计算机提供的服务上进行的,所以只要打开显示器把游戏页面显示出来即可。

2.2 把云计算数据库技术应用到教育领域中2.2.1 在教学活动中应用云计算数据库技术把云视频技术应用到现代教育教学活动中,其不仅能够实现在终端设备上播放视频,而且还能随时随地上网查找视频,而在实际的教学过程中,教师可以提前把教学重点录制完成,然后利用云视频技术来呈现,这样的教学模式不但能解决时间、地点方面的约束,而且还能实现资源共享。

2.2.2 把云计算技术运用到教学管理中如今该技术在教学管理中的使用是非常广泛的,因为该技术可以有效的管理学生信息,提升管理效率,从而减少不必要的经费支出。

数据库技术ppt课件

数据库技术ppt课件

数据库定义与特点
数据库定义
数据库是一个长期存储在计算机内的、有组织 的、可共享的、统一管理的大量数据的集合。
01
数据共享性高
数据库中的数据可以被多个用户、多 个应用程序共享使用。
03
数据冗余度小
数据库通过数据共享和结构化存储,可以大 大减少数据冗余,提高数据一致性。
2024/1/25
05
02
数据结构化
插入、更新和删除数据操作
插入数据
使用INSERT语句向表中插入数据,包括单条数据 插入和批量数据插入。
更新数据
使用UPDATE语句更新表中的数据,可以根据条件 更新指定字段的值。
删除数据
使用DELETE语句删除表中的数据,可以根据条件 删除指定记录。
2024/1/25
18
查询数据操作及优化方法
基本查询
2024/1/25
12
概念设计阶段
1 2
定义实体和属性
根据需求分析结果,定义数据库中的实体和属性 ,确定实体的名称、属性和数据类型等。
定义实体间的关系
分析实体间的联系和相互作用,确定实体间的关 系类型(如一对一、一对多、多对多等)。
3
构建概念模型
使用实体-关系图(E-R图)等工具,构建数据库 的概念模型,展示实体、属性和关系等要素。
2024/1/25
选择存储结构和存取方法
根据数据库管理系统的特性和数据量大小等因素,选择合适的存 储结构和存取方法。
设计物理存储方案
确定数据的物理存储方案,如数据文件的大小、增长方式、备份策 略等。
优化数据库性能
通过调整数据库参数、优化SQL语句等方式,提高数据库的性能和 稳定性。
15

云计算的数据存储技术-精选文档

云计算的数据存储技术-精选文档

云计算的数据存储技术21世纪是信息知识爆炸的年代,每天产生海量的信息,企业需要处理和存储的数据信息越来越多。

如果按照传统计算机算法,企业为了存储信息需要购置大量的硬件设施和软件设施,并需要专人对数据信息进行管理,对设备进行维护,需要耗费大量的人力和物力成本。

而云计算这种计算方式,省去了企业管理和维修的麻烦,企业可以将大量的数据信息放在服务器或者云端,企业只需要支付少量的管理费用,就能随时调取云端的数据信息,并享受图片处理、归档服务、音视频转码等多种数据增值服务。

1 云计算与云存储的概念1.1 云计算根据美国国家标准与技术研究院的定义:云计算是一种按使用量付费的模式,这种模式提供便捷的、可用的、按需的网络访问,用户只需要进入到可配置的计算资源共享池,包括服务器、存储、网络、应用软件和服务器等,云端管理人员只要通过少量的管理或者与服务商进行少量的交互,就能实现对云端的管理。

云其实是互联网的一种比喻说法,通过云计算可以将数据信息存储在计算机中,这里的计算机指的是远程服务器。

然后企业根据自己的需求,对计算机存储系统进行访问,并将信息资源直接切换到实际应用方面。

计算机直接将主机功能交给了云端,云端的计算能力就跟水电一样,成为了一种商品,这就促使传统计算机方式向现代计算机方式转变。

1.2 云储存云储存是在云计算的基础上提出的,它与云计算有很多相同的地方。

云计算主要是通过网络技术、集群应用和分布式文件系统,利用应用软件将网络中大量不同类型的存储设备连接起来,共同合作,对外提供业务访问和数据存储功能。

云存储与传统的存储模式相比,它是一种特殊的构架服务,它必须建立在互联网基础上,为用户提供在线的存储服务。

用户不需要考虑存储器中的容量、数据存储位置、安全等问题,只需要按时付费就可以了。

2 云计算的数据存储技术云计算存储技术具有比较明显的两个特点:第一是高传输率,第二是高吞吐率。

当前,云计算存储技术比较主要有谷歌开发的非开源的GFS和Hadoop团队开发的HDFS技术。

数据库管理系统在云计算环境中的应用技术

数据库管理系统在云计算环境中的应用技术

数据库管理系统在云计算环境中的应用技术随着云计算技术的迅猛发展,越来越多的企业和组织开始将其数据存储和处理工作迁移到云平台上。

数据库管理系统(DBMS)作为关键的数据处理工具,在云计算环境中发挥着重要作用。

本文将深入探讨数据库管理系统在云计算环境中的应用技术,包括数据存储管理、灾备备份、性能优化和安全保障等方面的内容。

首先,数据库管理系统在云计算环境中的一个重要应用技术是数据存储管理。

在云平台上,大量的数据需要被存储和管理,而传统的数据库技术面对如此庞大的数据量可能无法高效处理。

因此,云计算环境中的数据库管理系统需要具备分布式存储和水平扩展的能力,以便有效地存储和处理海量数据。

例如,采用分布式文件系统和数据分片技术可以实现对数据的分布管理和负载均衡,提高数据读写的性能和扩展性。

另一个关键的应用技术是数据库的灾备备份。

在云计算环境中,数据的安全性和可靠性成为用户关注的焦点。

数据库管理系统需要提供可靠的灾备备份机制,以应对意外的数据丢失或硬件故障。

常用的数据库灾备备份技术包括数据镜像、数据库备份与恢复、高可用性集群等。

通过将数据在物理或逻辑上复制到备份存储设备,可以实现数据库的数据冗余和可恢复性,确保数据的持久性和完整性。

性能优化是数据库管理系统应用在云计算环境中的另一个重要方面。

由于云平台上存在大量的并发用户和多任务处理,数据库的性能往往成为瓶颈。

为了提高数据库的性能,我们可以采取多种策略和技术。

例如,通过数据库查询优化和索引设计,可以降低数据库的查询开销和加快数据检索的速度。

同时,使用缓存技术和数据分区技术可以有效减轻服务器的负载并提高系统的响应速度。

此外,还可以通过系统优化参数的配置和硬件升级等方式提升数据库的性能。

安全保障是数据库管理系统在云计算环境中的另一重要应用技术。

由于云计算平台的开放性和共享性,数据库会面临更多的安全风险。

数据库管理系统需要提供完善的安全控制和监管机制,以确保数据的机密性和完整性。

云计算技术中的大数据存储与处理

云计算技术中的大数据存储与处理

云计算技术中的大数据存储与处理随着信息技术的发展,云计算已经成为了企业和个人使用的一种新型技术。

云计算的核心是大数据存储与处理,这是云计算技术实现的基础之一。

在这篇文章中,我们将深入了解云计算技术中的大数据存储与处理。

一、云计算技术简介云计算是一种基于互联网的计算方式,它是一种使用网络,而非本地设备,提供计算资源和服务的一种方式。

云计算技术的基础是虚拟化技术,它可以将计算、存储、网络等资源透明地整合为一个云平台,使用户可以随时随地访问和使用这些资源。

在云计算技术中,用户可以使用“按需付费”的方式来购买计算、存储、网络和应用等资源。

因此,企业和个人可以在不需要拥有昂贵的硬件和软件的情况下,获得高效的计算和存储资源。

这种方式可以大大降低成本,提高效率,同时也更加方便和灵活。

二、大数据存储技术大数据存储技术是云计算技术中不可或缺的部分。

在传统的企业信息化系统中,数据存储通常采用数据库的方式,而云计算技术则更多地采用分布式的存储方式。

分布式存储系统将数据分成不同的块,并将这些块存储在不同的服务器上。

当用户需要访问这些数据时,系统会通过算法找到存储这些块的服务器,并通过网络将这些数据块组合成完整的数据。

这种方式可以提高存储容量、提高数据的可靠性和安全性。

另外,大数据存储需要满足高速存取、扩展性、可靠性等多种要求。

为满足这些要求,云计算技术中采用了以Hadoop和HDFS为代表的大数据存储和处理技术,这些技术实现了高效的数据存储和分析。

三、大数据处理技术大数据处理技术是云计算技术中的另一个重要组成部分。

大数据处理技术可以帮助企业和个人更加高效地分析和处理数据,从而抽取出有价值的信息和知识。

在云计算技术中,最常用的数据处理技术是MapReduce,它是一种编程模型和并行计算模式,可以用于大规模数据集的分布式处理。

MapReduce通常用于离线批量处理数据,其实现原理是将数据分簇并在分配的计算节点上进行并行处理。

云计算中的数据库技术

云计算中的数据库技术

云计算中的数据库技术随着云计算的快速发展,越来越多的企业和个人开始使用云计算技术,而云计算中的数据库技术也随之得到了越来越广泛的应用。

一、云计算中的数据库技术的概念及特点云计算中的数据库技术是指在云计算环境下使用的数据库技术,它具有以下几个特点:1. 数据分布式存储:云计算中的数据库技术通过数据分布式存储的方式,将数据存储在多个服务器上,提高了数据的可靠性和可扩展性。

2. 数据共享:云计算中的数据库技术可以将数据共享给多个用户,从而满足多个用户对同一数据的访问需求。

3. 动态扩容:云计算中的数据库技术可以根据实际情况动态扩容,并且扩容过程中不会影响用户的正常使用。

4. 高可用性:云计算中的数据库技术通过多副本的方式实现数据备份,从而提高数据的可用性。

二、云计算中的数据库技术的应用场景1. 企业内部应用:云计算中的数据库技术可以用于企业内部的办公管理、销售管理、客服管理等应用,从而提高企业的效率和管理水平。

2. 电商应用:云计算中的数据库技术可以用于电商网站的商品销售、订单管理、用户管理等应用,从而提供更好的用户体验。

3. 游戏开发:云计算中的数据库技术可以用于游戏服务器的数据存储和管理,从而提供更稳定和高效的游戏服务。

4. 物联网应用:云计算中的数据库技术可以用于物联网设备的数据存储和管理,从而实现物联网应用的实时监测和控制。

三、云计算中的数据库技术的优势1. 降低成本:云计算中的数据库技术可以将多个企业或用户的数据库集中在云端,从而降低企业或用户的运维成本。

2. 提高效率:云计算中的数据库技术可以通过数据共享和数据分布式存储等方式,提高数据的访问效率。

3. 提高可靠性:云计算中的数据库技术可以通过多副本备份和动态扩容等方式,提高数据的可靠性和可用性。

4. 提高安全性:云计算中的数据库技术可以通过多层次的安全防护机制,保障数据的安全性。

四、云计算中的数据库技术的发展趋势1. 数据库技术向云原生化过渡:在云计算环境下,数据库技术需要更好地支持云原生化,例如将数据库拆分成微服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Bigtable中Chubby的作用
在Bigtable中Chubby主要有以下几个作用: (1)选取并保证同一时间内只有一个主服务器(Master Server) (2)获取子表的位置信息 (3)保存Bigtable的模式信息及访问控制列表
另外在Bigtable的实际执行过程中,Google的 MapReduce和Sawzall也被用来改善其性能
为了简化不同版本的数据管理,Bigtable目前提供了两 种设置:一种是保留最近的N个不同版本,图中数据模型采取的 就是这种方法,它保存最新的三个版本数据。另一种就是保留 限定时间内的所有不同版本,比如可以保存最近10天的所有不 同版本数据。失效的版本将会由Bigtable的垃圾回收机制自动 处理
Bigtable的设计的数据模型---列
Bigtable并不是简单地存储所有的列关键字,而是将其 组织成所谓的列族(Column Family),每个族中的数据都属于 同一个类型,并且同族的数据会被压缩在一起保存。引入了列 族的概念之后,列关键字就采用下述的语法规则来定义: 族名:限定词(family:qualifier) 族名必须有意义,限定词则可以任意选定 图中,内容(Contents)、锚点(Anchor)都是不同的 族。而和my.look.ca则是锚点族中不同的限定词 族同时也是Bigtable中访问控制(Access Control)基 本单元,也就是说访问权限的设置是在族这一级别上进行的
Bigtable的设计的数据模型---时间戳
Google的很多服务比如网页检索和用户的个性化设置等 都需要保存不同时间的数据,这些不同的数据版本必须通过时 间戳来区分。图2中内容列的t3、t5和t6表明其中保存了在t3、 t5和t6这三个时间获取的网页。Big系统默认的方式,也可以用户 自行定义
Bigtable的行关键字可以是任意的字符串,但是大小不能 超过64KB。Bigtable和传统的关系型数据库有很大不同,它不 支持一般意义上的事务,但能保证对于行的读写操作具有原子 性(Atomic) 表中数据都是根据行关键字进行排序的,排序使用的是词 典序。 一个典型实例,其中n.www就是一个行关键字。不 直接存储网页地址而将其倒排是Bigtable的一个巧妙设计。这 样做至少会带来以下两个好处 同一地址域的网页会被存储在表中的连续位置,有利 于用户查找和分析 倒排便于数据压缩,可以大幅提高压缩率
系统架构
Bigtable主要由三个部分组成
Bigtable主要由三个部分组成:客户端程序库(Client Library)、一个主服务器(Master Server)和多个子表服务器( Tablet Server) 客户访问Bigtable服务时,首先要利用其库函数执行Open()操作 来打开一个锁(实际上就是获取了文件目录),锁打开以后客户端 就可以和子表服务器进行通信 和许多具有单个主节点分布式系统一样,客户端主要与子表服务 器通信,几乎不和主服务器进行通信,这使得主服务器的负载大大 降低 主服务主要进行一些元数据操作以及子表服务器之间负载调度问 题,实际数据是存储在子表服务器上。
Hbase简介



Hbase是一个分布式开源数据库,基于Hadoop分布 式文件系统,模仿并提供了基于Google文件系统的 Bigtable数据库的所有功能。 Hbaes的目标是处理非常庞大的表,可以用普通的计 算机处理超过10亿行数据,并且有数百万列元素组成的数 据表。 Hbase可以直接使用本地文件系统或者Hadoop作为 数据存储方式,不过为了提高数据可靠性和系统的健壮性 ,发挥Hbase处理大数据量等功能,需要使用Hadoop作为 文件系统。


子表地址的查询是经常碰到的操作。在Bigtable系 统的内部采用的是一种类似B+树的三层查询体系。
缓存和预取技术
为了减少访问开销,提高客户访问效率,Bigtable使用了缓存( Cache)和预取(Prefetch)技术 子表的地址信息被缓存在客户端,客户在寻址时直接根据缓 存信息进行查找。一旦出现缓存为空或缓存信息过时的情况,客 户端就需要按照图示方式进行网络的来回通信(Network Roundtrips)进行寻址,在缓存为空的情况下需要三个网络来回通信 。如果缓存的信息是过时的,则需要六个网络来回通信。其中三 个用来确定信息是过时的,另外三个获取新的地址 预取则是在每次访问元数据表时不仅仅读取所需的子表元数 据,而是读取多个子表的元数据,这样下次需要时就不用再次访 问元数据表
主服务器
当一个新子表产生时,主服务器通过一个加载命令将其分配给一个空
间足够的子表服务器。创建新表、表合并以及较大子表的分裂都会产 生一个或多个新子表。对于前面两种,主服务器会自动检测到,而较 大子表的分裂是由子服务发起并完成的,所以主服务器并不能自动检 测到,因此在分割完成之后子服务器需要向主服务发出一个通知。 由于系统设计之初就要求能达到良好的扩展性,所以主服务器必须对 子表服务器的状态进行监控,以便及时检测到服务器的加入或撤销。 Bigtable中主服务器对子表服务器的监控是通过Chubby完成的— —子表服务器在初始化时都会从Chubby中得到一个独占锁。通过这种 方式所有子表服务器基本信息被保存在Chubby中一个称为服务器目录 (Server Directory)的特殊目录之中。
Bigtable数据存储及读/写操作
10.2 Hadoop中的数据库HBase



Hadoop——Apache开源组织的一个分布式计算框架, 可以在大量廉价的硬件设备组成的集群上运行应用程序, 为应用程序提供了一组稳定可靠的接口,旨在构建一个具 有高可靠性和良好扩展性的分布式系统 . Hadoop优点 (1)可扩展 (2)经济 (3)可靠 (4)高效
Hbase数据模型

Hbase是一个类似Bigtable的分布式数据库,大部分 特性和Bigtable一样,是一个稀疏的,长期存储的, 多维度的,排序的映射表。这张表的索引是行关键字 ,列关键字和时间戳。每个值是一个不解释的字符数 组,数据都是字符串,没类型。 用户在表格中存储数据,每一行都有一个可排序的主 键和任意多的列。由于是稀疏存储的,所以同一张表 里面的每一行数据都可以有截然不同的列。
Hbase逻辑模型


一个表可以想象成一个大的映射关系,通过主键,或者主 键+时间戳,可以定位一行数据,由于是稀疏数据,所以某些 列可以是空白的 上图是一个存储Web网页的范例列表片断。行名是一个反 向URL{即n.www}。contents列族存放网页内容, anchor列族存放引用该网页的锚链接文本。CNN的主页被 Sports Illustrater{即所谓SI,CNN的王牌体育节目}和MYlook的主页引用,因此该行包含了名叫“anchor:” 和 “anchhor:my.look.ca”的列。每个锚链接只有一个版本 {由时间戳标识,如t9,t8};而contents列则有三个版本, 分别由时间戳t3,t5,和t6标识。
第10章 云计算中的数据库技术
10.1 10.2 10.3 10.4 10.5

Google云计算中的数据库Bigtable Hadoop中的数据库HBase Amazon云计算中的简单数据服务Simple DB Amazon云计算中的中的关系数据库服务RDS 微软云计算中的数据库SQL Azure
10.1 Google云计算中的数据库Bigtable
Google云计算平台技术架构 分布式文件存储GFS 并行数据处理MapReduce 分布式锁Chubby 分布式结构化数据表BigTable 分布式存储系统Megastore 分布式监控系统Dapper
。 Bigtable是一个分布式的结构化数据存储系统, 它被设计用来处理海量数据:通常是分布在数千台普 通服务器上的PB级的数据。Google的很多项目使用 Bigtable存储数据,包括Web索引、Google Earth、 Google Finance。这些应用对Bigtable提出的要求差 异非常大,无论是在数据量上(从URL到网页到卫星 图像)还是在响应速度上(从后端的批量处理到实时 数据服务)。尽管应用需求差异很大,但是,针对 Google的这些产品,Bigtable还是成功的提供了一个 灵活的、高性能的解决方案。
一般来说每个子表的大小在100MB到200MB之间。每个子表 服务器上保存的子表数量可以从几十到上千不等,通常情况下 是100个左右。

子表服务器

所有子表地址都被记录在元数据表中,元数据表也是由一 个个的元数据子表(Metadata tablet)组成 根子表是元数据表中一个比较特殊的子表,它既是元数 据表的第一条记录,也包含了其他元数据子表的地址,同 时Chubby中的一个文件也存储了这个根子表的信息。 查询时,首先从Chubby中提取这个根子表的地址,进 而读取所需的元数据子表的位置,最后就可以从元数据子 表中找到待查询的子表。除了这些子表的元数据之外,元 数据表中还保存了其他一些有利于调试和分析的信息,比 如事件日志等 。


Hbase数据模型



列名字的格式是"<family>:<label>",都是由字符串 组成,每一张表有一个family集合,这个集合是固定不变 的,相当于表的结构,只能通过改变表结构来改变。但是 label值相对于每一行来说都是可以改变的。 Hbase把同一个family里面的数据存储在同一个目录 底下,而Hbase的写操作是锁行的,每一行都是一个原子 元素,都可以加锁。 所有数据库的更新都有一个时间戳标记,每个更新都 是一个新的版本,而Hbase会保留一定数量的版本,这个 值是可以设定的。客户端可以选择获取距离某个时间最近 的版本,或者一次获取所有版本。
子表服务器

Bigtable中的日志文件是一种共享日志,每个子表服务器上仅 保存一个日志文件,某个子表日志只是这个共享日志的一个片 段。这样会节省大量的空间,但在恢复时却有一定的难度。
相关文档
最新文档