基于SimpleDB进行分布式数据云存储
2010-09-15李太宁
叶 钰,李太宁,刘 渊
(1.江南大学信息工程学院,江苏 无锡 214000,2.泰州职业技术学院 电子工程系;3.心生网络有限公司,江苏 泰州 225300)
基于SimpleDB进行分布式数据云存储
叶 钰1,2,李太宁3,刘 渊1
(1.江南大学信息工程学院,江苏 无锡 214000,2.泰州职业技术学院 电子工程系;3.心生网络有限公司,江苏 泰州 225300)
云存储是近年来兴起的一种数据存储方式,建立在云计算的技术前提上,是未来数据存储的必然趋势。文章通过对Amazon的云存储产品SimpleDB的介绍,展示云存储的基本概念与使用方法。
云计算;云存储;SimpleDB;Web Service
Amazon SimpleDB是一款使用Erlang语言编写的分布式数据库系统。该系统为Amazon公司开发,被看做是云存储时代到来的标志。SimpleDB发布于2007年12月13日,该技术是基于Web Service技术的一种扩展,提供了建立在云存储基础上的类似于关系型数据库的基本功能。通过这种方式,软件开发人员将数据库完全托管在云上,节省了开发时间与成本。
在云存储出现以前,如果用户需要大型数据库存储能力,那么就需要架设集群数据库服务器,消耗大量人力物力,而SimpleDB全部会自动完成这些工作。且SimpleDB提供大量开发接口,开发人员使用这些接口,很快能学会使用,且直接适用于极大型应用[1]。
SimpleDB提供了PHP、C#、Java、Perl、VB.NET等语言接口。要使用SimpleDB需要一定的编程基础,且对XML与Web Service有一定的了解。
1 准备工作
首先需要在AWS网站上(http://aws.amazon. com)注册一个AWS帐号才能使用SimpleDB服务;
第二、注册登录后,AWS系统会分配一个20字符的ID,使用该ID来进行SimpleDB的验证;
第三、下载编程所需的工具,下面以Java语言举例,需要下载JDK以及编程所需的文本编辑器如Eclipse等。
第四、每次使用SimpleDB之前都需要进行帐号验证,即对前文所述的AWS ID进行验证后才能使用相关服务。验证代码示例如下:
第五、下载SimpleDB有关的jar包(在官方网站可以下载到)。将下载的文件解压缩到项目所在的CLASSPATH中。
2 实例阐述
下面就以数据的保存、查询与删除为例来分别举例说明。
2.1 保存数据
SimpleDB使用键值对的形式保存数据。假设要将下表保存到SimpleDB中[2,3]:
idcategorynamecolorsize服装1上衣09新款条纹紫色M服装2裤子牛仔裤黑色服装3外套全棉西装藏青L
代码如下:
2.2 查询数据
SimpleDB提供了与关系数据库中类似的查询方式——使用SQL语句。查询代码如下:
//创建查询语句,查询所有分类为上衣的记录
2.3 删除数据
只需将相关记录找出,调用以下方法即可:
对于其他数据库常见操作,例如字段的添加、修改、删除,数据库的添加、修改、删除,记录的更新等鉴于篇幅问题就不一一举例,有兴趣进一步学习SimpleDB的读者可以查阅相关文章与书籍。
从前文中可以看出,使用SimpleDB进行云存储,将数据放到云中,可以完全不用在意底层的建设,如何安装数据库、如何配置数据库、如何将数据库性能调整到最适应的情况等等复杂繁琐的工作,均不需要程序员去管理,SimpleDB全部都完成了。而传统方式,这些工作如果让数据库厂商来提供,所需的费用至少为上万美金[4]。
3 结束语
由于云存储的容量是无限的,并且SimpleDB可以再任意时刻扩充数据库的性能,所以使用了SimpleDB,就意味着一个项目在还没有创建的时候,就拥有了世界上容量最大的数据库存储以及拥有了速度最快的数据存取性能,而且在项目开始的时候,完全不用考虑数据库存取的压力,先设置成够用的测试开发环境即可。
现阶段,世界上各大知名厂商都分别推出了基于SimpleDB的各种产品与服务,同时由于不用考虑存储、电力、分布式、高可用、CPU等问题,很多企业原先无法实现的大型项目计划,可以在很短的时间内实现。在未来,只需要一台笔记本或者一个手机,就可以通过网络服务来实现人们需要的一切相关服务需求,甚至包括超级计算这样的任务。把计算机当做接入点,剩下的一切都交给互联网吧。现任Google CEO施密特对于未来计算模式预言90%计算任务都能够通过云计算技术完成。
可以想象,不久的将来,云存储必然成为主要的数据存储方式之一,无论是针对个人的云存储服务,还是针对企业的私有云存储,将数据放入云中,随时随地任意存取的方式,将成为计算机发展史上重要的一笔。
[1] 郑金军.云存储延伸数据生命周期[J].信息系统工程, 2008,177(9):29.
[2] 卢敏.云存储是“不用权衡的”[J].软件世界,2008,(11):42.
[3] 冯大辉.云计算中的存储[J].程序员,2008,(11):40.
[4] 刘曦葳.节省IT成本云存储成亮点[J].中国教育信息化高教职教,2009,(1):90.
(责任编辑 施 翔)
Using SimpleDB for Distributed Data Cloud Storage
YE Yu1,2, LI Tai-ning3, LIU Yuan1
(1.Jiangnan University, Wuxi Jiangsu 214000,China, 2.Taizhou Polytechnic College; 3. Taizhou sixen soft, Taizhou Jiangsu 225300,China)
Cloud storage, a data storage means occurring in recent years, is based on cloud computing technology. It is the inevitable trend of data storage in the future. This paper is to demonstrate the basic concepts and use of cloud storage through the introduction of Amazon's cloud storage product—SimpleDB.
cloud computing; cloud storage; SimpleDB; Web Service
TP311
A
1671-0142(2010)01-0009-02
叶钰(1977-),女,江苏靖江人,讲师.