📅 Ebook GRATUITO 🚀 Como preparar o seu site para receber muitos acessos? 💰

Kinghost | Blog

NoSQL: Uma possível solução em Banco de Dados

Publicado em 15/07/2015

Atualizado em 26/04/2023
NoSQL

Depois de ter participado das palestras que aconteceram durante a Dev Commerce, promovida pelo iMasters, nosso colaborador Conrado aproveitou para escrever um pouco sobre o NoSQL e o Parse. Abaixo, um conteúdo rico sobre suas impressões e informações valiosas sobre os funcionamentos e aplicações possíveis.

Com a crescente necessidade de integração de um sistema entre diversas plataformas, com alta disponibilidade e grandes volumes de dados, nos deparamos com uma situação complicada: definir qual é o banco de dados ideal para utilizarmos. Uma boa solução nestes casos, pode ser a utilização de um banco de dados NoSQL.

NoSQL são diferentes sistemas de armazenamento, que ao contrário dos bancos de dados SQL, não são relacionais, não possuem um esquema (schemaless).  Bancos NoSQL armazenam os dados com técnicas que visam atender serviços com as necessidades levantadas anteriormente, nos trazendo um aumento de performance e uma alta escalabilidade. Enquanto os bancos de dados relacionais necessitam de uma distribuição vertical de servidores, quanto mais dados, mais memória e mais disco um servidor precisa, o NoSQL traz uma facilidade na distribuição horizontal, mais dados, mais servidores, não necessariamente de alta performance. É uma forma de utilização muito mais eficiente e econômica, utilizada inclusive pelo Google, que usa computadores de médio e pequeno porte para a distribuição dos dados.

O NoSQL possui diferentes categorias, definidas pelo modo que ele trabalha com os dados e para cada uma destas categorias, existem diversas ferramentas disponíveis no mercado.

Key/Value Store:

É o tipo de banco de dados NoSQL mais simples, possui como conceito uma chave e um valor para essa chave. Sendo ele o que aguenta mais carga de dados. Esses tipos de bancos de dados são o que tem a maior escalabilidade.

Wide Columns Store:

Fortemente inspirados pelo BigTable, do Google, eles suportam várias linhas e colunas, além de permitir subcolunas.

Document Store:

Baseado em documentos XML ou JSON, podem ser localizados pelo seu id único ou por qualquer registro que tenha no documento.

Graph Store:

Com uma complexibilidade maior, esses bancos de dados guardam objetos, e não registros como os outros tipos de NoSQL. A busca desses itens é feita pela navegação desses objetos.

Column Oriented Store:

Esses são bancos de dados relacionais, porém apresentam características do NoSQL. A principal diferença deles é que os dados são armazenados em colunas, ajudando na escalabilidade.

Ferramentas NoSQL:

Existem diversas ferramentas NoSQL que se enquadram nas categorias informadas anteriormente, neste artigo iremos abordar sobre uma em específico, visto que possui um robusto plano free, é de fácil utilização e não é necessário a configuração de um servidor para o mesmo, o Parse.

O que é o Parse?

O Parse é uma plataforma que permite que você sincronize dados na nuvem sem a necessidade de uma linguagem servidor.

Com o Parse, é possível utilizar uma mesma base para diversas plataformas diferentes, aplicações Web, Mobile e Desktop, necessitando apenas fazer a inclusão do mesmo no projeto e se conectar com a API Key disponibilizada pelo Parse, sem a necessidade de nenhuma configuração mais complexa.

Como utilizar?

O Parse é orientado a objetos, sendo bem simples a sua utilização, por exemplo, para criar uma tabela, você instancia um ParseObject, e após, seta seus atributos e valores. Abaixo, exemplo em PHP da documentação do próprio parse:

 

$gameScore = new ParseObject(“GameScore”);

 

$gameScore->set(“score”, 1337);

$gameScore->set(“playerName”, “Sean Plott”);

$gameScore->set(“cheatMode”, false);

 

try {

$gameScore->save();

echo ‘New object created with objectId: ‘ . $gameScore->getObjectId();

} catch (ParseException $ex) {

// Execute any logic that should take place if the save fails. // error is a ParseException                 object with an error code and message.

echo ‘Failed to create new object, with error message: ‘ . $ex->getMessage();

}

 

Depois de executado este código, você verá em seu projeto no Parse, que foi gerado algo como isto:

objectId: “xWMyZ4YEGZ”, score: 1337, playerName: “Sean Plott”, cheatMode: false,

createdAt:”2011-06-10T18:33:42Z”, updatedAt:”2011-06-10T18:33:42Z”

 

Ele automaticamente atribuiu um ID para seu objeto, e grava a data e hora de criação, e de alteração do mesmo.

 Vantages do Parse:

A partir do modo de funcionamento do Parse, você manipula seu banco de dados com a própria linguagem de seu sistema. Caso esteja criando um aplicativo para Android, fará a manipulação em Java, por exemplo, e assim nas diversas plataformas que o Parse dá suporte, tornando-o uma ótima opção para aplicações que possuem integração entre plataformas, como uma Loja Virtual, que além de uma plataforma web, pode ter um aplicativo mobile, para Android, IOS e Windows Phone, e possuindo uma alta disponibilidade, visto que a base estará disponível na nuvem do Parse.

O Parse também disponibiliza classes prontas para controle de usuário, com métodos de validação e integração com redes sociais, como Facebook e Twitter.

O Parse possui um plano free que disponibiliza até 30 requisições por segundo e um espaço de 20GB e 2TB de transferência.
Maiores informações estão disponíveis no site oficial do Parse, que possui uma documentação bem completa e clara mostrando passo a passo como utilizar os diversos métodos e ferramentas disponibilizadas pelo mesmo, em todas as plataformas ao qual da suporte.

Fontes:

http://www.itexto.net/devkico/?p=1199

http://imasters.com.br/artigo/17043/banco-de-dados/nosql-voce-realmente-sabe-do-que-estamos-falando/

https://parse.com/

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Ariadne

Ariadne Cercal

Formada em Marketing pelo Senac RS e com especialização em Marketing Digital pela FAE (Curitiba).

Ariadne

Ariadne Cercal

Formada em Marketing pelo Senac RS e com especialização em Marketing Digital pela FAE (Curitiba).

Compartilhe esse conteúdo com alguém que possa gostar também

Conteúdos relacionados

Se você trabalha diariamente na internet, com certeza em algum momento se preocupou com a segurança das suas informações. Afinal, diversos dados pessoais e bancários são acessados todos os dias. Nesse contexto, cada dia mais existe a necessidade de reforçar a segurança dos seus dados e se proteger de possíveis golpes no mundo online. Por...
Você já ouviu falar de chatbot? Provavelmente a resposta é sim. Isso porque, essa tecnologia tem ganhado cada vez mais espaço na comunicação digital. Afinal, com a evolução tecnológica e as inúmeras ferramentas que prometem facilitar nossa rotina, os chatbots garantem destaque em diversos setores, desde atendimento ao cliente até vendas e marketing. Neste artigo,...
Você certamente já passou pela frustração de abrir um site que demora uma eternidade para carregar. Então, sabe como isso é irritante, não é mesmo? Com isso, sabe que a velocidade do site desempenha um papel fundamental na experiência dos usuários e no sucesso do seu negócio online.  Neste artigo, você vai conhecer as melhores...
Aprender a programar nunca foi tão fácil! Visto que, hoje em dia, existem diversos recursos gratuitos na web que podem te ajudar nessa jornada.  Então, se você é um completo novato no assunto, não se preocupe, esses recursos são perfeitos para você.  Mas não pense que eles são exclusivos para iniciantes, pois mesmo quem já...

Assine a nossa newsletter e receba conteúdos para apoiar o crescimento do seu negócio

Sem Título(obrigatório)

📅 Aulão GRATUITO 🚀 Como VENDER MAIS na internet 💰

Mensagens para você