v1.0 可编辑可修改
S3三大类型的授权用户:所有者、个人授权用户、组授权用户 8.非关系型数据库与传统关系数据库的比较
(1)关系型数据库:优点:具有高一致性,在ACID方面很强,移植性很高。缺点:可
扩展性方面能力较弱。
(2)非关系型数据库:优点:具有很高的可扩展性,很好的并发处理能力。缺点:缺
乏数据一致性保证,处理事务性问题能力较弱,难以处理跨表,跨服务器的查询。 9. SimpleDB:域、条目、属性、值
(1)每个属性大小不能超过1KB (2)存储的数据范围极其有限(3)只保存指向某个文件位置的指针。
(1)以表为基本单位(2)取消了对表中数据大小的限制 (3)允许用户选择弱一致性或强一致性
(4)采用固态硬盘,根据用户设定的读/写流量限制预设来确定数据分布的硬盘数量。 和DynamoDB的比较
(1)SimpleDB:限制了每张表的大小,更适合于小规模复杂的工作。自动对所有属性进行6
v1.0 可编辑可修改 索引,提供了更加强大的查询功能。
(2)DynamoDB:支持自动将数据和负载分布到多个服务器上,并未限制存储在单个表中数据量的大小,适用于较大规模负载的工作。
第四章:微软云计算Windows Azure
1. 微软的Windows Azure 属于PaaS模式,一般面向软件开发商。 2. 当前版本Windows Azure 平台包括四个部分:
(1)Windows Azure(2)SQL Azure(3)Windows Azure AppFabric (4)Windows Azure Marketplace
3. Windows Azure是一个服务平台,用户利用该平台,通过互联网访问微软数据中心运行Windows应用程序和存储应用程序数据,这些应用程序可以向用户提供服务。Windows Azure提供了托管的、可扩展的、按需应用的计算和存储资源,同时还提供了云平台管理和动态分配资源的控制手段。
Azure的最新版本包括五个部分:
(1)计算服务(2)存储服务(3)Fabric控制器(4)内容分发网络CDN(5)Windows Azure Connect
5.计算服务:为在Azure平台中运行的应用提供支持。 三种实例:(1)Web Role (2)Worker Role (3)VM Role
6.存储服务:主要用来存储二进制和结构化的数据。依靠微软数据中心,允许用户在云端存储应用程序数据。 应用程序可以存储任何数量的数据,并且可以存储任意长的时间,用户可以在任何时间、任何地方访问自己的数据。
四种主要的数据存储结构:(1)Blob(2)Table(3)Queue(4)File 7. 全局命名空间:分成三部分:账户名、分区名、对象名 8. 体系架构:WAS产品系统由存储域和位置服务构成。
(1)存储域层次结构:文件流、分区层、前端
9. 双复制引擎:实现数据高可用=>(1)域内复制(2)域间复制
域内复制专门为硬件失效而设计,在大规模系统内这类失效比较普遍。 域间复制提供跨地域冗余来防止地域灾难,这种情况一般不多出现
10. 文件流层:包括流管理器和区块节点。
7
v1.0 可编辑可修改 11. 分区层提供:
(1)不同存储对象类型的数据模型。(2)不同类型对象处理的逻辑和语义
(3)大规模扩展的对象命名空间。(4)跨多个可用分区服务器访问对象的负载平衡。 (5)访问对象的事务排序和强一致性。
12. 分区层主要体系结构模块:(1)分区管理区(2)分区服务器(3)锁服务 13. 分区管理器可执行三种操作:(1)负载平衡(2)划分(3)合并
14. Windows Azure Connect:在Windows Azure应用和本地运行的机器之间建立一个基于IPsec协议的连接,使两者更容易结合起来使用。
Azure CDN:用户第一次访问Blob时,CDN存储了Blob的副本,存放的地点与用户在地理位置上比较靠近。当这个Blob被第二次访问时,它的内容将来自于缓存,而不是来自于离它位置较远的原始数据。
控制器:是一个分布式应用,拥有计算机、交换机、负载均衡器等各种资源。 控制器控制所有运行的应用。 17.微软云关系数据库SQL Azure
(1)SQL Azure:SQL Azure是微软的云中关系型数据库。SQL Azure数据库简化了多数据库的供应和部署。SQL Azure还为用户提供了内置的高可用性和容错能力。 (2)提供了关系型数据库存储服务:包含三部分:
1)SQL Azure数据库 2)SQL Azure报表服务 3)SQL Azure数据同步
Fabric
18. SQL Azure数据库:SQL Azure的一种云服务,提供了核心的SQL Server数据库功能。 (1)支持TDS和Transact-SQL(T-SQL)。提供的是一个基于云的数据库管理系统。 (2)每个SQL Azure账户都拥有一个或多个逻辑服务器;每台服务器都拥有多个SQL Azure数据库;用户可以自由地使用SQL Azure数据库。 (3)SQL Azure 和 SQL Server的差别
8
v1.0 可编辑可修改
19. 报表服务:基于SQL Server报表服务,实现SQL Azure报表服务。
(1)两个使用场景:一、SQL Azure报表创建的报表可以发布到某一个门户上,云端用户可以访问这个门户的报表,也可以通过URL地址直接访问报表;二、ISV(独立的软件开发商)能够嵌入发布到SQL Azure报表门户的报表。
(2)SQL Azure报表服务与SQL Azure数据库中的数据相互作用。
(3)SQL Azure Reporting与SSRS的报表格式是相同的,都使用微软定义的RDL。 (4)SQL Azure Reporting并没有实现本地情况下SSRS提供的所有的功能。
20.数据同步:为了提高存储数据的访问性能,同时确保网络发生故障时应用仍然能够访问数据库,需要在本地拥有SQL Azure的数据库副本,微软使用了SQL Azure数据同步技术。 技术包括两方面:
(1)SQL Server数据库与SQL Azure数据库之间的数据同步 (2)SQL Azure数据库之间的同步
可以同步整个数据库,也可以只同步有更新的数据库表格。 21. SQL Azure和SQL Server对比
9
v1.0 可编辑可修改
第五章:Hadoop :主流开源云架构
1.分布式计算:处理过程可大致分为三步:
(1)本地计算(Map): cSlave0最好是处理存于本机硬盘上的file0,而不是将file1从cSlave1调过来(通过网络)再处理file1,这就是所谓的“本地计算”。 (2)洗牌(Shuffle):规定将Key值相同的KV对,通过网络发往同一台机器。 (3)合并再计算(Reduce) 2.合并在计算
(1)第一步,每台机器将各自KV对中的Value连接成一个链表
(2)第二步,各台机器可对
3.无论是Map、Shuffle还是Reduce,甚至是存储结果,在每个阶段都是并行的,整个过程则构成一个有向无环图(DAG)。 4.冗余存储与冗余计算
(1)存储:引入新机器cSlave2和cSlave3,将存于cSlave0的file0同样存储于cSlave2,存于cSlave1的file1同样存一份于cSlave3。
(2)计算:cSlave0~3的计算任务cMaster1选中先结束的那台机器的计算结果,并停止另一台机器里还在计算的进程 统一由cMaster1指派。
(3)作用:通过冗余存储,不仅提高了分布式存储可靠性,还提高了分布式计算的可靠性。 5.Hadoop至少应当包含分布式存储和分布式计算两个模块。
10