Arquitetura Baseada em Serviços Web Services e BD e NoSQL

Slides:



Advertisements
Apresentações semelhantes
2º Semestre 2009 > PUCPR > Design Digital
Advertisements

Introdução à Programação Funções Matemáticas
Laboratório de Informática Propriedades CSS: Cores
Componentes ASP.NET Validação – Parte 2
Passo a passo: Configuração de Login no ASP.NET
Instalação e Configuração
Encontro Computação em Nuvem
Aula 3 – DB2 Express-C Autor:
Banco de Dados I Aula 20.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
ASP.NET Ajax 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.
Tecnologia de Programação BD em.Net: Conexão com SQL Server 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula.
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Prof.: Bruno Rafael de Oliveira Rodrigues
Sistemas Distribuídos
Maurício Edgar Stivanello
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Bacharelado em Ciência da Computação
PostGreSQL Primeiros Passos
SISTEMAS DISTRIBUÍDOS
Seminários Avançados I
Material III-Bimestre Wagner Santos C. de Jesus
PUC - BD3 IBM DB2 Sistemas de Banco de Dados Distribuídos
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Ferramentas e Tecnologias III
Prof. Marco Aurelio N. Esteves
Por que Apache CloudStack?
Administração de Sistemas de Informação Banco de Dados
Cloud Computing.
Computação em Nuvem Botao – Cloud – 2011 / 09.
DOCUMENTO CONFIDENCIAL DA MICROSOFT Set 2009 | Página 1 | Apresentação para BDMs.
Cloud Computing Universidade Federal do Rio de Janeiro
Framework gpnet.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Curso EFA de técnico de Informática e Sistemas
MapReduce Conceitos e Aplicações
Um novo tipo de banco de dados não relacional
NoSQL: O Futuro dos Bancos de Dados para a Web
Bancos de dados NOSQL (Not Only SQL)
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando Hadad Zaidan.
Luiz Antonio Torres, Maio/2014
NoSQL colunas Jairo Tiburtino dos Santos.
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Intercloud Cauê R P Moresi.
Sistemas NoSQL - Chave-Valor
O primeiro passo para a nuvem
IIS Web Server.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
Gerenciamento de Dados na Nuvem - DaaS Rafael Acevedo de Aguiar 27/02/2015.
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
SQLite Banco de Dados II.
Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado.
Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto.
Trabalho de Seminários em Informática
Tópicos Avançados Prof. Bal. Emerson Meneses Inocente.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Computação em Nuvem Felipe Carvalho UFES 2009/2 Conceitos Básicos.
NoSQL UFRPE. NoSQL ? NoSQL...  São diferentes sistemas de armazenamento que vieram para suprir necessidades em demandas onde os bancos de dados tradicionais.
Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais
UCSal – Bacharelado em Informática
Temas para Monografia: Vou Escolher Logo o Meu!!!
ARQUITETURA WEB SERVICE TGM
Programação para Web I AULA 2 BANCO DE DADOS.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha.
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
CosmosDB - As armas da Microsoft no mundo NoSQL
NoSQL.
Transcrição da apresentação:

Arquitetura Baseada em Serviços Web Services e BD e NoSQL Bruno C. de Paula Arquitetura Baseada em Serviços Web Services e BD e NoSQL 2º Semestre 2009 > PUCPR > Pós em BD

Resumo e motivação da aula Vamos trabalhar na aula de hoje com bancos de dados não relacionais; Esta nova abordagem está ganhando bastante força em arquiteturas baseadas em serviços devido às suas vantagens relacionadas a escalabilidade, distribuição e acesso.

Modelo relacional é excelente, porém... É necessário transmitir um texto SQL do cliente ao SGBD para conseguir um resultado; Difícil de criar estruturas reutilizáveis; Representação antinatural de estruturas altamente hierárquicas; Não prevê, originalmente, sistemas distribuídos e paralelizáveis. 23/03/2017

NoSQL - características SGBDs projetados para aplicações web em mente; Distribuídos, descentralizados e paralelizáveis; Tolerantes a falha; Fogem de schemas fixos; Escaláveis de maneira transparente; Acessíveis via web services; Não é ORM! Muito novos... 23/03/2017

NoSQL - características Podem ser instalados localmente ou, por serem distribuídos, podem ser jogados para a nuvem; 23/03/2017

Cloud Computing Computação em Nuvem Detalhes da infra-estrutura são escondidos do usuário e localizados na Internet; IaaS (Infraestrutura como Serviço): Virtualização; PaaS (Plataforma como Serviço): Cloudware; Seu sofware roda na Internet; SaaS (Software como Serviço): Licenciamento de um aplicativo sob demanda. 23/03/2017

