Pesquisar

Iniciando com RavenDB

Olá, hoje vou falar um pouco sobre RavenDB.

O RavenDB é uma banco de dados que se encaixa na nova categoria chamada de NOSql(Not Only SQL), mas afinal o que esse banco faz. O RavenDB é um banco de dados orientado a documentos, o seu formato para salvar os dados é o JSon. Os dados pode estar aninhados como em um xml, como você pode ver neste exemplo:

 

Ele possui muitos recursos, e é extremamente fácil de colocar de se usar e efetuar consultas. Vamos começar pelo básico. Vamos usar ele na versão Embedded, ou seja, vamos usar ele junto com nossa aplicação e não como um serviço, ou hosted no IIS.

Você pode baixa-lo aqui: http://ravendb.net/ Após você descompacta e vai encontrar uma pasta Embedded, são essas dlls que você deve acrescentar ao seu projeto, e referenciar Raven.Client.Embedded, Raven.Client.Debug e Raven.Client.Lightweight.

 

libs

O RavenDB trabalha com o conceito de DocumentStore, ou seja o local onde é salvo os seus dados, ou banco de dados. O proximo passo é criarmos uma DocumentStore, para isso utilizamos o seguinte código:

Dim documentStore As New Raven.Client.Embedded.EmbeddableDocumentStore() With {.DataDirectory = "E:\RavenDataBase"}
documentStore.Initialize()

Estamos instanciando um Embeddable Store, e passamos para ela o local para salvar os dados. Após tudo isso já estamos prontos para salvar nosso objetos no banco de dados.


Dim objeto As New Cliente()
objeto.Nome = TextBox1.Text
objeto.Codigo = 1
objeto.Email = "danimaribeiro@gmail.com"
objeto.Endereco = New Endereco()
objeto.Endereco.Bairro = "Bairro"
objeto.Endereco.Cidade = "Chapeco"
objeto.Endereco.Rua = "Condá"

Dim sessao = documentStore.OpenSession() 'Abrir sessao

sessao.Store(objeto) 'Salvar o cliente e o seu endereço, pois o RavenDB salva todos eles juntos.
sessao.SaveChanges() 'Salva modificacoes

sessao.Dispose()
documentStore.Dispose()

Simplesmente abrimos uma sessão, e mandamos o RavenDB salvar nosso objeto. Session.Store(). Como ele salva em formato de documento, o endereço que está sendo salvo faz parte do cliente, sendo salvo dentro dele em formato Json.


Por hoje é isso.