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