【IT168 专稿】“云“和”大数据“当之无愧的成为当今IT圈最热的两个关键词,无论从哪个角度来看,云和大数据都有着千丝万缕的联系,两者相互促进,共同发展。随着云计算的发展,数据量呈现爆炸式增长,大量数据除了在本地存储,也在云上开辟了新的空间。不论是结构化数据还是非结构化数据,云数据库都提供了相应的产品,帮助用户管理和消费数据,并将他们从繁琐的硬件配置和管理中解脱出来。
云数据库是指运行在云计算平台上的数据库系统。云数据库是在SaaS(Software as a Service,软件即服务)模式下发展起来的云计算技术,它极大地增强了数据库的管理和运维能力,消除了用户、硬件、软件的重复配置,让软、硬件升级变得更加容易,同时也虚拟化了许多后端功能。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。
近日,在ITPUB论坛上展开了名为《云端来袭 传统数据库VS云数据库孰优孰劣》话题讨论,网友们畅所欲言。一方面分享了自己对云数据库的理解,另一方面从云数据库和传统数据库对比的角度,分析了云数据库的优缺点,及其未来发展趋势。笔者联系到其中三位DBA,对云数据库这一热门话题发表了自己的观点和趋势展望。
宋沄剑,论坛昵称CareySon,在某石油行业大型国企任DBA,微软SQL Server最有价值专家,他认为云计算是未来IT技术发展的最新趋势,而其中的云端数据库是一种新兴的共享基础构架的方法。相比较传统数据库而言,云端数据库自带高可用性和数据冗余、并且有着按需付费、扩展容易、基础架构的安装维护非常容易等特点。
就现阶段而言,不仅诸如Teradata、IBM、Oracle、Microsoft等老牌数据库厂商实现了云端数据库,像新兴的Amazon、Google、Yahoo等厂商也参与其中,当然类似Vertical等小公司也分一杯羹。目前阻止企业向云端数据库迁移的因素不仅仅包括众所周知的云端数据安全问题,还包括向云端数据库迁移困难,没有足够的成熟案例等。
尽管如此,云端数据库仍然是未来的大势所趋,用一句话总结就是:前途是光明的,道路是曲折的。
金官丁,ITPUB社区版主,MySQL数据库技术顾问,致力于数据库领域的设计、优化、高可用性、数据层架构、自动化等方面应用研究,以及极力推广开源领域的数据库及相关技术产品,现主要贡献于MySQL开源领域。他认为,在当前国内环境下,“云”等同于“骗”。
云数据库是一种基于云的数据存储,提供数据的变更、查询、计算服务,对应用程序而言只需要提交一个数据库连接字符串即可访问的服务,且云数据库的用户不能直接控制运行原始数据库的主机。
云数据库的特点
Ø 数据的分布式存储
用户看到的数据库名称为一个虚拟的数据库,虚拟数据库中的数据会依据用户购买的云数据库服务等级不同,而选择的策略不同。往往当用户申请的云数据库的容量、并发连接数等指标过大的时候,将会对用户的数据进行拆分存储到不同的物理主机或者虚拟机上。当然,对于数据拆分原则,具有一定的智能算法规则,且数据拆分对用户程序而言绝对透明。
Ø 数据服务的高可用性
由单一主机提供数据库服务,存在数据服务可用性低的缺陷,为提高数据服务的可用性,针对不同的数据库产品特点和主机存储设备,会采用不同的做法,基本思路都是冗余的机制,也即有多个数据库主机能提供服务,以便任一主机或数据库故障发生时,能在极短时间(注:1秒以内)内进行数据服务的自动切换,对应用程序几乎无感知。
若是采用云数据库之后,则用户不需要关心数据服务的可用性,而是由云数据库确保数据服务的高可用性,一般而言至少达到99%。
Ø 数据服务的隔离性
一台物理主机跑多个数据库实例,则数据库实例之间会因争夺资源,而影响其他实例的处理能力和数据服务的质量,而租用云数据库的服务,则会对不同用户的数据库实例做到资源上的隔离,互不影响。若只是共同租用数据库实例的做法,则存在部分资源上的争夺影响。
Ø 运维管理革新
使用云数据库的服务后,则数据库的管理维护、备份、监控、服务器端优化等日常工作,数据库主机的管理维护、监控等工作,都将统一由云数据库平台的自动化工具完成,用户不再需要招聘人员完成这些工作。
云数据库的重要性
提供数据库服务的主机和存储设备,要考虑高峰期与低谷期的特点,每家公司都存在或多或少的闲置,若是采用分布式计算的技术,将会有利于提高资源的利用率,对土地的占用,节能减排都有非常大的贡献。
云数据库的技术发展、服务理念革新,将会促进社会创新与社会发展的进步,能帮助到更多的创业者或创业公司快速完成产品的研发,更多精力专注产品运营或业务流程,也能降低创业的技术门槛。
王凤琴,论坛昵称chszs,是四川虹微技术有限公司的一位资深DBA工程师,多次参与涉及云数据库的项目,拥有丰富的经验。据她介绍,云数据库和传统数据库最大的区别是云数据库封装了底层的软硬件实现,把数据库集群、扩展性、可靠性、运维等等的很多工作对用户来说,完全的隔离开来。云数据库最大的优点是简化了和省略了很多DBA的工作以及研发和管理的工作。
云数据库通常有两种部署模式:一是用户可以在云上部署和运行独立的数据库,使用虚拟机镜像;二是用户可以购买云服务商提供的数据库服务。概括来说,凡是提供云计算服务的公司,通常也提供了云数据库服务。比如有:
1)Google基于MySQL数据库实现的Cloud SQL和BigTable非关系型数据库;
2)微软基于SQL Server实现的SQL Azure;
3)甲骨文的Oracle Cloud Database;
4)亚马逊的DynamoDB和SimpleDB;
5)雅虎的PNUTS云数据库;
6)专业云数据库公司提供的云数据库,如基于PostgreSQL实现的StormDB云数据库;
7)国内云服务商提供的云数据库,在技术路线上基本上是基于Apache Cassandra、Apache HBase、MySQL、SQL Server这几种数据库技术之一研发的。主要的公司有百度、阿里、盛大、华为、新浪等。
从技术方面来讲,云数据库和传统数据库并没有本质的区别,大家可以把云数据库看成是传统数据库在云计算平台上的部署和应用,云数据库和传统数据库在使用、操作、管理方面并没有太大的区别。以阿里的云数据库RDS为例,阿里云数据库通过云服务的方式让关系型数据库在设置、操作和扩展变得更加简单,还可以帮助企业解决费时、费力的数据库管理,使企业有更多的时间专注于应用和业务层面,节约用户的硬件成本和维护成本。阿里云数据库RDS支持MySQL、MS SQL Server两种关系型数据库,而且与现有商用MySQL和MS SQL Server完全兼容。使用阿里的云数据库RDS,你可以感觉到和使用自己自建的MySQL数据库管理系统、SQL Server数据库管理系统是一样的,基本没有区别。
未来五年,企业对结构化数据的存储需求会每年增加20%,而对非结构化数据的存储需求将会每年增加60%。因此国内一些研究员认为,云数据库是海量存储需求的必然选择。换句话说,是海量存储催生了云数据库。对于这个观点,我不是很赞同。海量数据对云数据库的发展是有一定促进作用的,但肯定不是必然的选择。从技术上来说,很多NoSQL技术都可以满足海量非结构化数据的需求,比如Cassandra、MongoDB等等。对企业用户来说,自建数据中心的代价太高,成本昂贵,远不如租用云数据库服务来得便宜。根据我个人的经验判断,数据量在TB级~10PB级以内,租用云数据库服务的性价比更高,而数据量大于10PB级以后,还是自建数据中心成本更低。
云数据库的出现,使得用户有了更多的选择。我们可以自建数据中心,也可以租用云数据库服务。云数据库并不能代表数据库技术的未来,只能算是数据库技术多极化发展的方向之一。
更多精彩尽在2013年4月18~4月20日第四届中国数据库技术大会,北京永泰福朋喜来登酒店。
3月31日之前购票享8折优惠。