扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
PaaS提供了基础架构,软件开发者可以在这个基础架构之上建设新的应用,或者扩展已有的应用。Salesforce的Force。com、Google的App Engine和微软的Azure(微软云计算平台)都采用了PaaS的模式。这些平台允许公司创建个性化的应用,也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创建新的解决方案。
PaaS为部署和运行应用系统提供所需的基础设施资源和一个月基础设施,应用开发人员无需关心应用的底层硬件和应用基础设施,并且可以根据应用需求动态扩展应用系统所需的资源。完整的PaaS平台应提供如下功能:
第一,分布式运行环境。
第二,多种类型的数据存储,动态资源伸缩。
第三,应用全生命周期支持,提供第三方接入服务。
第四,提供开发SDK、IDE等加快应用的开发、测试和部署。
第五,监控、管理和计量:提供资源池、应用系统的管理和监控功能、精确计量应用锁消耗的计算资源。
第六,提供应用托管、服务托管、应用服务器托管、虚拟机托管。
第七,提供连通性服务、整合服务、消息服务和流程服务等用于构建SOA架构风格的复合应用。
PaaS的难点与PaaS的特性密不可分,有多租户支持、弹性伸缩、统一运维、系统自愈、细粒度资源计量、SLA保障等。这些基本也都是云计算的基本特点。多租户弹性是PaaS区别于传统应用平台的本质特性,其实现方式也是用来区别各类PaaS的最重要标志之一,是PaaS的最核心特性之一。
PaaS的一个重要应用领域是大数据处理,而互联网企业每天都在存储海量的非结构化数据和结构化数据,这些数据需要在短时间内被处理,否则就会让用户体验处于崩溃的边缘。以前,数据规模很大,但是结构化数据居多,随着社交网络和移动互联网应用的兴起,非结构化数据在采集数据的占比越来越大,海量数据逐渐演变为以数据多样性为主要特征之一的大数据。
PaaS层对数据库的新要求
所谓大数据,即数据集的尺寸大、数据生成速度快、结构化和非结构化数据类型多、数据集蕴含的价值大。云计算的PaaS层对数据库技术提出了新的要求,主要表现在以下几个方面:
第一,海量数据处理。对类似搜索引擎和电信运营商级的经营分析系统这样大型的应用而言,需要能够处理PB级的数据,同时应对百万级的流量。
第二,大规模集群管理。分布式应用可以更加简单地部署、应用和管理。
第三,低延迟读写速度。快速的响应速度能够极大地提高用户的满意度。
第四,建设及运营成本。云计算应用的基本要求是希望在硬件成本、软件成本以及人力成本方面都有大幅度的降低。
近年来,大数据所蕴含的巨大价值被人们所认识并开发,Google、Facebook、Twitter等基于大数据分析的互联网应用在业界取得巨大成功,分布式处理系统Hadoop在构建大数据处理平台领域应用普及,已经成为事实标准。然而,当前的Hadoop系统主要基于MapReduce时应用的发展,比如实时搜索、实时交易系统、实时欺骗分析、实时监控、社交网络等,都需要一个高度可扩展的流式计算解决方案。因此,2011年以来,流式成为业界应用的热点技术,涌现了众多成功的应用和开源系统实现,如yahoo!的S4系统、Twitter采用的Storm系统。
同时,为加快分布式处理系统的响应速度,2012年以来,内存计算成为业界应用的热点技术。内存计算是指CPU直接从内存,而不是硬盘上读取数据,并进行计算、分析,是对传统的分布式数据处理方式的一种加速。内存计算作为未来数据计算和管理的支撑技术之一,在商务智能分析方面拥有巨大的应用潜力。
开源社区推出Memcached,它是一个开源的高性能、分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负载。当前,Memcached等基于分布式内存的数据存储系统在Facebook等企业已经取得成功应用。
在大数据的存储方面,弱化一致性的全球分布式数据库系统和突出性能的NoSQL数据库活动量广泛应用。
为了保障数据库操作的完整性和安全性,传统数据库理论将用户改变数据库状态的一组操作定义为一个事务,并规定一个支持数据库事务的数据库关系系统(DataBase Mangement System,DBMS)必须保障一个事务操作的四项属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。
这四大属性简称ACID属性,与英文中“酸“的单词字母相同。然而,当今的大型互联网公司,如Amazon、Google和Yahoo!都为全世界的用户提供服务,面对如此大规模的用户群体和用户地理分布范围,单一的集中式数据库架构是不现实的。因此,更好地响应世界各地用户的访问请求,Amazon等公司多采用全球地理分布的多数据库联邦架构,并将数据在多个数据库之间冗余备份,这极大地提升了用户体验。
然而,2000年,美国加州伯克利大学计算机学院的Brewer教授提出了著名的CAP理论,明确指出在数据库系统中,数据的一致性(Consistency)、可用性(Availability)和数据分区容错(Partition Tolerance)属性不能同时满足,最多只能满足两项属性。CAP理论在2002年被Seth Gilbert和Nancy Lynch等人通过严谨的计算理论方法证明是正确的。
对于Amazon和Yahoo!所采用的分布式数据库系统而言,数据分区容错属性是天然属性,因而数据被分区存储而不可预计的网络故障必然会导致数据分区错误。因此,依据CAP理论,对于地理分布的数据库架构中,如果需要提供高可用性(Availability),就必须放松对数据库事务的一致性(Consistency)。
因此,学术界提出了对于地理分布的数据库架构的事务支持的新要求,即需要满足三大属性:基本可用性(Basically Available),即在任何情况下基本功能可用;柔性事物(Soft state),即允许冗余的数据状态在某段时间内不同步;最终一致性(Eventual Consistency),即保障冗余的数据状态能够最终同步。
上述三大属性简称BASE,与英文中“碱“的单词字母相同。显而易见,BASE属性与ACID属性是相反的。不同于ACID模型,BASE模型通过牺牲强一致性,获得基本可用性和柔性状态保障了系统的可用性和可靠性,并能够使得数据的副本之间最终达成一致。BASE模型在早期的地理分布式数据库系统中取得成功应用,典型系统如Amazon的Dynamo和Yahoo!的PNUTS。
NoSQL在大数据处理中取得成功
不仅如此,CAP理论、BASE模型也为当前互联网领域非常流行的NoSQL(Not Only SQL)数据库系统奠定了理论基础,而NoSQL数据库系统在新兴互联网企业如Facebook、Twitter等取得成功应用。
SQL(Structured Query Language)是面向关系型数据库的结构化基础语言,针对关系数据的功能设计。NoSQL面向非结构化数据存储,其核心概念并不在数据如何被查询,而是数据如何被存储,即非关系数据库。
但是NoSQL数据库也可包含面向非结构化数据的查询语言,如开源NoSQL数据库系统Couchbase和SQLite使用的非结构数据查询语言UnQL(Unstructured Data Query Language)。NoSQL数据库主要面向简单键值对(Key-Value)数据格式,采用列式存储方式。另一方面,其放松了数据库事务的严格一致性要求,因而能够取得很好的访问性能和近乎线性的扩展性,从而在大数据存储领域取得了巨大成功。
NoSQL的兴起也得益于开源社区的广泛支持,当前应用广泛的NoSQL数据库不仅有Hadoop系统集成的Hbase数据库,还有满足极高读写性能需求的Key-Value数据库,如Redis等;满足海量存储需求和访问的面向文档的数据库:如MongoDB、CouchDB等;满足高可扩展性和可用性的面向分布式计算的数据库:Cassandra等。开源软件的普及推动技术普及和产业标准成熟,产业巨大需求也促使传统数据库厂商提供NoSQL数据库产品和解决方案。
2012年12月,作为其云计算软件基础设施的一部分,Oracle发布了NoSQL数据库产品Oracle NoSQL Database 2.0,标志着NoSQL数据库已经成为大数据时代的数据处理的主流解决方案之一。
在信息技术融合应用的新时代,大数据就是像黄金一样的新型经济资产、像石油一样的重要战略资源。然而,大数据对处理和存储能力的无限需求使得传统的IT架构和技术力不从心,唯有云计算才能支撑上述需求,才能支撑面向大数据的价值发现,从而实现跨越式发展。
PaaS的核心价值是让应用及业务更加敏捷、IT服务水平更高、并实现更高的资源利用率。在云产业链中,如同传统的中间件所起的作用一样,PaaS也将会是产业链的制高点。无论是在大型企业私有云中,还是在中小企业所关心的应用云中,PaaS都将起到核心的作用。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者