Home  >  Article  >  Database  >  RavenDB:基于Windows/.NET平台的NoSQL数据库

RavenDB:基于Windows/.NET平台的NoSQL数据库

WBOY
WBOYOriginal
2016-06-07 17:56:291391browse

众所周知,NoSQL运动旨在成为大数据时代传统关系数据库管理系统的替代品。如今Microsoft对开源的态度有所转变,RavenDB就是很好的例子。Microsoft对RavenDB(NoSQL数据库)的认可令很多人感到惊讶。RavenDB可以轻易的替代关系数据库管理系统并兼容以往的.NET

众所周知,网站空间,服务器空间,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样本应用

以下命令用于设置服务器端

  • \Server\Raven.Server.exe /install
  • 安装成功后可通过:8080/raven/studio.html访问。如图1。由于该接口使用Silverlight,可能会需要安装或升级Silverlight组件。

    image

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

    image

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

    样式数据库具备一个特有的网址(:8080/raven/studio.html#/edit?id=albums/614&database=Default),同时还可以通过URL访问其他的项目。

    例如流派的信息可通过如下网址访问::8080/raven/studio.html#/edit?id=genres/6&database=Default,同时在Web页面还可编辑数据。

    数据库的未来

    NoSQL专家预测传统关系数据库将要消亡的想法是不理智的。不同的场景需要不同的应用。Google、Amazon、Microsoft等巨头背后的各种产品使未来数据库的发展具有光明的未来。而对于未来数据库的发展,您又是怎么认为的呢?(李智/编译)

    原文链接:techrepublic.com

    将 RavenDB 嵌入 ASP.NET MVC 3 应用程序中

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn