Raven is schema-less LINQ-enabled document data store for .NET/Windows. Raven is yet another NoSQL, non-relational solution that wants to address the performance and scalability needs required by large web applications.
Raven can store all sorts of data as JSON documents without imposing a specific schema on their content. That means data can have arbitrary formats being appropriate for the following scenarios:
•Web Related Data, such as user sessions, shopping cart, etc. - Raven's document based nature means that you can retrieve and store all the data required to process a request in a single remote call.
•Dynamic Entities, such as user-customizable entities, entities with a large number of optional fields, etc. - Raven's schema free nature means that you don't have to fight a relational model to implement it.
•Persisted View Models - Instead of recreating the view model from scratch on every request, you can store it in its final form in Raven. That leads to reduced computation, reduced number of remote calls and improved overall performance.
•Large Data Sets - The underlying storage mechanism for Raven is known to scale in excess of 1 terabyte (on a single machine) and the non relational nature of the database makes it trivial to shard the database across multiple machines, something that Raven can do natively.
The following snippet is an example of a document stored in Raven:
{
"PostTypeId":1,
"Id":2321816,
"Title":"Storing commercial files on the server",
"AcceptedAnswerId":2321854,
"LastActivityDate":"\/Date(1266953391687+0200)\/",
"AnswerCount":3,
"Comments":[
{
"Score":null,
"CreationDate":"\/Date(1266952919510+0200)\/",
"Text":"are they \"sensitive\" information?",
"UserId":"users/203907"
},
{
"Score":null,
"CreationDate":"\/Date(1266953092057+0200)\/",
"Text":"I wouldn't say they are sensitive information...",
"UserId":"users/200145"
}
]
}Each document has a key or a document ID associated with it, the key being “2321816” for the example mentioned above. Beside documents, Raven can store metadata or text/binary attachments attached to documents. To be able to search through and retrieve documents from a data store, Raven employs indexes:
An index is a Linq query that operates over a set of documents, producing a projection out of each document that can be efficiently queried. An index is essentially a Linq query that Raven executes in the background, and whose results are stored in persistent storage. Those results can be efficiently queried at a later date.
An example of an index which organizes posts by Title is:
from post in docs.Posts
where post.AcceptedAnswerId != nullselect new { post.Title };After the index has been created, the user simply queries it to get the document he is looking for.
Raven has an HTTP API and a Client API (C#). The HTTP API provides about the same functionality as the Client API permitting to work only by using JavaScript and HTML. Some of the commands are:
•GET
•PUT
•POST
•DELETE
•PATCH
The HTTP API also supports getting multiple documents in one call or batching requests.
Raven was released with 3 licensing options:
•Raven DB Community – a free edition that can be used only for open source projects with no support
•Raven DB Commercial – a paid-for edition for commercial software with support for a limited number of incidents/year
•Raven DB Enterprise – similar to Commercial but has extra features like sharding, unlimited master/slave replicas, failover, replication to RDBMS, and better support.
Both commercial editions have a monthly subscription or a perpetual license. Raven was created by Hibernating Rhinos, a consultancy founded by Ayende Rahien.
分享到:
相关推荐
剑桥乌鸦Raven的ASP.NET MVC身份验证筛选器。设置将放入您的App_Data文件夹中。 如果修改Web.config并将以下键添加到appSettings部分,也可以将它们放在其他位置: < appSettings> < add xss=removed xss=removed></...
Raven
RavenDB 数据库是 .NET平台下的文档型数据库, License 是社区版的许可证! 可在 About 中输入即可注册未 Community版
资源分类:Python库 所属语言:Python 资源全名:raven-4.0.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Laravel开发-raven-php 哨兵(Raven)通过队列进行后台发送的Laravel和Lumen错误监控
Raven-Ruby,Sentry文档的Ruby客户端| 错误跟踪器| 论坛| IRC:irc.freenode.net,#sentry Sentry错误报告API的官方Ruby语言客户端和集成层。 Requi Raven-Ruby,Sentry文档的Ruby客户端| 错误跟踪器| 论坛| IRC:...
Raven是一款桌面新闻阅读器,具有灵活的设置可优化您的体验。无需登录,也不会收集个人数据。只需选择您想要从中策划文章的网站即可享受! Raven去除了原始文章中所有令人分心的内容-烦人的广告,标语和笨拙的布局。...
Sentry现在建议使用其新的SDK @sentry/browser而不是Raven。 请查看 ,以获取支持新SDK的该库的API兼容分支! 用于Redux的Raven中间件 注意:需要Raven> = 3.9.0。 Raven 3.14.0有此库触发 将每个调度动作的类型记录...
Raven是一款桌面新闻阅读器,具有灵活的设置可优化您的体验。无需登录,也不会收集个人数据。只需选择您想要从中策划文章的网站即可享受! “一个干净,无干扰的UI。超级易于管理您的RSS feed。” “ ..一个漂亮的,...
渡鸦raven系列惊艳亮相,AI点亮智能家居生活.pdf
Raven是Sentry的一个Ruby客户端
python库。 资源全名:raven_python-1.0.0-py3-none-any.whl
python库。 资源全名:raven-python-lambda-0.1.5.tar.gz
在信息爆炸下我还是喜欢用rss阅读自己感兴趣的东西、这款RSS阅读器很老牌了,分享给大家,最新版安装包,界面友好,很好用,还支持暗黑模式。
掠夺Raven是一个创造性的编码框架,在Javascript环境中结合了在openFrameworks,Processing和Flash中看到的意识形态。 类按类型分开,因此可以轻松选择项目中需要框架的哪些部分。 虽然仍处于青春期,但正在进行重大...
我们正在统一所有基于JavaScript的SDK。 因此, raven-node已移至主要的单存储库中,并且此存储库已存档。 请在此处报告任何问题和要求,因为此仓库是只读的。...资源IRC(chat.freenode.net,#sentry)
基于大模型chatglm的pdf文档解析: 实现对PDF解析,将给定的PDF结构化成以下几个部分。 - 文字 - 总标题,章节标题和章节对应的文字内容 - 图片 - 图片和图片标题 - 表格 - 表格和表格标题 - 参考 - 参考 以下...
Laravel开发-raven 用于Laravel项目的Sentry(Raven)错误监控集成
raven reader