眾所周知,NoSQL運動旨在成為大數據時代傳統關系數據庫管理系統的替代品。如今Microsoft對開源的態度有所轉變,RavenDB就是很好的例子。Microsoft對RavenDB(NoSQL數據庫)的認可令很多人感到驚訝。RavenDB可以輕易的替代關系數據庫管理系統並兼容以往的.NET應用。
NoSQL的出現與發展是非常必要的,NoSQL系統的速度和高擴展性是其具備的優勢,而這並不是傳統關系數據庫的強項。NoSQL為Amazon、Google等需要處理大數據的公司提供行之有效的解決方案。如鍵值存儲鼻祖BigTable以及文檔數據庫CouchDB。
而相關的雲存儲解決方案提供了在傳統關系數據庫之外的選擇,包括Windows Azure Table(鍵值類型)以及基於Hadoop的Amazon EC2。
將數據存儲在行或列的固定模式是像SQL Server和Oracle等傳統關系性數據庫的基本特性。雖然許多人認為傳統的關系數據庫將逐漸消亡,但不同的情況需要不同的工具。隨着大量不同類型數據持續增長,未來非結構化數據存儲將成為關鍵技術。
RavenDB是針對Windows/.NET平台而設計的文檔數據庫。RavenDB的出現將.NET應用與非關系數據庫連接到一起。數據以Shcema-less方式存儲,並直接通過HTTP、RESTful API或更方便的.NET客戶端API連接。.NET客戶端API使用LINQ操作RavenDB數據庫文檔存儲。
實戰RavenDB
在安裝RavenDB之前,你需要安裝.NET Framework 4.0。RavenDB可在三種不同的模式下運行,包括作為Windows服務、IIS 應用程序以及嵌入.NET 應用程序。
最新版RavenDB包含以下組件:
●Client:基於.NET Framework 4.0輕量級客戶端
●Client 3.5:基於.NET Framework 3.5輕量級客戶端
●Silverlight:Silverlight 4.0客戶端
●EmbeddedClient:EmbeddedClient(包含嵌入式模式下RavenDB所需的文件)
●Server:RavenDB服務器模式所需文件
●Web: 在IIS模式下RavenDB所需的文件
●Bundles: RavenDB擴展文件
●Samples:RavenDB樣本應用
以下命令用於設置服務器端
- <Raven root directory>\Server\Raven.Server.exe /install
安裝成功后可通過http://localhost:8080/raven/studio.html訪問。如圖1。由於該接口使用Silverlight,可能會需要安裝或升級Silverlight組件。
可以點擊創建樣本數據按鈕填充樣本數據存儲以了解RavedDB是如何工作的。
圖2顯示打開RavenDB以及數據是如何存儲進RavenDB的。這組數據創建了以下屬性:AlbumArtUrl、Artist、Genre、Price、Title和Count Sold。
- {
- "AlbumArtUrl": "/Content/Images/placeholder.gif",
- "Artist": {
- "Id": "artists/133",
- "Name": "Stevie Ray Vaughan & Double Trouble"
- },
- "Genre": {
- "Id": "genres/6",
- "Name": "Blues"
- },
- "Price": 8.99,
- "Title": "In Step",
- "CountSold": 0
- }
樣式數據庫具備一個特有的網址(http://localhost:8080/raven/studio.html#/edit?id=albums/614&database=Default),同時還可以通過URL訪問其他的項目。
例如流派的信息可通過如下網址訪問:http://localhost:8080/raven/studio.html#/edit?id=genres/6&database=Default,同時在Web頁面還可編輯數據。
數據庫的未來
NoSQL專家預測傳統關系數據庫將要消亡的想法是不理智的。不同的場景需要不同的應用。Google、Amazon、Microsoft等巨頭背后的各種產品使未來數據庫的發展具有光明的未來。而對於未來數據庫的發展,您又是怎么認為的呢?(李智/編譯)
原文鏈接:techrepublic.com


