The schema-less nature makes it ideal to store dynamic data, such as
CMS and CRM entities, which the end user can usually customize as
necessary or semi structure data (provided by human). On top of that,
Raven offers a powerful indexing mechanism, allowing you to define a
Linq query as an index. Raven will take that query and execute it in
the background, the result of that Linq query is immediately available
as a view that you can query upon. We see Raven as appropriate for: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.