ravendb: All content tagged as ravendb in NoSQL databases and polyglot persistence
Tuesday, 7 December 2010
RavenDB and ASP.NET MVC
Very basic intro to RavenDB and ASP.NET MVC:
If you do a quick search on the web you will discover that there are many document databases to choose from. Some of the most popular options today are MongoDB, CouchDB and RavenDB. For whatever reason I was attracted to RavenDB because I knew it would seamlessly integrate with the .NET/windows platform. As always, the best way to learn something is to jump in head first. So the following article is a step-by-step tutorial on how I built an MVC 2 web app using RavenDB as the backend.
Even if not windows or .NET native, I think MongoDB with NoRM will work well. And even if some cry after a kickass .NET API for CouchDB there are quite a few CouchDB .NET libraries.
Original title and link: RavenDB and ASP.NET MVC (NoSQL databases © myNoSQL)
via: http://www.codecapers.com/post/Using-RavenDB-with-ASPNET-MVC.aspx
Wednesday, 1 December 2010
First Look at RavenDB UI for Desktop
They said they are looking for a desktop app for RavenDB, so now when mostly every NoSQL database has a web based “tool”, RavenDB is getting a desktop management client:
More screenshots are available ☞ here.
Original title and link: First Look at RavenDB UI for Desktop (NoSQL databases © myNoSQL)
Saturday, 27 November 2010
Intro to RavenDB
This weekend is the time to watch Oren Eini (aka Ayende Rahien), creator of RavenDB, talk about RavenDB.
Original title and link: Intro to RavenDB (NoSQL databases © myNoSQL)
Monday, 22 November 2010
RavenDB and CouchDB Compared
A fair emphasis on what differentiates RavenDB from CouchDB (nb coming from RavenDB creator). Just to mention the most interesting ones:
- transactions: support for single document, document batch, multi request, multi node transactions […]
- set based operations:
update active = false where last_login < '2010-10-01'- includes and live projections (local data only)
Original title and link: RavenDB and CouchDB Compared (NoSQL databases © myNoSQL)
via: http://ayende.com/Blog/archive/2010/10/17/ravendb-in-comparison-to-couchdb.aspx
Friday, 12 November 2010
RavenDB: An Example of Polymorphic Collections
Mike Hadlow trying out RavenDB for dealing with inheritance and polymorphic queries:
The model has a concept of Parent and Child both of which inherit a User abstract base class. One of the first things I wanted to check was that the Raven can return a polymorphic collections of Users. […] For this to work, you have to configure Raven to understand that the type ‘User’ is represented by documents with ids that look like ‘users/xxx’
Original title and link: RavenDB: An Example of Polymorphic Collections (NoSQL databases © myNoSQL)
via: http://mikehadlow.blogspot.com/2010/10/ravendb-playing-with-inheritance-and.html
Monday, 11 October 2010
RavenDB Looking for a UI
Probably inspired by the ☞ Redis logo contest, RavenDB is looking for help to create its management UI:
Another problem is that the UI is already becoming cluttered, and we can’t really offer high end UX with the type of options that we have in a web interface without a ridiculously high investment in time and effort. But I still want the no-deploy option, so the next UI for RavenDB is going to be done in Silverlight. For example, giving syntax highlighting for editing index definitions would be trivial in Silverlight and very hard in HTML/JS.
Original title and link: RavenDB Looking for a UI (NoSQL databases © myNoSQL)
via: http://ayende.com/Blog/archive/2010/10/11/how-should-the-ravendb-ui-look-like-there-is-a.aspx
Friday, 8 October 2010
RavenDB: New Features
RavenDB, the .NET document database, seem to be very active these days. While still pretty young, RavenDB seems to be adding a lot of features lately to catch up with the other, better known, document databases like CouchDB or MongoDB.
The latest added (or just documented[1]
) features include:
- Replication Bundle: master slave, master multi slaves, and multi master
- Versioning Bundle – seamless audit trails for document changes.
- Spatial queries – for geo location searches.
- Authorization Bundle – per document authorization.
- Document metadata – manipulating the document metadata at the client side.
- Patching documents – avoid having to send the entire document on the wire, send just the changes.
- Custom serialization – control how the client API serializes your documents.
While all these sound like good additions to RavenDB, I must confess that there are a couple of questions that I’d like answered:
- how battle tested is RavenDB? are there any production deployments?
- how many developers are behind RavenDB?
- what support can you get for RavenDB?
Many of these questions do apply to other NoSQL databases too though.
- I enjoyed Ayende’s remark: “I am rapidly coming to the realization that if it isn’t documented, it doesn’t exist”. (↩)
Original title and link: RavenDB: New Features (NoSQL databases © myNoSQL)
via: http://ayende.com/Blog/archive/2010/10/02/new-ravendb-features.aspx
Wednesday, 6 October 2010
RavenDB: A Demo Project
Rob Ashton has published ☞ 7 posts (so far) investigating RavenDB features using a demo project:
This will be a project written for the sole purpose of demonstrating how to use RavenDB and how to write testable code against RavenDB – this will be demonstrated by utilising some basic TDD principles in order to drive the code surrounding the RavenDB infrastructure and usage.
Unfortunately there’s no easy way to navigate these posts, so here are links to them in order:
- ☞ part 1: introduction
- ☞ part 2: setup
- ☞ part 3: application lifecycle
- ☞ part 4: tracking documents
- ☞ part 5: structure
- ☞ part 6: entities, repositories, and commands
- ☞ part 7: user registration
Additionally you have a ☞ debate about RavenDB documents and entities.
Original title and link: RavenDB: A Demo Project (NoSQL databases © myNoSQL)
Monday, 4 October 2010
Document Databases and RavenDB
Brian Ritchie talked about document database and RavenDB at ☞ Jacksonville Software Architecture Group:
Original title and link: Document Databases and RavenDB (NoSQL databases © myNoSQL)
Thursday, 23 September 2010
RavenDB: Index Replication to Relational Databases
Interesting (and I think unique) feature added to RavenDB:
RavenDB is a great database for storing documents, and the ability to create indexes on top of documents make extracting information out of the indexes very easy. There are situations, especially for reports, when you still want to use a relational database. The Index Replication Bundle is meant to handle just those scenarios. It is capable of replicating an index a table in a relational database.
Original title and link: RavenDB: Index Replication to Relational Databases (NoSQL databases © myNoSQL)
via: http://ayende.com/Blog/archive/2010/09/22/ravendb-replicating-to-a-relational-database.aspx
Thursday, 19 August 2010
Document Databases Compared: CouchDB, MongoDB, RavenDB
Brian Ritchie has two posts (☞ here and ☞ here) covering three document databases: CouchDB, MongoDB, and RavenDB concluding with the matrix below:
But before using this as a reference material there are a couple of corrections needed:
They have some special characteristics that make them kick some serious SQL.
- Objects can be stored as documents: The relational database impedance mismatch is gone. Just serialize the object model to a document and go.
- Documents can be complex: Entire object models can be read & written at once. No need to perform a series of insert statements or create complex stored procs.
- Documents are independent: Improves performance and decreases concurrency side effects
- Open Formats: Documents are described using JSON or XML or derivatives. Clean & self-describing.
- Schema free: Strict schemas are great, until they change. Schema free gives flexibility for evolving system without forcing the existing data to be restructured.
- Built-in Versioning: Most document databases support versioning of documents with the flip of a switch.
- Judging by the growing number of document database mapping tools, I’m not sure impedance mismatch is really gone (related to 1st point above)
- Using embedded format is not always the best solution for mapping relationships and other more complex data structures. (related to 2nd and 3rd points above)
- Versioning is an extra-feature that is not fundamental to document databases. MongoDB and CouchDB do not support it by default, but there are different solutions available
Related to the matrix comparison:
- Versioning is not supported by either MongoDB and CouchDB. MVCC should not be confused for document versioning
- Sharding: CouchDB doesn’t support sharding out of teh box. There are different solutions for scaling CouchDB, using Cloudant Dynamo-like scaling solution for CouchDB, or even running CouchDB with a Riak backend
- Replication: both MongoDB and CouchDB support master/master and master/slave
- Security: check firstly the NoSQL databases and security post and decide for yourself and the “basic” level is enough for your app
Original title and link for this post: Document Databases Compared: CouchDB, MongoDB, RavenDB (published on the NoSQL blog: myNoSQL)
Wednesday, 18 August 2010
RavenDB in Production
Good question on Stackoverflow (it applies to the other document database, Terrastore too):
I’m having a hard time finding applications and websites that use RavenDB in production. Does anyone have first-hand experience with this, or examples of (well-known) sites that run on RavenDB?
I assume that both are too young to have production installations at this moment.
RavenDB in Production originally posted on the NoSQL blog: myNoSQL
via: http://stackoverflow.com/questions/3494342/anyone-using-ravendb-in-a-production-environment
Most Popular Articles
- Translate SQL to MongoDB MapReduce
- Tutorial: Getting Started With Cassandra
- CouchDB vs MongoDB: An attempt for a More Informed Comparison
- Cassandra @ Twitter: An Interview with Ryan King
- A Couple of Nice GUI Tools for MongoDB
- NoSQL benchmarks and performance evaluations
- Ehcache: Distributed Cache or NoSQL Store?
- Document Databases Compared: CouchDB, MongoDB, RavenDB
- Quick Review of Existing Graph Databases
- NoSQL Data Modeling

