眾所周知,NoSQL運動旨在成為大資料時代傳統關聯式資料庫管理系統的替代品。如今Microsoft對開源的態度有所轉變,RavenDB就是很好的例子。Microsoft對RavenDB(NoSQL資料庫)的認可令很多人感到驚訝。RavenDB可以輕易的替代關聯式資料庫管理系統併兼容以往的.NET應用。
NoSQL的出現與發展是非常必要的,NoSQL系統的速度和高擴充性是其具備的優勢,而這並不是傳統關聯式資料庫的強項。NoSQL為Amazon、Google等需要處理大資料的公司提供行之有效解決方案。如KVStore for Redis鼻祖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
將 RavenDB 嵌入 ASP.NET MVC 3 應用程式中