NoSQL e C Sharp
21/06/2013
0
Aluisio Cavalcante
Posts
22/06/2013
Thiago Porto
22/06/2013
Joel Rodrigues
22/06/2013
Joel Rodrigues
22/06/2013
Aluisio Cavalcante
passa aew o link.
22/06/2013
Aluisio Cavalcante
obrigado, vou conferir.
04/09/2013
Fernanda Acacia
vc ja utilizou bancos NoSQL para alguma aplicação?
04/11/2013
Fernanda Acacia
24/11/2013
Lucas Davies
Bom, antes de mais nada, você tem de escolher um banco de dados NoSQL. Eu tenho experiência de trabalho com o Cassandra.
Dentre as grandes empresas que trabalham com Cassandra, posso citar, por exemplo, Facebook, que foi o desenvolvedor inicial do Cassandra, e depois este (Cassandra), passou a ser mantido pela fundação Apache.
Bom. Bancos de dados NoSQL são bancos de dados não relacionais:
- Você não tem ligação de uma tabela com outra (FKs)
- Você não tem (no Cassandra, pelo menos, onde tenho conhecimento) a liberdade de realizar uma clausula de filtro "where" em qualquer campo, apenas nos campos KEYS (que podem ser uma Key com um campo, ou uma "composite key", que é composta de diversos campos), ou em campos com índices. Mas leve em consideração que índices (no mundo transacional já é assim, no mundo NoSQL é ainda mais) deixam o acesso muito mais lento e devem ser evitados ao máximo.
- Você não tem joins, obviamente, tendo visto que não é um banco de dados relacional. Logo, você não tem aquela facilidade de "manipulação" de dados bem facilzinha em banco de dados relacionais.
- Você pode inserir colunas via update, insert: ou seja, os registros de uma mesma Column Family (tabela no mundo RDBMS) podem ter colunas diferentes, quantidade de colunas diferentes. Ou seja, é um banco de dados orientado horizontalmente, e não verticalmente.
Enfim... é um "mundo bastante diferente e compliciado para a maioria dos iniciantes". Para você usar NoSQL, tenha CERTEZA de que você precisa de um.
A linguagem de acesso é o CQL e não o SQL :-).
No Cassandra, você acessa o banco de dados utilizando-se do cql-sh, uma ferramenta linha de comando, então, se está acostumado com Management Studio, ou nunca utilizou terminal de comandos, aperte os cintos, rs.
Bom, já trabalhei com Cassandra (NoSQL) e C#, existem diversas bibliotecas, a que escolhi, depois de diversos testes foi a "Fluent Cassandra":
Reposiótio Github (você pode baixar através do Nuget no Visual Studio, obviamente):
- [url]https://github.com/fluentcassandra/fluentcassandra[/url]
Documentações / Exemplos de utilização:
- [url]https://github.com/fluentcassandra/fluentcassandra/wiki[/url]
- [url]http://coderjournal.com/2010/06/your-first-fluent-cassandra-application/[/url]
- [url]http://coderjournal.com/2010/06/your-first-fluent-cassandra-application-part-2/[/url]
- [url]https://github.com/fluentcassandra/fluentcassandra/blob/master/test/FluentCassandra.Sandbox/Program.cs[/url]
Para obter ajuda (é muito eficiente, já utilizei, é um "grupo" no Google):
- [url]https://groups.google.com/forum/#!forum/fluentcassandra[/url]
Pode parecer "bastante estanho" lidar com o Fluent Cassandra e mesmo o próprio Cassandra de início, mas depois você pega o conceito da coisa, e tudo passar a fluir :-)
Espero que eu possa ter ajudado alguém.
Abraços.
Atenciosamente,
Lucas Garcia Davies
Clique aqui para fazer login e interagir na Comunidade :)