数据库即服务DBaaS相对于其他云服务(saas,paas,iaas)来说是一个更为强大的数据解决方案,它提供全面的数据库功能。在DBaaS中,管理层负责连续监测和配置数据库,以实现优化缩放、高可用性、多租户、并在云中有效的分配资源。因此,开发者可以免去许多繁琐乏味的数据库管理 *** 作的麻烦,因为这些会被自动处理。
数据库即服务和其他云服务之间的区别是:DBaaS专注于提供类似关系数据库管理系统RDBMS(比如SQL Server、MySQL和Oracle)的数据库功能。事实上,RDBMS已被证明是一种适合于在各种情况下管理结构化数据的有效工具。
然而RDBMS并非没有局限性。它们难以扩展,需要大量的资源来配置和维护,比如时间、硬件和人力。同样,它们往往遵循峰值性能模型,这就要求系统按照峰值容量来配置可用性,而不考虑典型的数据使用情况。为维持生产环境和非生产环境需要不断地投入管理支持费用,最终导致客户为数据库资源投入巨额成本。 (相关阅读:SaaS平台 PaaS平台即服务 DaaS桌面即服务 IaaS基础设施即服务 BaaS后端即服务)
2、数据库即服务DBaaS解决方案对于企业部署数据库方面的优势
根据DBaaS的概念,我们很容易想到一些比较好的地方,这个方面可以从云服务的角度来讲,
低价格:这可能是使企业进入云行列的第一个原因。使用基于云数据库解决方案,可以从硬件、软件许可以及服务实施等方面大幅降低运营成本和支出,因为你只需要对所使用的部分买单。
扩展性与灵活性:数据库托管公司往往处于有利位置,为了得到更高的效率并减少未使用的空间而使资源得到最大化。他们根据你不断变化的业务需求而对服务进行增加或缩减。
PaaS(Paltform as a Service,平台即服务),是指将一个完整的计算机平台,包括应用设计、应用开发、应用测试和应用托管,都作为一种服务提供给用户。用户不需要购买硬件和软件,只需要利用 PaaS 平台,就能够创建、测试、部署和运行应用和服务。PaaS服务器平台作为一种服务提供的商业模式,是 SaaS 技术发展的趋势,能给客户带来更高性能、更个性化的服务。PaaS 是间于 SaaS 和 IaaS 之间的核心系统层,是支撑云计算实质落地的应用环境与工具。随着云计算市场的不断成熟,PaaS 势必发展成为云计算的主流市场。不过,由于PaaS涉及复杂的系统底层研发,开发难度大、研发周期长、人才要求高、系统投资大,目前中国市场真正意义的PaaS产品很少,像百度、新浪、腾讯都有。
Pispower云平台是很有潜力的PaaS后起之秀。目前,广州亦云研发的Pispower云平台已支持Java、PHP、C#等国内主流的开发语言(python、Ruby、Node.js、Perl、VB.net即将推出)和MySQL、Oracle、SQL Server、MongoDB等多种数据库。同时,Pispower云平台还提供负载均衡、无缝迁移、CDN加速等高价值的增值服务,具有超大规模数据的计算与存储能力,能够承载Web应用、CRM、ERP、OA、财务、业务等大型的企业级应用。而且目前完全免费中。
IBM研究部门发表了一篇关于容器和虚拟机环境性能比较的论文。这篇论文使用了Docker和KVM作为研究对象,阐述了Docker使用NAT或AUFS时的开销,并且质疑了在虚拟机上运行容器的实践方法。论文作者在原生、容器和虚拟化环境中运行了CPU、内存、网络和I/O的benchmark。其中,分别使用KVM和Docker作为虚拟化和容器技术的代表。Benchmark也包含了对不同环境下Redis和MySQL负载的采样。通过小数据包和多客户端,Redis侧重于网络栈的性能。而MySQL侧重于内存,网络和文件系统的性能。
结果显示,在每一项测试中,Docker的性能等同于或超出KVM的性能。在CPU和内存性能方面,KVM和Docker都引入了明显的,但可略不计的开销。但是,对于I/O密集型的应用,两者都需要进行调整以减少开销带来的影响。
当使用AUFS存储文件时,Docker的性能会降低。而相比之下,使用卷(volume)能够获得更好的性能。卷是一种专门设计的目录,存在于一个或多个容器内。通过这种目录能够绕过联合文件系统(union file system)。这样它就没有了存储后端可能带来的开销。默认的AUFS后端会引起显著的I/O开销,特别是当有多层目录深度嵌套的时候。
Docker的默认网络选项,--net=bridge,由于NAT会重写数据包,也引入了性能开销。当数据包收发率变高时,这种开销会变得很明显。可以通过使用--net=host改善网络的性能。这个选项告诉Docker不要为容器创建一个独立的网络栈,并允许容器拥有宿主机网络接口的完全访问权限。但是,使用这个选项时要小心。因为它允许容器内的进程像其他根进程一样,使用数值较小的端口;并允许容器内的进程访问本地网络服务,如D-bus。这使得容器内的进程可以做一些预料之外的事情,如重启宿主机。
尽管自诞生以来,KVM性能有了相当大的提升,但它仍然不适用于对延时敏感或高I/O访问率的工作负载。因为每次I/O *** 作,它都会增加一些开销。这个开销对于耗时较少的I/O *** 作是有意义的,但对于耗时较长的I/O *** 作是可以忽略的。
根据这些测试结果,论文对使用虚拟机实现IaaS的方法提出了质疑:
传统观点(在某种程度上,这种观点存在于年轻的云生态圈中)认为使用虚拟机实现IaaS,使用容器实现PaaS。我们没有找到技术方面的理由来证明必须这么做,尤其是证明容器基于IaaS能提供更好的性能或者更容易部署。由于容器提供了控制手段,并在不使用虚拟机的情况下能达到物理机的性能,所以它能够消除IaaS和非虚拟化的服务器间的差异。
尽管在虚拟环境中运行容器是一种常见的实践方法,但是论文建议直接在物理的Linux服务器上运行它们。否则,相比于直接运行在非虚拟化的Linux上的方法,由于虚拟机的性能开销,这种实践方法不会得到任何额外的好处。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)