葉 鈺,李太寧,劉 淵
(1.江南大學(xué)信息工程學(xué)院,江蘇 無錫 214000,2.泰州職業(yè)技術(shù)學(xué)院 電子工程系;3.心生網(wǎng)絡(luò)有限公司,江蘇 泰州 225300)
基于SimpleDB進行分布式數(shù)據(jù)云存儲
葉 鈺1,2,李太寧3,劉 淵1
(1.江南大學(xué)信息工程學(xué)院,江蘇 無錫 214000,2.泰州職業(yè)技術(shù)學(xué)院 電子工程系;3.心生網(wǎng)絡(luò)有限公司,江蘇 泰州 225300)
云存儲是近年來興起的一種數(shù)據(jù)存儲方式,建立在云計算的技術(shù)前提上,是未來數(shù)據(jù)存儲的必然趨勢。文章通過對Amazon的云存儲產(chǎn)品SimpleDB的介紹,展示云存儲的基本概念與使用方法。
云計算;云存儲;SimpleDB;Web Service
Amazon SimpleDB是一款使用Erlang語言編寫的分布式數(shù)據(jù)庫系統(tǒng)。該系統(tǒng)為Amazon公司開發(fā),被看做是云存儲時代到來的標志。SimpleDB發(fā)布于2007年12月13日,該技術(shù)是基于Web Service技術(shù)的一種擴展,提供了建立在云存儲基礎(chǔ)上的類似于關(guān)系型數(shù)據(jù)庫的基本功能。通過這種方式,軟件開發(fā)人員將數(shù)據(jù)庫完全托管在云上,節(jié)省了開發(fā)時間與成本。
在云存儲出現(xiàn)以前,如果用戶需要大型數(shù)據(jù)庫存儲能力,那么就需要架設(shè)集群數(shù)據(jù)庫服務(wù)器,消耗大量人力物力,而SimpleDB全部會自動完成這些工作。且SimpleDB提供大量開發(fā)接口,開發(fā)人員使用這些接口,很快能學(xué)會使用,且直接適用于極大型應(yīng)用[1]。
SimpleDB提供了PHP、C#、Java、Perl、VB.NET等語言接口。要使用SimpleDB需要一定的編程基礎(chǔ),且對XML與Web Service有一定的了解。
首先需要在AWS網(wǎng)站上(http://aws.amazon. com)注冊一個AWS帳號才能使用SimpleDB服務(wù);
第二、注冊登錄后,AWS系統(tǒng)會分配一個20字符的ID,使用該ID來進行SimpleDB的驗證;
第三、下載編程所需的工具,下面以Java語言舉例,需要下載JDK以及編程所需的文本編輯器如Eclipse等。
第四、每次使用SimpleDB之前都需要進行帳號驗證,即對前文所述的AWS ID進行驗證后才能使用相關(guān)服務(wù)。驗證代碼示例如下:
第五、下載SimpleDB有關(guān)的jar包(在官方網(wǎng)站可以下載到)。將下載的文件解壓縮到項目所在的CLASSPATH中。
下面就以數(shù)據(jù)的保存、查詢與刪除為例來分別舉例說明。
2.1 保存數(shù)據(jù)
SimpleDB使用鍵值對的形式保存數(shù)據(jù)。假設(shè)要將下表保存到SimpleDB中[2,3]:
idcategorynamecolorsize服裝1上衣09新款條紋紫色M服裝2褲子牛仔褲黑色服裝3外套全棉西裝藏青L
代碼如下:
2.2 查詢數(shù)據(jù)
SimpleDB提供了與關(guān)系數(shù)據(jù)庫中類似的查詢方式——使用SQL語句。查詢代碼如下:
//創(chuàng)建查詢語句,查詢所有分類為上衣的記錄
2.3 刪除數(shù)據(jù)
只需將相關(guān)記錄找出,調(diào)用以下方法即可:
對于其他數(shù)據(jù)庫常見操作,例如字段的添加、修改、刪除,數(shù)據(jù)庫的添加、修改、刪除,記錄的更新等鑒于篇幅問題就不一一舉例,有興趣進一步學(xué)習(xí)SimpleDB的讀者可以查閱相關(guān)文章與書籍。
從前文中可以看出,使用SimpleDB進行云存儲,將數(shù)據(jù)放到云中,可以完全不用在意底層的建設(shè),如何安裝數(shù)據(jù)庫、如何配置數(shù)據(jù)庫、如何將數(shù)據(jù)庫性能調(diào)整到最適應(yīng)的情況等等復(fù)雜繁瑣的工作,均不需要程序員去管理,SimpleDB全部都完成了。而傳統(tǒng)方式,這些工作如果讓數(shù)據(jù)庫廠商來提供,所需的費用至少為上萬美金[4]。
由于云存儲的容量是無限的,并且SimpleDB可以再任意時刻擴充數(shù)據(jù)庫的性能,所以使用了SimpleDB,就意味著一個項目在還沒有創(chuàng)建的時候,就擁有了世界上容量最大的數(shù)據(jù)庫存儲以及擁有了速度最快的數(shù)據(jù)存取性能,而且在項目開始的時候,完全不用考慮數(shù)據(jù)庫存取的壓力,先設(shè)置成夠用的測試開發(fā)環(huán)境即可。
現(xiàn)階段,世界上各大知名廠商都分別推出了基于SimpleDB的各種產(chǎn)品與服務(wù),同時由于不用考慮存儲、電力、分布式、高可用、CPU等問題,很多企業(yè)原先無法實現(xiàn)的大型項目計劃,可以在很短的時間內(nèi)實現(xiàn)。在未來,只需要一臺筆記本或者一個手機,就可以通過網(wǎng)絡(luò)服務(wù)來實現(xiàn)人們需要的一切相關(guān)服務(wù)需求,甚至包括超級計算這樣的任務(wù)。把計算機當(dāng)做接入點,剩下的一切都交給互聯(lián)網(wǎng)吧?,F(xiàn)任Google CEO施密特對于未來計算模式預(yù)言90%計算任務(wù)都能夠通過云計算技術(shù)完成。
可以想象,不久的將來,云存儲必然成為主要的數(shù)據(jù)存儲方式之一,無論是針對個人的云存儲服務(wù),還是針對企業(yè)的私有云存儲,將數(shù)據(jù)放入云中,隨時隨地任意存取的方式,將成為計算機發(fā)展史上重要的一筆。
[1] 鄭金軍.云存儲延伸數(shù)據(jù)生命周期[J].信息系統(tǒng)工程, 2008,177(9):29.
[2] 盧敏.云存儲是“不用權(quán)衡的”[J].軟件世界,2008,(11):42.
[3] 馮大輝.云計算中的存儲[J].程序員,2008,(11):40.
[4] 劉曦葳.節(jié)省IT成本云存儲成亮點[J].中國教育信息化高教職教,2009,(1):90.
(責(zé)任編輯 施 翔)
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-),女,江蘇靖江人,講師.