Você está na página 1de 9

Trabalho grafos textos corrigidos

Introduo
As redes complexas de dados como redes sociais, as de informao e as biologicas sao
redes cuja a relao entre os elementos e tao importante quanto os proprios elementos,
quando uma rede desse nivel e representada atraves de grafos a relao descrita pelas
arestas e os elementos pelos vertices. A utilizao de modelos de banco de dados
tradicionais poderia gerar gargalos na manipulao dos dados , devido a grande
quantidade de dados normalmente existente. Baseado nisso surgiu a necessidade de se
ter um modelo de dados baseados em grafos e capaz de corresponder as peculiaridades
das redes complexas de dados.
Objetivos
O objetivo da utilizao de graph databases para otimizar a manipulao de dados das
redes complexas
(ainda deve ser escrito)
Grafos e sua origem
A ideia de Grafo surgiu independente das diversas reas de conhecimento, no entanto
considerada como uma rea da matemtica aplicada. A mais antiga meno sobre o
assunto ocorreu no trabalho de Euler (pronuncia-se iler), no ano de 1736 para modelar
e explicar um problema chamado Pontes de Knigsberg.

O problema consistia em verificar se seria possvel percorrer todas as sete pontes da


cidade passando uma nica vez em cada ponte.
Euler verificou (e provou) atravs de um diagrama associando ns (vrtices) e arcos
(arestas) que no havia soluo para o problema.
Surgimento do banco de dados de grafos
Tendo por base o conceito usado por Euler em seus experimentos , iniciou-se
sculos mais tarde o inicio de pesquisas sobre a utilizao dessa tcnica em banco de
dados.
As primeiras pesquisas relacionadas a um banco de dados de grafos (graph
database), datam por volta de 1975 atraves dos autores Roussopoulos e Mylopoulos
que propuseram uma rede semantica para armazenar dados. Contudo porem nas ultimas
decadas implementaoes dos modelos passaram a ser utilizadas em pesquisas e
empresas, principalmente devido ao crescimento das redes sociais e biologicas.

A figura acima referente a um histrico do desenvolvimento dos modelos de


Graph Database, com referencia a seus autores e teorias.
Apesar dos primeiros estudos terem iniciados em 1975 a maioria dos trabalhos
apareceram muitos anos depois, assim como mostra o grfico acima. Algumas das
razes para isso foram que a comunidade envolvida com banco de dados passou a
trabalhar com dados semiestruturados e pesquisadores que trabalhavam com graph
databases passaram a trabalhar com aplicaes particulares como dados espaciais, web e
documentos.

Graph Database
O armazenamento baseado em grafos fundamenta-se na teoria dos grafos. Em
geral, vemos que grafo consiste de ns, propriedades e arestas. Os ns representam as
entidades, as propriedades representam os atributos e as arestas representam as relaes.
Em um banco de dados de grafos, relacionamentos so mais naturais. Temos as
entidades chamadas de vrtices (ou node) que so ligadas entre elas pelas arestas (ou
relationships) cada um podendo guardar dados entre os relacionamentos e cada
relacionamento pode ter uma direo.

A imagem mostra um exemplo da ideia de grafos. As esferas vermelhas so os


vrtices e as arestas seus relacionamentos. Apesar de todos aqui possurem a indicao
relaciona, cada relacionamento pode guardar dados diferentes sobre o relacionamento.
Baseado na teoria de grafos, essas bases so um tipo dentro do mundo das bases
noSQL. Ao pensar em noSQL deve-se lembrar que esses so bancos mais rpidos
(potencialmente menos seguros) e fceis de escalar.
Alguns exemplo de banco de dados de grafos so :
AllegroGraph, ArangoDb,Bitsy, BrightstarDB,DEX, Filament, InfiniteGraph,
InfoGrid, HyperGraphDb, Oracle Spatial, Titan, Neo4J.
Itens de um banco de dados de grafos
Vrtice:
Tambm pode ser chamado de n a nossa unidade de dados, um conjunto de
propiedades do tipo chave valor que representam uma entidade. Um exemplo seria um
usurio o Twitter:
nome: Anderson
arroba: Gusson
Aresta:
So os nossos relacionamentos. Eles ligam os vrtices por meio de uma rede
semntica. Uma aresta pode possuir um sentido, uma orientao e, se necessrio, dados

sobre esse relacionamento. Exemplo baseado no Twitter: vrtice Anderson segue o


vrtice Laura desde 2012. Anderson e Laura so vrtices ligados pelo
relacionamento segue que possui um sentido: do primeiro ao segundo, e possui
tambm dados: a data de incio do relacionamento.
Definio das caractersticas do modelo Graph Database
Um modelo de graph database composto de trs componentes caracteristicos
bsicos, uma estrutura de dados adequada, uma linguagem de transformao e restries
de integridade.
A estrutura de dados de um modelo se preocupa em definir como as informaes
sero armazenadas.
A linguagem de transformao responsvel por definir como os dados devem
ser manipulados.
As restries de integridade so responsveis pela consistncia dos dados.
Aplicaes que podem ser beneficiadas com o modelo Graph Database
Redes Sociais: Neste tipo de rede os vrtices so compostos por pessoas ou
grupos e as arestas descrevem os relacionamentos. Alguns exemplos so as redes de
amizades (Facebook e Orkut) e negcios (Linkedin);
Redes de Informao: As redes deste grupo modelam fluxos de informaes.
Elas so utilizadas, por exemplo, para relacionar citaes de trabalhos acadmicos e
para relacionar classes de palavras em dicionrios de sinnimos;
Redes Tecnolgicas: Estas redes so caracterizadas pela importncia dos
aspectos geogrficos e espaciais das estruturas. Alguns exemplos so: redes de
computadores, redes de energia eltrica, rotas areas, redes de telefonia, sistemas de
informao geogrfico (GIS).
Redes Biolgicas: As redes biolgicas representam informaes biolgicas onde
existe um grande volume de dados de difcil gesto e anlise. Estas redes ocorrem na
regulao de genes, mapas metablicos, estruturas qumicas e relacionamento entre as
espcies.
Vantagens
Graph database permite uma modelagem mais natural dos dados no contexto das redes
complexas;
Possibilidade de consultas que aproveitam a estrutura dos grafos, atravs de operaes
na linguagem de consulta que permitam, por exemplo, retornar os vrtices adjacentes;
Ao trabalhar diretamente com grafos e operaes relacionadas, o nvel de abstrao
aumenta facilitando a manipulao dos dados pelo desenvolvedor;
As implementaes dos modelos podem disponibilizar algoritmos de grafos eficientes
para a realizao de operaes especficas.

Desvantagens
Fornecedores de RDBMS no medem esforos para fornecer um alto nvel de
apoio empresarial. A maioria dos sistemas NoSQL so projetos de cdigo aberto. As
empresas que criaram estes sistemas so muitas vezes pequenas start-ups, sem
alcance global, recursos de suporte extensos ou o tipo de credibilidade que os
grandes fornecedores de RDBMS como Oracle tem.
Bancos de dados NoSQL oferecer algumas facilidades para consultas e anlise
uma vez que eles no funcionam com o SQL. Coisas que iriam requerer consultas
simples em RDBMS exigem conhecimentos de programao significativa quando se
utiliza bancos de dados NoSQL. Alm disso, comumente usado Business
Intelligence (BI), ferramentas no fornecem conectividade para NoSQL
Embora, as metas de design para NoSQL pode ser a de fornecer uma soluo
que requer pouca ou nenhuma administrao, bancos de dados NoSQL atualmente
no tm conseguido isso. Esses bancos de dados atuais, ainda necessitam de um
nvel significativo de habilidade e esforo para instalar e manter.
A maioria dos desenvolvedores, no momento s esto familiarizados com
conceitos e programao de RDBMS. Isto significa que quase todos os
desenvolvedores NoSQL est no modo de aprendizagem. Isso pode mudar com o
tempo, mas, no momento, mais fcil encontrar programadores RDBMS
experientes ou administradores do que encontrar um especialista NoSQL. No
entanto, os bancos de dados NoSQL pode ser mais fcil para trabalhar com os
desenvolvedores que no esto familiarizados com a Structured Query Language
(SQL).
Tem que atravessar todo o grafico para se obter uma resposta definitiva

