RavenDB:基于Windows/.NET平臺(tái)的NoSQL數(shù)據(jù)庫(kù)2012-03-14 09:47 | 1748次閱讀 | 【已有2條評(píng)論】發(fā)表評(píng)論 來(lái)源: | 作者:Tony Patton | 收藏到我的網(wǎng)摘
眾所周知,NoSQL運(yùn)動(dòng)旨在成為大數(shù)據(jù)時(shí)代傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的替代品。如今Microsoft對(duì)開(kāi)源的態(tài)度有所轉(zhuǎn)變,RavenDB就是很好的例子。Microsoft對(duì)RavenDB(NoSQL數(shù)據(jù)庫(kù))的認(rèn)可令很多人感到驚訝。RavenDB可以輕易的替代關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)并兼容以往的.NET應(yīng)用。 NoSQL的出現(xiàn)與發(fā)展是非常必要的,NoSQL系統(tǒng)的速度和高擴(kuò)展性是其具 備的優(yōu)勢(shì),而這并不是傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)項(xiàng)。NoSQL為Amazon、Google等需要處理大數(shù)據(jù)的公司提供行之有效的解決方案。如鍵值存儲(chǔ)鼻祖 BigTable以及文檔數(shù)據(jù)庫(kù)CouchDB。 而相關(guān)的云存儲(chǔ)解決方案提供了在傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)之外的選擇,包括Windows Azure Table(鍵值類型)以及基于Hadoop的Amazon EC2。 將數(shù)據(jù)存儲(chǔ)在行或列的固定模式是像SQL Server和Oracle等傳統(tǒng)關(guān)系性數(shù)據(jù)庫(kù)的基本特性。雖然許多人認(rèn)為傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)將逐漸消亡,但不同的情況需要不同的工具。隨著大量不同類型數(shù)據(jù)持續(xù)增長(zhǎng),未來(lái)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)將成為關(guān)鍵技術(shù)。 RavenDB是針對(duì)Windows/.NET平臺(tái)而設(shè)計(jì)的文檔數(shù)據(jù)庫(kù)。 RavenDB的出現(xiàn)將.NET應(yīng)用與非關(guān)系數(shù)據(jù)庫(kù)連接到一起。數(shù)據(jù)以Shcema-less方式存儲(chǔ),并直接通過(guò)HTTP、RESTful API或更方便的.NET客戶端API連接。.NET客戶端API使用LINQ操作RavenDB數(shù)據(jù)庫(kù)文檔存儲(chǔ)。
實(shí)戰(zhàn)RavenDB 在安裝RavenDB之前,你需要安裝.NET Framework 4.0。RavenDB可在三種不同的模式下運(yùn)行,包括作為Windows服務(wù)、IIS 應(yīng)用程序以及嵌入.NET 應(yīng)用程序。 最新版RavenDB包含以下組件: ●Client:基于.NET Framework 4.0輕量級(jí)客戶端 ●Client 3.5:基于.NET Framework 3.5輕量級(jí)客戶端 ●Silverlight:Silverlight 4.0客戶端 ●EmbeddedClient:EmbeddedClient(包含嵌入式模式下RavenDB所需的文件) ●Server:RavenDB服務(wù)器模式所需文件 ●Web: 在IIS模式下RavenDB所需的文件 ●Bundles: RavenDB擴(kuò)展文件 ●Samples:RavenDB樣本應(yīng)用 以下命令用于設(shè)置服務(wù)器端
安裝成功后可通過(guò)http://localhost:8080/raven/studio.html訪問(wèn)。如圖1。由于該接口使用Silverlight,可能會(huì)需要安裝或升級(jí)Silverlight組件。 點(diǎn)擊查看大圖 可以點(diǎn)擊創(chuàng)建樣本數(shù)據(jù)按鈕填充樣本數(shù)據(jù)存儲(chǔ)以了解RavedDB是如何工作的。 點(diǎn)擊查看大圖 圖2顯示打開(kāi)RavenDB以及數(shù)據(jù)是如何存儲(chǔ)進(jìn)RavenDB的。這組數(shù)據(jù)創(chuàng)建了以下屬性:AlbumArtUrl、Artist、Genre、Price、Title和Count Sold。
樣式數(shù)據(jù)庫(kù)具備一個(gè)特有的網(wǎng)址(http://localhost:8080/raven/studio.html#/edit?id=albums/614&database=Default),同時(shí)還可以通過(guò)URL訪問(wèn)其他的項(xiàng)目。 例如流派的信息可通過(guò)如下網(wǎng)址訪問(wèn):http://localhost:8080/raven/studio.html#/edit?id=genres/6&database=Default,同時(shí)在Web頁(yè)面還可編輯數(shù)據(jù)。
數(shù)據(jù)庫(kù)的未來(lái) NoSQL專家預(yù)測(cè)傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)將要消亡的想法是不理智的。不同的場(chǎng)景需要不同的應(yīng)用。Google、Amazon、Microsoft等巨頭背后的各種產(chǎn)品使未來(lái)數(shù)據(jù)庫(kù)的發(fā)展具有光明的未來(lái)。而對(duì)于未來(lái)數(shù)據(jù)庫(kù)的發(fā)展,您又是怎么認(rèn)為的呢?(李智/編譯) |
|