Por que eu devo ler este artigo:Esse artigo aborda as principais características e benefícios do RavenDB, que é mais conhecido como um banco de dados orientado a documentos. Sendo assim, cada documento criado é uma série de objetos relacionados e que agem sobre um contexto, ou seja, eles são tratados como uma unidade, possibilitando o armazenamento e a recuperação dos conjuntos de documentos que são disponibilizados em formatos XML, JSON, etc. Além de ser construído em .NET e open source (o código está aberto no GitHub), o RavenDB é um banco de dados extremamente performático e facilmente escalável.

Hoje, uns dos maiores desafios das empresas de tecnologia são a manipulação e processamento de uma vasta coleção e quantidade de dados gerados todos os dias, sejam eles em redes sociais, dados de sensoriamento, entre outros. Além disso, como poderíamos organizar todos esses dados de uma forma prática, sendo que é muito difícil ou quase impossível se fazer operações simples (inserção, ordenação) de forma eficiente apenas utilizando os SGBDs (Sistemas Gerenciadores de Base de Dados) que todos já conhecem e estão familiarizados? Uma das principais ideias para esse contexto de desafios impulsionados pelo Big Data pode ser denominada como NoSQL (Not only SQL). Este, por sua vez, veio para promover e solucionar problemas relacionados com a grande quantidade de armazenamento e processamento de dados, pois sua arquitetura lida muito bem com a escalabilidade horizontal, permitindo assim um mecanismo incremental e diferenciado quando se trata de novas inserções de dados, além de atender a uma grande necessidade de se ter uma persistência de dados dentro de aplicações em nuvens (cloud computing).

No que remete ao conceito de Big Data, que hoje é interpretado de diversas formas, suas características principais podem ser vistas basicamente em quatro propriedades:

  1. os dados estão arranjados na ordem de dezenas ou milhares de terabytes;
  2. Podem ter crescimento elástico na horizontal;
  3. Facilidade na distribuição dos dados e no seu processamento;
  4. Podem conter uma grande variedade de tipos de dados, em sua maioria complexos e semiestruturados.

Uma das características da manipulação dos dados na ordenação de terabytes (ou maior), pode possuir vários aspectos como o alto poder de processamento, armazenamento e manuseamento dos dados. Esse crescimento elástico dos dados está relacionado às inúmeras informações que são geradas todos os dias em uma quantidade de tempo comparativamente curto, fazendo com que os megabytes, ou terabytes, tenham que exigir cada vez mais da estrutura de hardware/software para que possam atender o mais rápido possível a aplicação em processo.

Com isso, as distribuições dos dados devem ser feitas de uma forma clara e divididas em vários nós de processamento, o que requer processamento e armazenamento distribuídos. A quarta e última característica está relacionada à filiação de modelos mais flexíveis e eficientes para o armazenamento de determinados tipos de dados mais complexos. Além disso, não podemos esquecer que o modelo relacional tradicional não é o mais indicado para tais propriedades citadas, pois nem sempre ele possui a flexibilidade necessária para o armazenamento dos dados.

Os bancos de dados NoSQL possuem um determinado apanhado de conceitos que liberam o processamento de dados de uma maneira rápida e eficiente, com um foco principal na performance. É um modelo bastante alternativo que foi pensado e planejado para que se possa moldar os dados sem abraçar os padrões rígidos do modelo relacional. Uma medida para lidar com esse problema é trazer a ideia de eliminar ou minimizar essa estruturação rígida. Para prevenir o dano de informações, o NoSQL traz uma arquitetura distribuída e flexível a falhas que se baseiam na utilização dos dados em vários servidores, fazendo com que, dessa forma, o sistema possa ser escalado facilmente agregando mais servidores, possibilitando que o eventual defeito de um deles possa ser absorvido pelos demais.

Esse conceito tem a intenção de denominar essa nova classe de bancos para que ela tenha um comportamento relacional, fazendo que seja totalmente ignorada a forma tradicional de como os dados são acondicionados nos bancos relacionais, e também para que seja possível realizar a recuperação dos dados de uma forma eficiente e rápida, possibilitando que independentemente do tipo de aplicação, esta possa impreterivelmente ter acesso aos dados do banco.

O NoSQL tem como principal objetivo ser basicamente disponível (Basically Available), o que significa que o sistema “lembra” de estar funcionando basicamente o tempo todo. Em estado leve (Soft State), o sistema não necessita ser estável o tempo todo, e em consi ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora