虚拟化高性能nosql,关闭虚拟化提升性能
为什么说 Linux 容器将颠覆虚拟化
Mark Shuttleworth在十几年前发起了Ubuntu inux项目,现在他在Canonical(一家提供Ubuntu支持服务的公司)主管战略和用户体验。他认为新一轮的服务器虚拟化浪潮与前一轮不太相同。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都做网站、威县网络推广、重庆小程序开发、威县网络营销、威县企业策划、威县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供威县建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
在他的指导下,Canonical和其他的Linux机构一样,在其发布版本中先是Xen Hypervisor,接着是KVM然后继续支持Docker,成功地赶上了虚拟化的几轮潮流。当Eucalyptus是用的可计算云控制器时该公司成为排头兵,而当业界开始支持另一个开源项目- OpenStack而且OpenStack做为Linux的首选被部署到多个公有云上时,他们也迅速地转向OpenStack。Docker及其软件容器方式完全类似于虚拟化并且让云计算服务商为之癫狂,但是让Shuttleworth兴奋的是另一种称为Linux容器 (缩写为LXC)的技术及与之相应的称为LXD的Hypervisor。LXD是由Canonical开发的一个后台进程来管理这些容器并且提供了或多或少与开源的Xen及KVM、微软的Hyper-V或者VMware的ESXi这些服务器虚拟化Hypervisor类似的功能。
Shuttlworth向The Next Platform表示:“我们相信这是十年来对Linux虚拟化最大的突破,你可以看到我们对此是多么兴奋”。
LXC容器的想法和初期的工作都是由Google完成的,容器化应用程序已经在其基础架构上运行了超过十年时间,而且据说每天会启动超过20亿的容器。Canonical和其他大约80个组织已经开始致力于LXC的商业化,因为LXC最初并不是一个对用户很友好的技术。商业化是为了让其具有常见服务器虚拟化的观感和体验,尽管它使用的是非常不同且简化的技术。
“对于容器,很多人并不了解的是我们用来配置容器的系统其实可以用很多种方法来做虚拟或者模拟”,Shuttleworth解释说”有时你希望模仿看起和Docker类似的东西,而有时你又想模拟其他的东西。就LXC而言,我们想要创建容器的途径是创建假想的主机,而不是运行操作系统的主机或者构成一个操作系统的所有进程。这与Docker所作的完全不同,虽然它们都使用相同的底层原语,但是创建了不同的的东西。LXC的宗旨是不借助硬件虚拟化来创建虚拟机“
说起Docker,它在早期是基于LXC的但是现在它有了自己的抽象层,它更像一个运行在文件系统之上的单个进程,就好比你启动了主机但并没有运行 Init和所有构成操作系统的进程而是直接运行数据库或者其他的东西,然后在一台主机上启动多个容器并把它们一起置于其中。通过LXC及其LXD守护进程,Canonical希望保持拥有一个完整Debian、CentOS、Ubuntu或其他Linux操作系统的感观。
“在LXC 1.0中,常见的情景是程序员说:“给我创建这个容器”。现在我们做法接收代码然后将其纳入LXD守护进程来管理,因此并不需要由程序员去创建每一个容器,我可以拥有上百个虚拟机并且与LXD守护进程进行通信来进行统一管理,因此我所拥有的虚拟机集群与你使用VMware ESXi hypervisor所构建的类似。把LXC打包到一个守护进程中就使得它变成了一个hypervisor。什么是ESXi?它基本上是一个操作系统,你可以通过网络跟它通信并且让它给你创建一个虚拟机。通过LXD,你可以跟一个运行LXC的主机说给我创建一个运行CentOS的新容器。这成为一个集群的导引机制。”
LXD也提供了另一个重要功能:它是运行的在两台不同物理主机上的一个软件,从而使得LXC实例能够在主机间在线地迁移。
程序员都追求简洁而且他们喜欢保持事物有序和整洁。在某种程度上,只是因为硬件虚拟化的成本很高就不得不把程序部署到多个主机上已经成了一个痛点。现在,你可以快速地在一台主机上运行多个程序而没有这些开销并且始终保持他们的原始状态和隔离。
本周,Canonical发布了首次包括LXD hypervisor的LXC 2.0 beta版本。在本月将要发布的Ubuntu Server 15.10的更新中就包括这两个组件,而Canonical也通过统一步骤把LXC 2.0反推入Ubuntu Server 14.04 LTS(LTS是Long Term Support的缩写)的服务器版本。LTS版本每两年发布一次而且具有五年的支持生命期。由于它的稳定性有保证,所以70%的客户都在生产环境中运行 Ubuntu服务器的LTS版本。据Shuttleworth说,包含LXD hypervisor的LXC 2.0生产级别版本将在明年亮相,根据命名方案的建议可能就在二月或者三月最迟到4月就与新的企业级版本 – Ubuntu Server 16.04 LTS一同发布。负责Ubuntu产品和战略的Dustin Kirklan对TheNext Platform说,从下一个LTS版本开始,在每一个Ubuntu Server中就会缺省安装LXC和LXD组件,这样每个主机都可以运行几十到几百个容器 –IBM在最大的使用POWER处理器的服务器上甚至可以运行数千个容器。
相比于依靠硬件虚拟化的常规虚拟机,LXC容器具有两个巨大的优势:一台主机上可以打包的容器数量和这些容器的启动速度。尽管为了在一台硬件上用不同的容器运行不同的Linux需要一些额外的工作,但是由于LXC其实就是用Linux运行Linux,所以不需要虚拟什么。
“这在性能方面前进了一步,而在密度方面的改进则是巨大的”,Shuttleworth无不得意地说:“而这对于低延迟、实时型的应用程序具有显著的改善。在云计算环境中这类事情都变得容易处理了,当然过去他们可不是这样。如果你的云平台运行了LXC,很快高性能计算可以搞定了、云计算平台上的实时计算也可以搞定了,而且如果你是一个需要低传输延迟的电信运营商的话,那么NFV(网络功能虚拟化)也可以搞定了。在这些需要巨大资金投入的领域,人们真的希望使用云计算和虚拟化,而LXC使其成为可能。这是非常令人振奋的”
Shuttleworth说LXC容器在密度方面可以达到诸如EXSi、Xen或KVM这类使用虚拟机的hypervisor的14倍,而且 LXC和LXD组合在开销方面却只占基于硬件虚拟化的Hypervisor的20%不到。对于空闲的负载而言,VM和LXC容器就和大多数VM和物理主机所作的一样大部分时间在等待。对于繁忙的VM而言,LXC容器则能够提供明显要好得多的I/O吞吐量和更低的延迟。因此,对于空闲的主机你专注于整合,而对于繁忙的主机你专注于吞吐量和延迟。而且由于Hypervisor和VM的特定开销可以释放出来用于实际工作,所以你可以得到大约20%的性能提升。
现在已经开始对LXC及LXD组合进行基准测试。在上周东京召开的OpenStack峰会上,Canonical LXD开发团队的Tycho Andersen展示了一些在虚拟化环境中的测试基准,其中一个是使用Hadoop TeraSort测试而另一个是对Cassandra NoSQL数据存储的压力测试。这两个测试中,主机运行的是在峰会期间发布的最新OpenStack “Liberty”云控制器和同样刚发布的Ubuntu 15.10. 15.10,它既有KVM也有LXD hypervisor和各自的虚拟机和容器。这些服务器配备了24核和48GB内存,一个控制器负责管理OpenStack而其他三台用作基本的计算节点。
在TeraSort测试开始的时候,在三台主机上LXC和KVM的表现基本一致,但是当OpenStack/Hadoop集群中的主机数量随着数据集的规模增长后,两种不同的虚拟化手段在性能方面的差异开始显现。
哪个属于Nosql数据库
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
常见的Nosql数据库有:
一、Redis数据库
Redis(RemoteDictionaryServer),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
二、MongoDB数据库
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
扩展资料:
对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:
一、易扩展
NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。无形之间,在架构的层面上带来了可扩展的能力。
二、大数据量,高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般MySQL使用Query Cache。NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说性能就要高很多。
三、灵活的数据模型
NoSQL无须事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是——个噩梦。这点在大数据量的Web2.0时代尤其明显。
四、高可用
NoSQL在不太影响性能的情况,就可以方便地实现高可用的架构。比如Cassandra、HBase模型,通过复制模型也能实现高可用。
参考资料来源:百度百科-NoSQL
如何构建一个NewSQL数据库
在大数据时代,“多种架构支持多类应用”成为数据库行业应对大数据的基本思路,数据库行业出现互为补充的三大阵营,适用于事务处理应用的OldSQL、适用于数据分析应用的NewSQL和适用于互联网应用的NoSQL。但在一些复杂的应用场景中,单一数据库架构都不能完全满足应用场景对海量结构化和非结构化数据的存储管理、复杂分析、关联查询、实时性处理和控制建设成本等多方面的需要,因此不同架构数据库混合部署应用成为满足复杂应用的必然选择。不同架构数据库混合使用的模式可以概括为:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三种主要模式。下面通过三个案例对不同架构数据库的混合应用部署进行介绍。
OldSQL+NewSQL 在数据中心类应用中混合部署
采用OldSQL+NewSQL模式构建数据中心,在充分发挥OldSQL数据库的事务处理能力的同时,借助NewSQL在实时性、复杂分析、即席查询等方面的独特优势,以及面对海量数据时较强的扩展能力,满足数据中心对当前“热”数据事务型处理和海量历史“冷”数据分析两方面的需求。OldSQL+NewSQL模式在数据中心类应用中的互补作用体现在,OldSQL弥补了NewSQL不适合事务处理的不足,NewSQL弥补了OldSQL在海量数据存储能力和处理性能方面的缺陷。
商业银行数据中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL数据库满足各业务系统数据的归档备份和事务型应用,NewSQL MPP数据库集群对即席查询、多维分析等应用提供高性能支持,并且通过MPP集群架构实现应对海量数据存储的扩展能力。
商业银行数据中心存储架构
与传统的OldSQL模式相比,商业银行数据中心采用OldSQL+NewSQL混合搭建模式,数据加载性能提升3倍以上,即席查询和统计分析性能提升6倍以上。NewSQL MPP的高可扩展性能够应对新的业务需求,可随着数据量的增长采用集群方式构建存储容量更大的数据中心。
OldSQL+NoSQL 在互联网大数据应用中混合部署
在互联网大数据应用中采用OldSQL+NoSQL混合模式,能够很好的解决互联网大数据应用对海量结构化和非结构化数据进行存储和快速处理的需求。在诸如大型电子商务平台、大型SNS平台等互联网大数据应用场景中,OldSQL在应用中负责高价值密度结构化数据的存储和事务型处理,NoSQL在应用中负责存储和处理海量非结构化的数据和低价值密度结构化数据。OldSQL+NoSQL模式在互联网大数据应用中的互补作用体现在,OldSQL弥补了NoSQL在ACID特性和复杂关联运算方面的不足,NoSQL弥补了OldSQL在海量数据存储和非结构化数据处理方面的缺陷。
数据魔方是淘宝网的一款数据产品,主要提供行业数据分析、店铺数据分析。淘宝数据产品在存储层采用OldSQL+NoSQL混合模式,由基于MySQL的分布式关系型数据库集群MyFOX和基于HBase的NoSQL存储集群Prom组成。由于OldSQL强大的语义和关系表达能力,在应用中仍然占据着重要地位,目前存储在MyFOX中的统计结果数据已经达到10TB,占据着数据魔方总数据量的95%以上。另一方面,NoSQL作为SQL的有益补充,解决了OldSQL数据库无法解决的全属性选择器等问题。
淘宝海量数据产品技术架构
基于OldSQL+NoSQL混合架构的特点,数据魔方目前已经能够提供压缩前80TB的数据存储空间,支持每天4000万的查询请求,平均响应时间在28毫秒,足以满足未来一段时间内的业务增长需求。
NewSQL+NoSQL 在行业大数据应用中混合部署
行业大数据与互联网大数据的区别在于行业大数据的价值密度更高,并且对结构化数据的实时处理、复杂的多表关联分析、即席查询、数据强一致性等都比互联网大数据有更高的要求。行业大数据应用场景主要是分析类应用,如:电信、金融、政务、能源等行业的决策辅助、预测预警、统计分析、经营分析等。
在行业大数据应用中采用NewSQL+NoSQL混合模式,充分利用NewSQL在结构化数据分析处理方面的优势,以及NoSQL在非结构数据处理方面的优势,实现NewSQL与NoSQL的功能互补,解决行业大数据应用对高价值结构化数据的实时处理、复杂的多表关联分析、即席查询、数据强一致性等要求,以及对海量非结构化数据存储和精确查询的要求。在应用中,NewSQL承担高价值密度结构化数据的存储和分析处理工作,NoSQL承担存储和处理海量非结构化数据和不需要关联分析、Ad-hoc查询较少的低价值密度结构化数据的工作。
当前电信运营商在集中化BI系统建设过程中面临着数据规模大、数据处理类型多等问题,并且需要应对大量的固定应用,以及占统计总数80%以上的突发性临时统计(ad-hoc)需求。在集中化BI系统的建设中采用NewSQL+NoSQL混搭的模式,充分利用NewSQL在复杂分析、即席查询等方面处理性能的优势,及NoSQL在非结构化数据处理和海量数据存储方面的优势,实现高效低成本。
集中化BI系统数据存储架构
集中化BI系统按照数据类型和处理方式的不同,将结构化数据和非结构化数据分别存储在不同的系统中:非结构化数据在Hadoop平台上存储与处理;结构化、不需要关联分析、Ad-hoc查询较少的数据保存在NoSQL数据库或Hadoop平台;结构化、需要关联分析或经常ad-hoc查询的数据,保存在NewSQL MPP数据库中,短期高价值数据放在高性能平台,中长期放在低成本产品中。
结语
当前信息化应用的多样性、复杂性,以及三种数据库架构各自所具有的优势和局限性,造成任何一种架构的数据库都不能完全满足应用需求,因此不同架构数据库混合使用,从而弥补其他架构的不足成为必然选择。根据应用场景采用不同架构数据库进行组合搭配,充分发挥每种架构数据库的特点和优势,并且与其他架构数据库形成互补,完全涵盖应用需求,保证数据资源的最优化利用,将成为未来一段时期内信息化应用主要采用的解决方式。
目前在国内市场上,OldSQL主要为Oracle、IBM等国外数据库厂商所垄断,达梦、金仓等国产厂商仍处于追赶状态;南大通用凭借国产新型数据库GBase 8a异军突起,与EMC的Greenplum和HP的Vertica跻身NewSQL市场三强;NoSQL方面用户则大多采用Hadoop开源方案。
当前题目:虚拟化高性能nosql,关闭虚拟化提升性能
标题链接:http://myzitong.com/article/hdpido.html