Según lo indica el sitio web de RavenDB es una document database Open Source para la plataforma .Net/Windows. Es una opción almacenamiento de datos no relacionados dentro del movimiento NoSQL.
Entre sus características tenemos
- Infraestructura Escalable
- Configuración en Windows Simple
- Transaccional
- Map/Reduce
- .Net Client API
- RESTful API
- Sharding
- Indexamiento (Lucene syntax)
En cuanto a documentacion parece estar bastante completa (en inglés), podemos consultar:
Antes de comenzar directamente con RavenDB si aún no tenemos en mente lo que una document database es podemos consultar la Wikipedia: Document-oriented database o también ver el video de la VAN de Alt.Net Hispano sobre NoSQL
Cabe mencionar que aún no puede correr en Mono y que los modos Servidor y Embedded corren bajo la framework .NET 4.0. El Cliente si corre (con algunas condiciones) en la framework .NET 3.5 y si puede correr en Mono.
Y para comenzar podemos ir directamente al clásico RavenDB HelloWorld! Tutorial
Según indica el tutorial, luego de descargar el build que decidamos, nos vamos al folder “server” y lo ejecutamos
Nota: Para este ejemplo modifiqué la configuración para que corriera en el puerto 8088, por default va a correr en el 8080.
Ahora que ya tenemos el servidor corriendo
procedemos a trabajar en una pequeña implementación utilizando el cliente de RavenDB, no olvidemos referenciar el cliente de Raven DB en nuestro proyecto.
Para esta prueba crearé una console application donde tendremos un par de clases que será la definición de nuestro documento:
Una vez teniendo nuestros POCO objects, procedemos a inicializar el DocumentStore y utilizarlo, para lo cual tendremos una clase más con un field que será el storage inicializado en el constructor y un método que se encargará de llenar el documento y almacenarlo en el storage.
Ahhh, no olvidemos que el inicializar el storage no es el único paso que debemos realizar. Para poder interactuar con los documentos necesitamos una sesión abierta, aquí el código:
Finalmente, utilizamos nuestro ClientsDirectory en una console application
y al ejecutar nuestra aplicación y luego irnos a la interfaz web de nuestro RavenDB Server
http://localhost:8088
Podemos ir a la sección “Documents” y bingo!
Nuestro primer documento creado, mismo que al darle click en la interfaz web podemos manipularlo:
No olvidemos que tenemos la opción de utilizar RavenDB embebido en nuestras aplicaciones lo cual nos quita la dependencia a un servicio adicional a nuestra aplicación que esté corriendo, adicionalmente que esto nos da libertad de utilizarla para muchos tipos de proyectos, no dejen de ver la sección Raven’s Client API
El proyecto puede descargarse Aquí









Pingback: Incursionando con RavenDB: Crear un Indice y Realizar una Consultafboiton's blog | fboiton's blog