Você está na página 1de 24

;

FACULDADE LOURENÇO FILHO


CURSO DE BACHARELADO EM NOME DO CURSO

NOME DO ALUNO

TEMA DA MONOGRAFIA – PODERÁ SER EM MAIS


DE UMA LINHA

FORTALEZA – CE
Nome do aluno

TEMA DA MONOGRAFIA – PODERÁ SER EM MAIS


DE UMA LINHA

Monografia apresentada ao curso de Bacharelado em


Ciência da Computação como requisito parcial
necessário à obtenção do grau de Bacharel em Ciência
da Computação da Faculdade Lourenço Filho.
Orientação: Prof(a). M.Sc. Márcia Terezinha Tonieto.

Julho - 2012
ii
Nome do aluno

TEMA DA MONOGRAFIA – PODERÁ SER EM MAIS


DE UMA LINHA

Monografia apresentada ao curso de Bacharelado em Ciência da Computação da Faculdade


Lourenço Filho, como requisito parcial à obtenção do grau de Bacharel em Ciência da
Computação.

Aprovada em: ____/____/______

BANCA EXAMINADORA:

__________________________________________
Orientador - MSc. Xxxxxxxxxx Xxxxxxxx
Faculdade Lourenço Filho

__________________________________________
MSc. Xxxxxxxxxx Xxxxxx - 1º. Membro
Faculdade Lourenço Filho

__________________________________________
MSc. Xxxxxxxxxx Xxxxxx - 2º. Membro
Faculdade Lourenço Filho

__________________________________________________________
Prof. MSc. Xxxxxxxxxx Xxxxxxxxx
Coordenador do Curso Nome do Curso

iii
Dedicatória, pessoal e facultativa

iv
AGRADECIMENTOS

Cada um define a quem gostaria de agradecer.


Aos meus pais, xxxx.
Aos professores xxxxxxx
A todos que, de alguma forma, contribuíram para o alcance desse objetivo e sem os
quais minha caminhada teria sido árdua e os meus esforços dificilmente lograriam êxito.

v
A citação aqui também é facultativa.

Todas as inovações eficazes são surpreendentemente


simples. Na verdade, o maior elogio que uma
inovação pode receber é haver quem diga: isso é
óbvio. Por que não pensei nisso antes?”
(Peter Drucker)

vi
RESUMO

O texto deve ser escrito em um único parágrafo descrever o trabalho de forma sintética e
objetiva e conter em tono de 250 caracteres.

Palavras-chave: Pelo menos quatro, separadas por ponto e virgula.

vii
ABSTRACT

Tradução do resumo.

Key-words:

viii
LISTA DE FIGURAS

Figura 1: Atores do ambiente de Computação em Nuvem ....................................................... 20


Figura 2: Papéis no ambiente de Computação em Nuvem ...................................................... 24
Figura 3: Configuração simplificada de um Sistema de Banco de Dados ............................... 29
Figura 4: Sistema de BD – componentes: dados, hardware, software e usuários ................... 30
Figura 5: Organização de Banco de Dados como um serviço ................................................. 46
Figura 6: Bancos de Dados independentes e instâncias de Banco de Dados independentes ... 50
Figura 7: Tabelas independentes e instância de Banco de Dados compartilhada ................... 51
Figura 8: Tabelas compartilhadas e instância de Banco de Dados compartilhada .................. 52
Figura 9: Opções de armazenamento de dados no Windows Azure ....................................... 62

ix
LISTA DE TABELAS

Tabela 1: Análise comparativa Modelo Relacional X noSQL ................................................. 42


Tabela 2: Requisitos para DaaS ................................................................................................ 48
Tabela 3: Resumo comparativo entre os SGBDs apresentados ............................................... 71

x
LISTA DE SIGLAS E ABREVIAÇÕES

ACID – Atomicidade, Consistência, Isolamento, Durabilidade


API – Application Programming Interface
BASE – Basically Available, Soft State, Eventually Consistent
BDD – Banco de Dados Distribuído
CAP – Consistency, Availability, Partition Tolerance
CLR – Common Language Runtime
CRM – Customer Relationship Management
XML – eXtended Markup Language

xi
SUMÁRIO

INTRODUÇÃO ...................................................................................................................... 14

1 COMPUTAÇÃO EM NUVEM .......................................................................................... 18


1.1 Características Essenciais ................................................................................................. 22
1.2 Modelos de Serviços......................................................................................................... 23
1.3 Modelos de Implantação ................................................................................................... 24
1.4 Utilização da Computação em Nuvem ............................................................................. 25

2 BANCOS DE DADOS ......................................................................................................... 27


2.1 Sistema de Banco de Dados ............................................................................................. 29

CONCLUSÃO......................................................................................................................... 76

REFERÊNCIAS ..................................................................................................................... 78

APÊNDICES .......................................................................................................................... 79

ANEXOS ............................................................................................................................... 80

xii
INTRODUÇÃO

O desenvolvimento do conhecimento humano vem, ao longo da história, tornando a


vida cada vez mais simples. À medida que novas descobertas são feitas, produtos e serviços
cuja produção e disponibilização eram complexas e onerosas passam a fazer parte do dia a dia
de qualquer pessoa e toda a engenharia e ciência envolvidas no processo acabam passando
despercebidas. Apenas o valor agregado, o benefício final, é transferido ao consumidor, e por
um custo bastante reduzido.

Isso acontece, por exemplo, com o fornecimento de serviços básicos e essenciais, tais
como energia elétrica, água potável, gás, combustível, etc. Quem vai assistir a um filme em
casa ou preparar um comida no microondas não precisa ter uma usina hidrelétrica particular
para gerar sua energia; é necessário apenas pagar um valor mensal a uma empresa de
distribuição e utilizá-la. Os diversos serviços são fornecidos com base em uma determinada
política de tarifação, em que o usuário final paga de acordo com o uso que faz deles, tanto em
termos qualitativos como quantitativos.

Com o amadurecimento da Tecnologia da Informação (TI)1, esse modelo de negócio


tem ganhado visibilidade no mercado de computação. Um conceito muito em voga atualmente
é o de Computação em Nuvem ou cloud computing. Trata-se, como definem Mell e Grance
(2011), de um paradigma que possibilita acesso conveniente e sob demanda a um conjunto de
recursos computacionais configuráveis que podem ser rapidamente adquiridos e/ou liberados
com um mínimo de esforço gerencial ou interação humana com o provedor de serviços.

................................................................................................................................

Estruturalmente, o trabalho está dividido em cinco seções. Após essa breve


introdução, apresenta-se, na primeira delas, o conceito de Computação em Nuvem, com suas
características essenciais e modelos de serviços e implantação, de forma a introduzir o tema e
contextualizar o leitor.

Na seção seguinte, capítulo 2, faz-se uma revisão da tecnologia de banco de dados,


com foco em suas características, tipos, relevância e evolução.

1
TI – Tecnologia da Informação, termo amplamente utilizado neste trabalho, que indica a área de conhecimento
responsável por criar, administrar e manter a gestão da informação através de dispositivos e equipamentos para
acesso, operação e armazenamento dos dados, de forma a gerar informações para tomada de decisão.
O capitulo 3 trata dos bancos de dados em nuvem, sua aplicabilidade, requisitos,
abordagens utilizadas para a construção e principais características.

No capítulo 4, são relacionados, descritos e comparados os principais sistemas de


gerenciamento de dados em nuvem disponíveis no mercado. Em seguida, apresentam-se, de
maneira generalizada, vantagens e desafios trazidos por essa tecnologia.

Por fim, na quinta seção, tem-se a conclusão quanto aos aspectos verificados e a
aplicabilidade do modelo estudado, além da proposição de temas para trabalhos futuros.

14
1 TITULO DO CAPÍTULO

A Internet é hoje onipresente na vida de bilhões de pessoas em todo o mundo e deixou


de ser apenas um ambiente de troca de informações. Recursos como softwares, gerenciamento
de dados, infraestruturas de TI e plataformas de desenvolvimento podem ser providos como
serviços na rede mundial de computadores. Por trás de toda essa versatilidade está o conceito
de Computação em Nuvem, cuja base é quase tão antiga quanto os computadores
(MOHAMED, 2009 e TANENBAUM, 2003).

Segundo Mohamed (2009), a ideia básica que dá sustentação a essa expressão surgiu,
de maneira ainda embrionária, no ano de 1961, quando o especialista em inteligência artificial
John McCarthy, então professor do Instituto de Tecnologia de Massachusetts, descreveu um
modelo semelhante ao de distribuição de energia, mas aplicado à computação, em que centrais
forneceriam o processamento e o armazenamento de dados para residências e empresas.

.........................................................................................................................

Sobre isso, Alecrim (2008) declara que:

A denominação Cloud Computing chegou aos ouvidos de muita gente em


2008, mas tudo indica que ouviremos esse termo ainda por um bom tempo.
Também conhecido no Brasil como Computação nas Nuvens ou
Computação em Nuvem, Cloud Computing se refere, essencialmente, à ideia
de utilizarmos, em qualquer lugar e independente de plataforma, as mais
variadas aplicações por meio da Internet com a mesma facilidade de tê-las
instaladas em nossos próprios computadores.

Na literatura, são inúmeras as definições encontradas, que por vezes podem apresentar
conceitos diferentes. Por exemplo, alguns autores defendem que a escalabilidade e o uso
otimizado dos recursos são características chave da Computação em Nuvem, enquanto outros
discordam, afirmando que esses elementos não são características e sim requisitos de uma
infraestrutura que suporte esse paradigma de computação.

De acordo com o National Institute of Standards and Technology (NIST), a


Computação em Nuvem pode ser definida da seguinte forma:

15
Computação em nuvem é um modelo que possibilita acesso onipresente,
conveniente e sob demanda, a um conjunto de recursos computacionais
configuráveis (por exemplo, redes, servidores, armazenamento, aplicações e
serviços) que podem ser rapidamente adquiridos e liberados com mínimo
esforço gerencial ou interação com o provedor de serviços. Esse modelo de
nuvem é composto por cinco características essenciais, três modelos de
serviço e quatro modelos de implantação (MELL e GRANCE, 2011, p.3).

Vaquero et al. (2010, p.51), buscam em seu trabalho uma definição geral para a
expressão Computação em Nuvem, com vistas a contemplar a maior parte das características
expostas por outros autores e leva em consideração três conceitos principais: virtualização,
escalabilidade e modelo pay-per-use2. A definição proposta é:

Computação em nuvem, como o próprio nome sugere, engloba as chamadas


nuvens, que são ambientes que possuem recursos (hardware, plataformas de
desenvolvimento e/ou serviços) acessados virtualmente e de fácil utilização.
Esses recursos, devido à virtualização, podem ser reconfigurados
dinamicamente de modo a se ajustar a uma determinada variável,
permitindo, assim, um uso otimizado dos recursos. Esses ambientes são, em
geral, explorados através de um modelo pay-per-use.

Vê-se que Computação em Nuvem é, portanto, um conjunto de características que


permitem o acesso sob demanda a recursos computacionais como poder de processamento,
capacidade de armazenamento de dados e ambientes de desenvolvimento na forma de
serviços, disponibilizados via Internet, que ocultam a complexidade da infraestrutura
envolvida. Ou seja, grandes empresas, como Google, Microsoft e Amazon podem emprestar
ou vender a capacidade ociosa de seus servidores para pessoas ou empresas que precisem
guardar ou processar seus arquivos digitais.

Nessa troca, os provedores ganham receita de prestação de serviço, enquanto que


usuários finais e pequenas e médias empresas passam a ter acesso a uma gama praticamente
infinita de funcionalidades, com parque tecnológico sempre atualizado, mobilidade de acesso,
custo reduzido e transparência em relação à tecnologia utilizada, ou seja, pouca ou nenhuma
necessidade de conhecimento técnico.

Um conceito intrinsecamente ligado à Computação em Nuvem, e que dá suporte à


disponibilização de recursos computacionais como serviços, é o de Web Services. Trata-se de

2
Pay-per-use: Pague pelo uso, em inglês.
16
componentes de software ou unidades lógicas que conectam aplicações diretamente com
outras, sem a necessidade de grandes customizações ou intervenções humanas. Uma das
premissas fundamentais é que o padrão usado pelas conexões seja aberto e independente de
plataforma tecnológica ou linguagem de programação. Essa tecnologia combina os melhores
aspectos do desenvolvimento baseado em componentes com os recursos da web. As
aplicações acessam os Web Services através de protocolos e formatos de dados padrão, como
HTTP, XML e SOAP (LAFON, 2011).

A Figura 1, a seguir, ilustra os atores do ambiente de Computação em Nuvem, bem


como a organização desta, encapsulando a complexidade da infraestrutura envolvida.

Figura 1: Atores do ambiente de Computação em Nuvem.


Fonte: Adaptado de Vaquero et al. (2009).

A ilustração apresenta três atores principais: os usuários finais, que fazem uso dos
serviços disponibilizados via Internet; os provedores de serviço, responsáveis por desenvolver
soluções sobre a infraestrutura disponível, beneficiando-se da flexibilidade e da redução de
custos proporcionadas por esse modelo; e os provedores de infraestrutura, empresas como
Google e Microsoft, detentoras do parque tecnológico, que compartilham seu poder de
processamento e armazenamento mediante contratos de pagamento pelo uso. A figura
apresenta ainda um aspecto de suma importância: a virtualização, utilizada em larga escala
nesse ambiente, como forma de otimizar a capacidade do hardware disponível.

17
1.1 Subtítulo

Na sociedade moderna, um grande número de atividades cotidianas

......................................................................................................................................

No cenário atual, de alto nível de integração e troca de informações entre os sistemas


existentes, novas e versáteis aplicações de Sistemas de Banco de Dados vêm ocupando lugar
de destaque. Elmasri e Navathe (2011) destacam algumas aplicações mais novas, como Banco
de Dados multimídia3, GIS4, data warehouse5, OLAP6, tecnologia de bancos de dados ativos e
real time7.

3
Dados multimídia: texto, imagens, áudio e animação; representação e processamento de áudio digital.
4
GIS - Geographic Information System (Sistema de Informação Geográfica - SIG): sistema de hardware,
software, informação espacial e procedimentos computacionais que permite e facilita a análise, gestão ou
representação do espaço e dos fenômenos que nele ocorrem.
5
Data warehouse - traduzido literalmente para depósito de dados, é um sistema de computação utilizado para
armazenar informações relativas às atividades de uma organização em bancos de dados, de forma consolidada.
6
OLAP - Online Analytical Processing: software cuja tecnologia de construção permite aos analistas de
negócios, gerentes e executivos analisar e visualizar dados corporativos de forma rápida, consistente e interativa.
7
Real time: Tempo real, em computação, no contexto Banco de Dados, significa acompanhar a dinâmica das
informações, enquanto os dados são registrados no sistema.
18
1.1.1 Detalhamento do subtítulo

A Tabela 1, a seguir, apresenta, de forma resumida, uma análise comparativa com base
em escalonamento, consistência de dados e disponibilidade do sistema:

Relacional noSQL

Escalonamento Possível, mas complexo. Uma das principais vantagens desse


Devido à natureza estruturada modelo. Por não possuir nenhum tipo
do modelo, a adição, de forma de esquema pré-definido, o modelo
dinâmica e transparente, de possui maior flexibilidade, o que
novos nós no grid não é favorece a inclusão transparente de
realizada de modo natural. outros elementos.

Consistência Ponto mais forte do modelo Realizada de modo eventual no modelo:


relacional. As regras de só garante que, se nenhuma atualização
consistência presentes for realizada sobre o item de dados,
propiciam um maior grau de todos os acessos a esse item devolverão
rigor quanto à consistência das o último valor atualizado.
informações.

Disponibilidade Dada a dificuldade de se Outro fator fundamental do sucesso


conseguir trabalhar de forma desse modelo. O alto grau de
eficiente com a distribuição distribuição dos dados propicia que um
dos dados, esse modelo pode maior número de solicitações aos dados
não suportar a demanda muito seja atendida por parte do sistema e que
grande de informações do este fique menos tempo indisponível.
banco.

Tabela 1: Análise comparativa Modelo Relacional x noSQL.


Fonte: Adaptado de Brito (2011).

19
2 CAPÍTULO

ainda estão presentes, como a falta de suporte a transações e junções e restrições


relativas a tempo de consulta e tamanho e quantidade de domínios.

20
CONCLUSÃO

A computação evoluiu

..................................................................................

propõe-se a realização dos seguintes trabalhos futuros: (i) realização de um estudo de


caso de um ........ relacional; (ii) desenvolvimento de técnicas eficazes para descrever, ........
(iii) estudo de viabilidade da utilização de .............

21
REFERÊNCIAS

ABADI, Daniel J. Data management in the cloud: Limitations and opportunities. 2009.
Disponível em <http://sites.computer.org/debull/A09mar/abadi.pdf>. Acesso em: set. de
2011.

CANTU, Carlos Henrique. Firebird Essencial. Rio de Janeiro: Ciência Moderna, 2005.

DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8. ed. Rio de Janeiro: Campus,


2004.

DEAN, Jeffrey.; Ghemawat, Sanjay. Mapreduce: simplified data processing on large


clusters. 2004. Disponível em <http://usenix.org/events/osdi04/tech/dean.html>. Acesso em:
set. de 2011.

DECANDIA, G.; Hastorun, D.; Jampani, M.; Kakulapati, G.; Lakshman, A.; Pilchin, A.;
Sivasubramanian, S.; Vosshall, P.; Vogels, W. Dynamo: Amazon’s highly available key-
value store. 2007. SIGOPS Oper. Syst. Rev., 41(6):205–220.

ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Banco de Dados. 6. ed. São


Paulo: Pearson, 2011.

HAMILTON, Gary; QUIMBO, Jocelyn; VERMA, Saurabh. Database as a Service: A


Different Way to Manage Data. Disponível em: <http://cloudcomputing.sys-
con.com/node/1203562>. Acesso em: out. de 2011.

KLEIN, Scott; ROGGERO, Herve. Pro SQL Azure. 1. ed. USA: Apress, 2010.

VAQUERO, Luis M.; MERINO-RODERO, Luis; CACERES, Juan; LINDNER, Maik. A


Break in the Clouds: Towards a Cloud Definition. ACM SIGCOMM Computer
Communication Review, volume 39(1): 50-55, jan. de 2009.

22
APENDICES

23
ANEXOS

24

Você também pode gostar