Teorema CAP Ao mesmo tempo, você só pode escolher 2 ao mesmo tempo: Consistência (consistency): todos os clientes enxergam os mesmos dados; Disponibilidade (availability) : todos os clientes acessam alguma versão dos dados; Tolerância a Partição (partition tolerance): o banco pode ser dividido em múltiplos servidores. NoSQL implementam consistência eventual; 23/03/2017

Key-value: tabela hash; Document-based: metáfora de documentos; NoSQL Tipos de SGBD Key-value: tabela hash; Document-based: metáfora de documentos; Não existe um padrão de linguagem! 23/03/2017

Exemplos de implementações NoSQL Voldemort: Linkedin, Digg; Cassandra: Facebook; CouchDB; MongoDB; Amazon SimpleDB: usado pelo S3; 23/03/2017

Exemplos de implementações NoSQL Google BigTable / Google Fusion Tables; HyperTable: implementação do BigTable; HBase; Yahoo Sherpa; LucidDB; ... Dezenas! 23/03/2017

Voldemort Desenvolvido pelo Linkedin; Dados são automaticamente: Replicados para múltiplos servidores; Particionados (cada servidor contém um pedaço dos dados); Dados são versionados; Cada nó é independente; 10-20k operações por segundo por nó. 23/03/2017

Voldemort Serialização em Java; Clone do Amazon Dynamo; Open Source (Java); Download em: http://project-voldemort.com/ 23/03/2017

Instalação Download de versão para Linux em: http://github.com/voldemort/voldemort/downloads 23/03/2017

Exemplo de uso Iniciando um nó ./bin/voldemort-server.sh config/single_node_cluster > /tmp/voldemort.log & 23/03/2017

Exemplo de uso Iniciando a linha de comando ./bin/voldemort-shell.sh test tcp://localhost:6666 23/03/2017

Exemplo de uso Operações simples Inserindo valor put "nome" "Bruno" Recuperando valor: get "nome" Excluindo valor: delete "nome" 23/03/2017

Exemplo de uso Versionamento 23/03/2017

Exemplo de uso Localização da chave locate "bruno" 23/03/2017

Exemplo de uso Código Java - Conexão String bootstrapUrl = "tcp://localhost:6666"; StoreClientFactory factory = new SocketStoreClientFactory(new ClientConfig().setBootstrapUrls(bootstrapUrl)); // Cria um cliente para a store StoreClient client = factory.getStoreClient("my_store_name"); 23/03/2017

Exemplo de uso Inserindo e obtendo valores Versioned value = client.get("some_key"); value.setObject("some_value"); client.put("some_key", value); 23/03/2017

Cassandra Desenvolvido para o Facebook; Armazenamento de modelo de dados rico; Data replicada a múltiplos nós; Novos nós podem ser acrescentados sem influenciar nos dados existentes; Consistência eventual: Sem updates após um período, os updates de propagam nas réplicas. 23/03/2017

Cassandra Open source (Java); Facebook = 40 TB / 120 máquinas; Usa o conceito de super colunas; { // esta é uma super coluna nome: "homeAddress", // com uma lista infinita de colunas value: { // observe que a chave é o nome da coluna street: {name: "street", value: "1234 x street", timestamp: 123456789}, city: {name: "city", value: "san francisco", timestamp: 123456789}, zip: {name: "zip", value: "94107", timestamp: 123456789}, } 23/03/2017

Instalação Downloa de versão para Linux em: http://incubator.apache.org/cassandra/#download 23/03/2017

Exemplo de uso Iniciando um nó 23/03/2017 Exemplo de uso Iniciando um nó mkdir -p /var/log/cassandra touch /var/log/cassandra/system.log ./bin/cassandra -f Dica: precisei do SUDO para funcionar no Ubuntu... 23/03/2017

Exemplo de uso Iniciando a linha de comando 23/03/2017 Exemplo de uso Iniciando a linha de comando ./bin/cassandra-cli –host localhost –port 9160 Ver exemplos em: http://posulliv.com/?p=149 23/03/2017

Exemplo de uso Inserindo valores set Keyspace1.Standard1['bcp']['primeiro']='Bruno‘ set Keyspace1.Standard1['bcp']['sobrenome']='Bruno' 23/03/2017

Exemplo de uso Obtendo valores get Keyspace1.Standard1['bcp'] 23/03/2017

CouchDB Servidor de banco baseado em documentos; Acessível via API Rest; Schema-free; Distribuído; Open Source (Erlang); Views usando Map/Reduce. 23/03/2017

CouchDB Interface JavaScript; Ver testador online: http://labs.mudynamics.com/wp-content/uploads/2009/04/icouch.html 23/03/2017

Documento CouchDB Campos nomeados 23/03/2017

Referências No to SQL? Anti-database... http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_ Livro sobre CouchDB (no prelo): http://books.couchdb.org/relax/ Explorando o CouchDB: http://www.ibm.com/developerworks/br/library/os-couchdb/index.html 23/03/2017