RavenDB:基於Windows/.NET平台的NoSQL數據庫


眾所周知,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樣本應用

以下命令用於設置服務器端

  1. <Raven root directory>\Server\Raven.Server.exe /install

安裝成功后可通過http://localhost:8080/raven/studio.html訪問。如圖1。由於該接口使用Silverlight,可能會需要安裝或升級Silverlight組件。

image

可以點擊創建樣本數據按鈕填充樣本數據存儲以了解RavedDB是如何工作的。

image

圖2顯示打開RavenDB以及數據是如何存儲進RavenDB的。這組數據創建了以下屬性:AlbumArtUrl、Artist、Genre、Price、Title和Count Sold。

  1. {
  2. "AlbumArtUrl": "/Content/Images/placeholder.gif",
  3. "Artist": {
  4. "Id": "artists/133",
  5. "Name": "Stevie Ray Vaughan & Double Trouble"
  6. },
  7. "Genre": {
  8. "Id": "genres/6",
  9. "Name": "Blues"
  10. },
  11. "Price": 8.99,
  12. "Title": "In Step",
  13. "CountSold": 0
  14. }

樣式數據庫具備一個特有的網址(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 應用程序中

RavenDB在傳統C/S應用下的一點實踐

RavenDB 2.5帶來動態聚合和查詢流

RavenDB自定義analyzer

RavenDB創始人談.NET、NoSQL上的ACID以及該項目的未來特性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM