You are on page 1of 6

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

Tecnologias de Banco de Dados Introduo Banco de Dados


NoSQL

Jansser Dias Silva1

Resumo
Em pouco menos de vinte anos desde que o termo NoSQL foi proposto, essa tecnologia
ganhou presena de mercado imensurvel. Atualmente as maiores redes sociais do
mundo e diversos sistemas informatizados de larga escala, so aderentes ao paradigma
de no somente SQL. Este documento pretende mostrar sob uma perspectiva
introdutria, as principais caractersticas dos conceitos aplicados pelos modelos de
banco de dados relacionais e no relacionais.

Palavras-chave: NoSQL. No Somente SQL, Tecnologias de Banco de Dados, ACID,


BASE.

*Submetido em 23/11/2015
1Graduando

em Sistemas de Informao pela PUC Minas.

Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

INTRODUO

Dentre as questes mais importantes para projetar um sistema informatizado, est a


escalabilidade. Para SOMMERVILLE (2012) alm de extremamente indispensvel, a
escalabilidade de um software deve ser aumentada medida que as exigncias sob o mesmo
so acrescidas, isto , essa uma caracterstica de alta volatilidade.
Tendo em vista essa mtrica, as organizaes tm se preocupado com o custo para
atingi-la de maneira satisfatria. De um lado temos a tecnologia RDBMS (Relational Data
Base Model System), que trata o aumento da demanda de recursos adicionando poder de
hardware aos SGBDs (Sistemas Gerenciadores de Banco de Dados) abordagem Scaled Up.
E de outro lado temos o modelo NoSQL (Not Only Structured Query Language), onde o
acrscimo da demanda de recursos feita com o particionamento da carga sob o sistema,
espalhando e replicando as estruturas de armazenamento abordagem Scaled Out
(SALMINEN, 2012).
Proposta em 1998 por Carlo Strozzi, a tecnologia NoSQL hoje utilizada pelo Google
com os SGBDs BigTable e LevelDB, Facebook Cassandra, LinkedIn Valdemort e
Twitter e Netflix com Hadoop/Hbase e Cassandra. De acordo com o Market Research
Media (2014), o mercado NoSQL deve chegar em $3.4 bilhes entre os anos de 2015 e 2020,
apresentando crescimento anual de 21%.

2. CARACTERSTICAS

Existem diversas formas para estruturar, manipular e controlar os dados de uma


aplicao. Uma deciso arquitetural a ser tomada com base na finalidade do sistema : se esse
procedimento ser feito de forma relacional ou no-relacional. Brewer (2012), afirma que
para um software, no possvel fornecer seus dados utilizando-se de trs mtricas
especficas, simultaneamente. Essas regras so: consistncia todos os clientes enxergam um
dado com o mesmo valor, disponibilidade todos os clientes sempre podem ler e escrever
dados e tolerncia parties o sistema opera normalmente mesmo se ocorrer falhas nas
parties de rede e comunicaes adversas.
Foi atribuda essa afirmao de Brewer, o nome de Teorema CAP (Consistency,
Availability, Partition Tolerance - Theorem).
Sistemas gerenciadores de bancos de dados especificamente, podem atender duas das
mtricas do teorema CAP ao mesmo tempo, mas no as trs, ainda segundo Brewer (2012).

Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

Para que isso ocorra existem solues ACID em bacos de dados relacionais e BASE em
bancos no relacionais, ambos sero demonstrados seguir.
Figura 1 SGBDs Diversos e Mtricas CAP

Fonte: (http://blog.nahurst.com/visual-guide-to-nosql-systems)

A figura acima mostra diversos SGBDs relacionais e no relacionais, e em quais duas


dimenses do teorema CAP eles se enquadram.

2.1 Solues ACID

ACID um conceito utilizado por banco de dados transacionais, que muito eficaz
para o desenvolvimento de uma aplicao. A sigla refere-se aos termos Atomicity que
garante que uma transao ser realizada por completo ou no ser feita, Consistency o
banco de dados estar em um estado consistente (inaltervel) at que toda a transao termine,
Isolation a transao tomada como referncia ser a nica executada no banco de dados at
ser cancelada, pausada ou concluda e Durability uma vez que executada uma determinada
transao, o resultado ser mantido no banco de dados (ELMASRI, 2005, cap. 17).
Um dos principais problemas encontrados pela soluo ACID, a maneira com que
um SGBD opera quando a aplicao demanda alto nvel de utilizao de recursos, ou seja
quando a quantidade de usurios frequentes alcana uma proporo gigantesca.
A soluo ACID preconiza que o(s) item(s) em utilizao por um usurio deve(m)
estar indisponveis (em estado de lock), para que outro utilizador no possa modifica-los, isso
visando sobretudo manter consistncia dos dados armazenados. Essa soluo vem
funcionando por muitos anos para arquiteturas pequenas, com escalabilidade horizontal,

Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

normalizadas e durante a Pre-social Network Age (era pr-redes sociais) (KEMPE, 2012).

2.2 Solues BASE

O conceito BASE aplicado aos SGBDs no relacionais ou bancos de dados NoSQL.


Esta tecnologia visa principalmente a disponibilidade de uma aplicao em ambientes
altamente escalveis. O que caracteriza a cenrio tecnolgico atual das redes sociais e grandes
sistemas distribudos em geral (KEMPE, 2012). BASE significa:

Basically Avaible: o armazenamento de dados no software feito de maneira


distribuda em vrios servidores, para que caso ocorra falha em alguma
requisio, somente a proporo de dados daquele repositrio sero afetados,
deixando uma parte bsica disponvel, invs de inviabilizar a utilizao de
todas as partes e camadas da estrutura de dados (SALMINEN, 2012).

Soft State: enquanto que sistemas ACID preconizam a alta consistncia dos
dados, sistemas NoSQL permitem que os dados sejam parcialmente
inconsistentes, fazendo assim com que o estado do sistema possa mudar ao
longo do tempo, causando um certo delay at que a informao adequada ou
verdica seja mantida ou atualizada (PRITCHETT, 2008).

Eventually Consistent: o isolamento nos sistemas transacionais, impede que


duas transaes sejam executadas ao mesmo tempo, checando a cada micro
segundo a veracidade e individualidade da requisio, ou seja trata com
pessimismo as solicitaes. Em SGBDs no relacionais o conceito otimista,
ou seja, o sistema assume que a transao possvel sem checar se a nica,
realizando-a. Neste caso a persistncia dos dados mantida medida que o
fluxo acesso e requisies simultneas ou no acontecem, sendo consistente
por alguns instantes e podendo ser sincronizado no futuro em caso de
inconsistncias (KEMPE 2012).
Figura 2 Comparativo ACID e BASE

ACID
Consistncia Forte
Isolamento
Transao
Banco de Dados robusto/Soft Code

BASE
Consistncia Fraca
ltima requisio que prevalece
Programador que gerencia
Banco de dados Simples/ Hard Code

Fonte: (elaborado pelo autor)

3. CONCLUSO

Em vista das caractersticas apresentadas, nota-se que o principal fator para adotar
SGBDs NoSQL, a necessidade de aplicaes altamente escalveis. A medida com que os
sistemas informatizados evoluem, requerida uma nova maneira de pensar nos seus requisitos
e gerenciar recursos de hardware e software.
A adoo de um paradigma de relacionamento de dados adequado, requer domnio sob
Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

a finalidade da aplicao alm das perspectivas sob a mesma. Para um sistema de nvel
nacional (Brasil) onde a demanda de usurios pode ou no ultrapassar este contexto, uma
soluo NoSQL pode ser vivel, uma vez que a disponibilidade e escalabilidade da aplicao
forem fatores determinantes sua consolidao de mercado. J em um plano onde a
segurana e confiabilidade das informaes primordial, vale-se repensar no modelo
relacional como primeira alternativa.

Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841

Tecnologias de Banco de Dados Introduo Banco de Dados NoSQL

REFERNCIAS
BREWER, Eric. CAP Twelve Years Later: How the Rules Have Changed. 2012.
InfoQueue. Disponvel em: <http://www.infoq.com/articles/cap-twelve-years-later-how-therules-have-changed> Acesso em: 22 de Novembro de 2015.
ELMASRI, Ramez. Sistemas de Banco de Dados. 4ed. So Paulo, Pearson, 2005.
KEMPE, Shannon. ACID vs. BASE: The Shifting pH of Database Transactional
Processing. 2012. Disponvel em: < http://www.dataversity.net/acid-vs-base-the-shifting-phof-database-transaction-processing/> Acesso em: 21 de Novembro de 2015.
MARKET RESEARCH MEDIA, NoSQL Market Forecast 2015-2020. 2014. Disponvel
em: < http://www.marketresearchmedia.com/?p=568 >. Acesso em: 21 de Novembro de 2015.
PRITCHETT, Dan. BASE: Na Acid Altenative. 2008. Disponvel em:
<http://nosqlsummer.org/papers>. Acesso em 22 de Novembro de 2015.
SEMINAR OHJ-1860: NoSQL Databases, 1., 2012. Finlndia, Introduction to NoSQL...
Finlndia, Tampere University of Technology: ARTO SALMINEN 2012.
SOMMERVILLE, Ian. Engenharia de Software. 9ed, So Paulo, Pearson, 2013.

Abaks, Belo Horizonte, v. 1, n. 1, p. 01-08, jun./jul. 2012 - ISSN: 2175-5841