一、序言
云計算一般比較認同的定義是:云計算是分布式處理、并行處理、網(wǎng)格計算、網(wǎng)絡(luò)存儲和大型數(shù)據(jù)中心的進一步發(fā)展和商業(yè)的實現(xiàn)。利用云計算技術(shù)架構(gòu)自己硬件和軟件平臺,所建數(shù)據(jù)中心資源只供內(nèi)部利用,不對外界開放的云稱為私有云; 以即用即付的方式提供給公眾的信息技術(shù)公司的云稱為公共云。根據(jù)服務(wù)等級, 目前主要提供三種層次服務(wù)為用戶所用:將基礎(chǔ)設(shè)施作為服務(wù)(IAAs)、將平臺作為服務(wù)(PAAS)和將軟件作為服務(wù)(SAAS)。
云存儲是與云計算同時興起的一個概念。云存儲一般包含兩個含義:一:云存儲是云計算的存儲部分, 即虛擬化的、易于擴展的存儲資源池。用戶通過云計算使用存儲資源池。二:云存儲指存儲作為一種服務(wù),通過網(wǎng)絡(luò)提供給用戶。用戶通過不同方式來使用存儲,如通過互聯(lián)網(wǎng)開放接口,使得第三方網(wǎng)站可以通過云存儲提供的服務(wù)為用戶提供完整的Web服務(wù);用戶直接使用存儲相關(guān)的在線服務(wù),比如網(wǎng)絡(luò)硬盤,在線存儲,在線備份等服務(wù);用戶傳送文件、或者服務(wù)商發(fā)布內(nèi)容時的緩沖等。使用云存儲一般按時間、空間或兩者結(jié)合付費。
云存儲的使用是離不開云計算的,目前全球IT企業(yè)均在爭相研發(fā)、推出自己云計算相關(guān)產(chǎn)品,被采用最多的主要有Amazon、IBM、Google、Windows等一些企業(yè)的云計算機產(chǎn)品,下面我們就以Windows提供的云計算為例說明。
二、微軟云計算操作系統(tǒng)-windows Azure
Windows Azure是由微軟開發(fā)的一套云計算操作系統(tǒng),用來提供云線上服務(wù)所需要的操作系統(tǒng)與基礎(chǔ)儲存管理的平臺,是微軟的云計算的核心組成元件之一,以及微軟線上服務(wù)策略的一部份。Windows Azure也是專為在微軟建設(shè)的資料中心管理所有服務(wù)器、網(wǎng)絡(luò)以及儲存資源所開發(fā)的一種特殊版本W(wǎng)indows Server操作系統(tǒng)。它具有針對資料中心架構(gòu)的自我管理機能,可以自動監(jiān)控劃分在資料中心數(shù)個不同的分區(qū)的所有服務(wù)器與儲存資源,自動更新修補程序, 自動執(zhí)行虛擬機器部署與鏡像備份等能力。Windows Azure被安裝在資料中心的所有服務(wù)器中,并且定時和中控軟件Windows Azure Fabric Controller進行溝通,接收指令以及回傳執(zhí)行狀態(tài)資料等等。
Windows Azure本身的設(shè)計是負責處理大量分散式計算的工作,并且符合云計算的特性。因此應(yīng)用程序在Windows Azure上可以自由設(shè)定一個或多個執(zhí)行實體,并且利用Windows Azure平臺的特性。應(yīng)用程序可切割為處理用戶接口服務(wù)的Web應(yīng)用程序,以及專門處理后臺計算或資料處理工作的服務(wù)應(yīng)用程序,后端則可以用Windows Azure Storages或是SOL Azure數(shù)據(jù)庫來管理儲存資料。
在Windows Azure平臺上提供了三種不同的應(yīng)用程序角色:Web Role、Worker Role、VM Role,分別代表不同的應(yīng)用程序執(zhí)行環(huán)境。不論是那個角色都可以設(shè)定一個以上的實例(instance),每個實例都是獨立的虛擬機器,Windows Azure FabricController中的Load Balancer(平衡負載器)會自動分配負載到不同的instance中。
Windows Azure提供了三種不同格式的儲存體服務(wù)(BLOB、Table、Queue),用來提供給Windows Azure上運行的應(yīng)用程序儲存信息使用。BLOB是用來儲存檔案、圖片、視頻、可執(zhí)行文件、壓縮文件等二進制格式的文件,基本上它的儲存單位就是文件。Table 是給具結(jié)構(gòu)化資料的應(yīng)用程序儲存與管理的一種儲存服務(wù),它在Windows Azure儲存區(qū)中會以Key—Value鍵值對方式儲存,并且由Partition來切割在Windows Azure儲存區(qū)的儲存位置,它實際的資料是XML。雖然Table可以儲存結(jié)構(gòu)化的資料,但它并不是關(guān)系型數(shù)據(jù)庫。Queue是一種先到先服務(wù),或稱為FIFO(先入先出)的儲存服務(wù),它可以允許應(yīng)用程序?qū)⑿畔Υ娴疥犃兄信抨牐缓笥韶撠熖幚淼膽?yīng)用程序(通常是Worker)從隊列提取信息并處理以后,將信息從隊列中移除。信息可以是字串或是最長8KB的二進制資料,隊列經(jīng)常會作為跨執(zhí)行個體通訊以及工作切割通知的信息傳遞之用。
三、云存儲下的數(shù)據(jù)庫-SOL Azure
SQL Azure是由微軟SQL Server 2008為主,建構(gòu)在WindowsAzure云端操作系統(tǒng)之上,執(zhí)行云端運算的關(guān)系型數(shù)據(jù)庫服務(wù)。其基底是SQL Server 2008,不過它是一個特殊設(shè)計的SQL Server2008,并且以Windows Azure為基座平臺,配合Windows Azure的特性。SQL Azure也是一種分散在許多實體基礎(chǔ)架構(gòu)與其內(nèi)部許多虛擬服務(wù)器(Virtual Servers)的一種云端儲存服務(wù),外部應(yīng)用程序或服務(wù)可以不用在乎數(shù)據(jù)庫實際儲存在哪里,就可以利用SOL Azure顯露的SQL Server Fabric殼層服務(wù)以接受外部連接,并且在內(nèi)部使用連線繞送(connection routing)的方式,讓連線可以對應(yīng)到正確的服務(wù)器,而且數(shù)據(jù)庫是在云端中由多個服務(wù)器來提供服務(wù),每一次連線所提供服務(wù)的服務(wù)器可能會不同,因此也可以保證云端儲存的高度可用性(High availability)。
SQL Azure架構(gòu)在資料中心可分為三個部份: 服務(wù)提供層(Service Layer)、平臺提供層(Platform Layer)、基礎(chǔ)建設(shè)層(Infrastructure Layer)。SQL Azure服務(wù)對外的供應(yīng)模型是一臺邏輯服務(wù)器(Logical Server),此服務(wù)器是由SQL AzureGateway所顯露,每一個Windows Azure的帳戶都可以建立一臺SQL Azure Server,就像在本地的SOL Server執(zhí)行個體一樣,但這個執(zhí)行個體是在云端上執(zhí)行且具有高可用性等特征的數(shù)據(jù)庫服務(wù)器。每臺SQL Azure Server都具有下列內(nèi)容:
1.DNS名稱,用戶端應(yīng)用程序要使用這個DNS名稱連入數(shù)據(jù)庫。
2.master數(shù)據(jù)庫,存放登入信息(1ogins),服務(wù)器角色以及管理服務(wù)器所必要的動態(tài)管理透視表(Dynamic ManagementView)。
3.SQL Azure防火墻,用來管理連入SQL Azure Server的連線來源。
4.使用者數(shù)據(jù)庫,每個數(shù)據(jù)庫都有不同的計費標準,一臺SQLAzure Server可以有多個使用者數(shù)據(jù)庫。
作為SOL Server版本Transact—SOL的子集,有些功能可以在SQL Azure上使用,如數(shù)據(jù)庫索引管理與索引重建;觸發(fā)程序;對數(shù)據(jù)庫、表格、使用者與登入等的建立、修改與刪除;用戶自定義函數(shù)等。有些Transact—SQL特性不能使用,如分散式查詢、數(shù)據(jù)庫映射等。
SQL Azure開發(fā)工具與管理工具基本上與SQL Server完全相同,但也有基于SQLAzure所發(fā)展的工具。開發(fā)人員可利用VisualStudio 2010的服務(wù)器管理員連接到SQL Azure Server并管理數(shù)據(jù)庫與數(shù)據(jù)結(jié)構(gòu)。SQL Server 2008(非R2)則可通過輸入連線字串的方式連接SQL Azure Server,或是使用命令行工具sq1cmd.exe連到SQL Azure Server。
SQL Server Management Studio可直接管理SQL Azure,除此之外,微軟也在Windows Azure Portal中使用SQL AzureDatabase Manager管理數(shù)據(jù)庫內(nèi)的組件(如數(shù)據(jù)表,視圖等組件)。SQL Azure Data Sync是微軟開發(fā)作為云端(Cloud)與本地端(0n—premise)資料同步化的服務(wù),以Microsoft Sync Framework為基礎(chǔ)的同步工具,可以在云端與企業(yè)內(nèi)部或用戶端(手持式裝景或是電腦)進行資料的同步工作。
云存儲環(huán)境下,在本地對SQL Azure中數(shù)據(jù)庫操作代碼如下(以測試數(shù)據(jù)庫HoLTestDB為例):
1.通過SQL Server 2008 R2 Management Studio連接數(shù)據(jù)庫服務(wù)器并連接至HoLTestDB數(shù)據(jù)庫,并單擊New Query按鈕。
2.執(zhí)行如下語句,創(chuàng)建新數(shù)據(jù)表。
CREATE TABLE HoLTestTable(MyRowID int PRIMARY KEYCLUSTERED)
3.執(zhí)行如下語句,以插入一些數(shù)據(jù)。
INSERT INTO H0LTestTable VALUES (1)
G0
INSERT INTO HoLTestTab1e VALUES (2)
GO
INSERT INT0 HoLTestTab1e VALUES (3)
G0
4.執(zhí)行如下語句以檢查插入是否成功 SELECT*FROM
HoLTestTable
5.最后,刪除該表DROP TABLE HoLTestTable
四、總結(jié)
Windows Azure是微軟基于云計算的操作系統(tǒng),主要目標是為開發(fā)者提供一個平臺,幫助開發(fā)可運行在云服務(wù)器、數(shù)據(jù)中心、Web和Pc上的應(yīng)用程序。云計算的開發(fā)者能使用微軟全球數(shù)據(jù)中心的儲存、計算能力和網(wǎng)絡(luò)基礎(chǔ)服務(wù)。SQL Azure是微軟基于Microsoft SQL Server 2008構(gòu)建的云端關(guān)系型數(shù)據(jù)庫服務(wù)。SQLAzure服務(wù)具有高可用性和可伸縮性的特點,并且提供多租戶的服務(wù)。對于大多數(shù)開發(fā)者來說,它提供了熟悉的開發(fā)環(huán)境。使用SQL Azure管理下的數(shù)據(jù)開發(fā)在Windows Azure環(huán)境下的應(yīng)用系統(tǒng)是今后發(fā)展的趨勢所在。通過本文可以看到開發(fā)SQL Azure下數(shù)據(jù)庫應(yīng)用系統(tǒng)與開發(fā)本地數(shù)據(jù)庫有著相同的開發(fā)過程,開發(fā)者無需學習新技術(shù)和新工具,對于SQL Azure管理下的數(shù)據(jù)庫開發(fā)就可以迅速上手。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標題:云存儲環(huán)境下數(shù)據(jù)庫ERP系統(tǒng)的構(gòu)建
本文網(wǎng)址:http://www.guhuozai8.cn/html/solutions/1401932855.html