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组件。

点击查看大图

可以点击创建样本数据按钮填充样本数据存储以了解RavedDB是如何工作的。

点击查看大图

图2显示打开RavenDB以及数据是如何存储进RavenDB的。这组数据创建了以下属性:AlbumArtUrl、Artist、Genre、Price、Title和Count Sold。

  1. "AlbumArtUrl""/Content/Images/placeholder.gif"
  2. "Artist": { 
  3. "Id""artists/133"
  4. "Name""Stevie Ray Vaughan & Double Trouble" 
  5. }, 
  6. "Genre": { 
  7. "Id""genres/6"
  8. "Name""Blues" 
  9. }, 
  10. "Price": 8.99, 
  11. "Title""In Step"
  12. "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