Criao de ndices (utilizando o Neo4J)


As operaes de indexao so parte da API do ndice Neo4j.
Cada ndice amarrado a um nico nome especificado pelo usuario
A implementao de ndice padro fornecido pelo componente Neo4j - Lucene
-index , que est includo no download padro do Neo4j
Um ndice criado se ele no existe quando voc perguntar para ele .
O indice sera criado na configurao padrao backend, a no ser que o usurio
personalize as configuraes.
Exemplos de criao de indices :

No exemplo acima primeiramente se verifica a existncia de ndices, logo aps se


atribui um ndice ao ns actors e movies e ira ser criado um ndice no
relacionamento, esses ndices sero criados com a configurao padro.

Esse segundo exemplo demonstra se um ndice especifico existe

http://www.infoq.com/br/news/2010/09/Graph-Databases
http://marcelotozzi.com/blog/neo4j-quem-voce-conhece-no-conjunto/
http://prezi.com/okvrpr_qcm-x/neo4j/
http://www.devmedia.com.br/repositorio-de-dados-relacional-ou-nosql-revista-javamagazine-114/27500
http://pt.slideshare.net/JeanLopes1/brnosql-luciano-ramalhomodelosricos

link para banco de dados de grafos na nuvem


http://dev.mayogax.me/como-funcionam-sistemas-de-recomendacao-e-subindo-neo4jna-nuvem

Bibliografia
http://tekedia.com/12083/nosql-database-advantages-and-disadvantages/
http://jamacedo.com/2011/07/graph-database/
http://www.tiselvagem.com.br/artigos-cientificos/neo4j-banco-de-dados-orientado-agrafos/
http://imasters.com.br/artigo/21781/banco-de-dados/escolhendo--a-ferramenta-certapara-o-banco-de-dados-nosql/
http://ccsl.ime.usp.br/wiki/images/2/20/NoSQL_Vantagens_Desvantagens_e_Comprom
issos.pdf
http://mtc-m19.sid.inpe.br/col/sid.inpe.br/mtcm19/2013/06.06.13.36/doc/publicacao.pdf
http://imasters.com.br/banco-de-dados/graphdb-series-o-que-e-um-banco-de-dados-degrafos/
http://dev.mayogax.me/
itens do trabalho

Introduo
Objetivos (Anderson tem que terminar de escrever)
Quais suas principais caractersticas?
Quais suas vantagens e desvantagens?
Quais suas limitaes? (gustavo)
Como a arquitetura? (gustavo)
Como o processo de migrao entre banco de dados convencional para este
modelo banco de dados no estruturados? (laura)
Como so as ndices,chaves, triggers, procedures, views? (anderson)
Como a segurana? (anderson)
Exemplo do seu uso em BI e na Web (laura)
Como o processo de leitura e escrita em disco? (anderson)
Temos algo em paralelismo? (laura)
Como o processamento de grandes volumes de dados? (gustavo)
Quanto a escalabilidade e performance? (anderson)
Temos um ambiente grfico para este tipo de banco de dados (Ex. SGBD),
demonstre suas principais funcionalidades, mediante testes realizados? (gustavo)
Como o processo de recuperao de dados? (laura)
Como ocorre a disponibilidade? (anderson)
Existe tolerncia a falhas? (gustavo)
Redundncia e alta disponibilidade como , temos ? (gustavo)
Backups ? (laura)
O que temos em tecnologia para clound computing? (laura)
Justificativa
Concluso
Formatao = Gustavo kobayashi
Obs: falta ainda vrios itens , antes de comear com os itens eu tive que
colocar algumas coisas falando sobre o sistema de grafos e tal, se no no ia ter
muito sentido o trabalho.... assim que acharem algum item que ainda no esta
escrito no texto acima , mandem para todos do grupo ... ok

Você também pode gostar