What is RavenDB?

RavenDB is document based (NOSQL) database written in C# for .Net framework. RavenDB nicely fills the data storage niche where  RDBS systems are inflexible to meet needs of real world. Because RavenDB stores schema-less documents the flexibility and speed of development is unmatched by RDBS. RavenDB is also Open Source project and the source is available at the http://ravendb.net.

Some of RavenDB features:

  • Scalable infrastructure: Raven builds on top of existing, proven and scalable infrastructure
  • Simple Windows configuration: Raven is simple to setup and run on windows as either a service or IIS7 website
  • Transactional: Raven support System.Transaction with ACID transactions. If you put data in it, that data is going to stay there
  • Map/Reduce: Easily define map/reduce indexes with Linq queries
  • .NET Client API: Raven comes with a fully functional .NET client API which implements Unit of Work and much more
  • RESTful: Raven is built around a RESTful API
  • Cloud: Runs in the Azure and other cloud platforms
 
What is RavenDB notification plugin?

RavenDB Notification plugin enables you to receive notification from the RavenDB Server about Put and Delete actions on the specific document types. Currently plugin supports 3 types of notifications:

  • PutId – will notify client with the Key of inserted document.
  • Delete – will notify client with the Key of deleted document.
  • Put – will notify client with the key of inserted document and the document itself. Be warn that this functionality can generate lots of network traffic.

Client is able to subscribe / unsubscribe to each notification on document type basis.

 

 

How to use it?
Server:

Drop Raven.Bundles.Notification.dll into Raven’s plugin directory

Insert NotificationConfiguration document into RavenDB.

   1:   using (var s = documentStore.OpenSession())
   2:              {
   3:                  s.Store(new NotificationConfiguration
   4:                  {
   5:                      Enabled = true,
   6:                      Id = "Raven/Notification/Configuration",
   7:                      ServiceUrl = "net.tcp://192.168.10.6:8081",
   8:                      DatabaseName = "TestDb",
   9:                      ClientUrl = new string[] {"net.tcp://192.168.10.6:8081/Notification/TestDb/NotificationService.svc"}
  10:                
  11:                  });
  12:                  s.SaveChanges();
  13:              }

Insert document into RavenDB and notification will be written into Console.

Last edited Mar 6, 2011 at 10:26 PM by ibondy, version 2

Comments

No comments yet.