No artigo anterior, falamos sobre os principais SGBDs relacionais. Neste, abordaremos os principais SGBDs não-relacionais ou, simplesmente, NoSQL.
Antes de prosseguirmos…
Data Base Management System ou Sistema de Gerenciamento de Banco de Dados (SGBD) são um conjunto de softwares utilizados para o gerenciamento de uma base de dados, tendo como principal objetivo gerenciar as bases de dados utilizadas por aplicações clientes e remover esta responsabilidade das mesmas.
São responsáveis por controlar, acessar, organizar e proteger as informações de uma aplicação. Os SGBDs são divididos em dois grupos: Relacionais e não relacionais. Aqui em nosso blog também já possuímos um artigo sobre SQL vs NoSQL.
SGBDS relacionais são banco de dados que modelam os dados no formato de tabelas, que podem se relacionar entre si. Cada tabela pode possuir diversos atributos, com diversos tipos de dados.
Já os SGBDs NoSQL (Not Only SQL) é o termo utilizado para banco de dados não-relacionais de alto desempenho, onde geralmente não é utilizado o SQL como linguagem de consulta. Estes bancos utilizam diversos modelos de dados incluindo documentos, gráficos, chave-valor e colunares. São amplamente reconhecidos pela facilidade em seu desenvolvimento, desempenho escalável, alta disponibilidade e resiliência.
E são justamente sobre os SGBDs não-relacionais que falaremos neste artigo, trazendo alguns deles e suas principais características.
MongoDB
De código aberto, multiplataforma e lançado em 2009, o MongoDB é considerado um “líder” no quesito SGBD NoSQL.
É um banco de dados orientado a documentos, baseado no formato JSON (JavaScript Object Notation) e possui uma curva de aprendizagem baixíssima.
Dentre suas principais características, podemos citar:
- Totalmente gratuito;
- Possui uma baixa curva de aprendizagem, como dito acima;
- Fácil escalabilidade horizontal;
- Multiplataforma;
- Suporte para transações ACID multi-documento;
- Consultas suportam funções JavaScript personalizadas, entre outros.
É um SGBD muito utilizado tanto por pequenas quanto por grandes empresas, como mostra em seu site, como: Facebook, Ebay, Google, Adobe, entre outras.
Para realizar seu download, basta clicar aqui, onde é possível encontrar toda sua documentação e suporte.
Redis
Redis é o banco de dados de valores-chave mais popular do mundo, ou seja, seus dados são armazenados em forma de chave valor, que armazenam objetos indexados por chaves e possibilitam a busca por estes objetos a parte das mesmas.
É escrito utilizando a linguagem de programação C, porém, compatível com várias outras linguagens de programação como: Java, Python, PHP, C++, entre outras. Extremamente rápido, tanto para escrita como para leitura de dados, pois seus dados são armazenados na memória, seus comandos são executados anatomicamente e possui modelo cliente-servidor.
Criado por Salvatore Sanfiippo, foi liberado de forma open-source em 2009 (um acrônimo de REmote DIctionary Server (servidor de dicionário remoto)).
Seu download pode ser feito acessando o seu site onde é possível também acessar toda documentação, comunidade, comandos, suporte, entre outras funções.
De suas principais características, podemos citar:
- Desempenho muito rápido;
- Multiplataforma;
- Estruturas de dados na memória;
- Versatilidade e facilidade de uso;
- Replicação e persistência;
- Compatibilidade com a sua linguagem de desenvolvimento preferencial, entre outros.
Cassandra
Desenvolvido em Java, gratuito e multiplataforma, o Cassandra originalmente foi desenvolvido no Facebook, que em 2008 compartilhou seu código-fonte para a comunidade e, agora, é um projeto de sistema de banco de dados mantido pelos desenvolvedores da fundação Apache e por muitas outras empresas que se tornaram colaboradores (Apache Cassandra).
Dentre suas características, podemos destacar:
- Altamente escalável;
- Fornece acesso de baixa latência a clientes;
- Gratuito;
- Orientado por colunas (o que torna um banco de dados mais rápido);
- Possui um modelo distribuído otimizado e descentralizado, entre outros.
No site, é possível realizar seu download, visualizar sua documentação, acompanhar as novidades em seu blog, etc.
Curso Processamento de linguagem natural - Desenvolvimento Chatbots com Python
Conhecer o cursoPara finalizar
Com o objetivo de gerenciar informações, em especial, recuperar informações diluídas em um grande volume de dados, a escolha de um SGBD é de suma importância dentro de uma organização, onde tarefas podem ser simplificadas e automatizadas, auxiliando assim em soluções impostas no dia a dia de uma empresa.
Desta forma, dentre as diversas são as opções de SGDS presentes no mercado, tanto open source quanto pagas de alto nível, conhecer o negócio e entender qual sua real necessidade é um fator de extrema importância na escolha de um SGBD, visando sempre o futuro de uma organização para que este, atenda tanto às necessidades atuais quanto futuras.