Processamento de Big Data com bancos de dados NoSQL para desenvolvedores Java. Fernando Babadopulos

Tamanho: px
Começar a partir da página:

Download "Processamento de Big Data com bancos de dados NoSQL para desenvolvedores Java. Fernando Babadopulos (@babadopulos)"

Transcrição

1 Processamento de Big Data com bancos de dados NoSQL para desenvolvedores Java Fernando Babadopulos

2 Eu tenho um Big Data?

3 Ok, tenho um Big Data, e agora?

4 Mas como funciona o hadoop?

5 fapa dos dados fapa dos fapa dos grande quanpdade de dados dados dados fapa dos dados CLUSTER HADOOP node 1 node 2 node 3 node N resultado do processamento Talvez outro Big Data!?!?

6 Vou processar distribuído, mas onde eu armazeno os dados?

7

8 Como dividir meus dados em vários servidores?

9 Replicação i5 j9 f1 i6 j0 f2 i7 j1 f3 i8... j2... f4... database 01 database f1 f2 f3 f f1 f2 f3 f i5 i6 i7 i i5 i6 i7 i j9 j0 j1 j j9 j0 j1 j2...

10 Sharding i5 j9 f1 l9 i6 l0 j0 f2 i7 l1 j1 f3 i8... l2... j2... f4... database 01 database 02 database 03 database f1 f2 f3 f i5 i6 i7 i j9 j0 j1 j l9 l0 l1 l l9 l0 l1 l f1 f2 f3 f j9 j0 j1 j i5 i6 i7 i8...

11 Hashing Rápido Consistente Ex.: Murmur RIPEMD- 160

12 Replicação ou sharding?

13 E o HDFS, onde entra?

14 Leitura e gravação geram os mesmos problemas?

15 Todos os bancos de dados são iguais?

16 Rápido Armazenado na memória RAM Diversas estruturas de dados Strings, Hashs, Lists, Sets, Sorted Sets

17 <dependency> <groupid>redis.clients</groupid> <artifactid>jedis</artifactid> <version>2.7.2</version> <type>jar</type> </dependency> Jedis jedis = new Jedis("localhost"); jedis.set("key", "value"); String value = jedis.get("key"); * hips://github.com/xetorthio/jedis

18 Índice armazenado em RAM Persistência em SSD Cluster napvo

19 <dependency> <groupid>com.aerospike</groupid> <artifactid>aerospike-client</artifactid> <version>3.0.0</version> <type>jar</type> </dependency> AerospikeClient client = new AerospikeClient("localhost",3000); Key key = new Key("test", "demo", "key"); Bin bin1 = new Bin("bin1", "value1"); Bin bin2 = new Bin("bin2", "value2"); String value = jedis.get("foo"); client.put(null, key, bin1, bin2); Record record = client.get(null, key); * hip://

20 Orientado a documentos Registros desestruturados Persistência em disco Auto- sharding Pesquisa em documentos aninhados

21 <dependency> <groupid>org.mongodb</groupid> <artifactid>mongodb-driver</artifactid> <version>3.0.2</version> <type>jar</type> </dependency> MongoClient mongoclient = new MongoClient("localhost"); MongoDatabase database = mongoclient.getdatabase("mydb"); MongoCollection<Document> collection = database.getcollection("test"); *hip://docs.mongodb.org/ecosystem/drivers/java/

22 { } "name": "example", "code": 7, "point": { "x": 100, "y": 200 } Document doc = new Document("name", "example").append("code", 7).append("point", new Document("x", 100).append("y", 200) ); collection.insertone(doc); Document mydoc = collection.find().first(); *hip://docs.mongodb.org/ecosystem/drivers/java/

23 Morphia <dependency> <groupid>org.mongodb.morphia</groupid> <artifactid>morphia</artifactid> <version>1.0.0</version> <type>jar</type> </dependency> Facilita a manipulação de objetos *hip://mongodb.github.io/morphia/

24 Orientado a documentos Pesquisa em tempo real Distribuído e escalável O documento todo pode ser indexado

25 <dependency> <groupid>org.elasticsearch</groupid> <artifactid>elasticsearch</artifactid> <version>1.6.0</version> <type>jar</type> </dependency> IndexResponse response = client.prepareindex("myindex", "docs").setsource(json).execute().actionget(); GetResponse response = client.prepareget("myindex", "docs", "1").execute().actionGet(); * hips:// api

26 Sampling

27 ms ,5h

28 6.931 x = Erro 0.088%

29 Total de registros conhecido amostragem Total de registros amostrados

30 REDIS 01 REDIS 02 REDIS 03 REDIS 04 REDIS 05 for (Jedis jedis : cluster.getallshards()) {. long dbsize = jedis.dbsize();.. String key = jedis.randomkey(); String value = jedis.get(key);.. }

31 AD EB CF IN OUT Tamanho da amostra final F

32 Reservoir Sampling private SortedMap<Double, MyObject> reservoir;.. if (reservoir.size() < SAMPLE_SIZE) { reservoir.put(score, myobject); } else if (score > reservoir.firstkey()) { reservoir.remove(reservoir.firstkey()); reservoir.put(score, myobject); }

33 Reservoir Sampling Apache Crunch import org.apache.crunch.lib.sample; Sample.reservoirSample(Pcollection<T> input, int samplesize);

34 Perguntas? Fernando Babadopulos

35 Obrigado! Fernando Babadopulos

Processando Big Data com Java: Receitas para resolver problemas comuns. Fabiane Bizinella Nardon (@fabianenardon)

Processando Big Data com Java: Receitas para resolver problemas comuns. Fabiane Bizinella Nardon (@fabianenardon) Processando Big Data com Java: Receitas para resolver problemas comuns Fabiane Bizinella Nardon (@fabianenardon) The best minds of my genera3on are thinking about how to make people click ads. That sucks.

Leia mais

Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem. Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos)

Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem. Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos) Arquiteturas Java Pragmá1cas para usar Big Data na Nuvem Fabiane Bizinella Nardon (@fabianenardon) Fernando Babadopulos (@babadopulos) Nós e Big Data BigDataTailTargetDataScienceMachineLearningHiveHadoopCrunchMongoDBRedisAWS

Leia mais

NoSQL como suporte à análise de dados nãonormalizados. volume

NoSQL como suporte à análise de dados nãonormalizados. volume NoSQL como suporte à análise de dados nãonormalizados e de grande volume Joel Alexandre Orientador: Professor Luís Cavique Motivação Grande quantidade de registos Tudo é registado Internet of things tudo

Leia mais

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br 26/11/2005 JSTL 1 Agenda Histórico e motivação; Servlets e JSP; Introdução e conceituação

Leia mais

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Introdução aos Bancos de Dados Não-Relacionais Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Conteúdo Histórico de BDs não-relacionais na Web 4 Categorias de bancos NoSQL Exemplos de

Leia mais

2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal.

2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal. Geração de Código para Smallpascal a 1. Já estudamos como SableCC faz uso do design pattern visitor para construir compiladores modulares. Vimos também os principais componentes da máquina virtual Java

Leia mais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas

Leia mais

FERRAMENTA PARA REPLICAÇÃ ÇÃO O DE DADOS NO SGBD POSTGRESQL

FERRAMENTA PARA REPLICAÇÃ ÇÃO O DE DADOS NO SGBD POSTGRESQL FERRAMENTA PARA REPLICAÇÃ ÇÃO O DE DADOS NO SGBD POSTGRESQL Malcus Otávio Quinoto Imhof Alexander Roberto Valdameri - Orientador Roteiro da apresentaçã ção Introduçã ção Objetivos Motivaçã ção Revisão

Leia mais

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana

MAC5855 - NoSQL. Mauricio De Diana mdediana@ime.usp.br @mdediana MAC5855 - NoSQL Mauricio De Diana mdediana@ime.usp.br @mdediana Web 2.0 Data is the Next Intel Inside Inteligência Coletiva Grande volume de dados Escala global (Internet scale services) Web 2.0 Alto grau

Leia mais

Fazendo Data Science em Tempo Real. Fabiane Bizinella Nardon @fabianenardon

Fazendo Data Science em Tempo Real. Fabiane Bizinella Nardon @fabianenardon Fazendo Data Science em Tempo Real Fabiane Bizinella Nardon @fabianenardon BIG DATA + ESTATÍSTICA + = DATA SCIENCE PROGRAMAÇÃO Data Science na era do batch Dados do Passado Processador Batch (Ex: Hadoop)

Leia mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

(HDFS) Usando o. hadoop_

(HDFS) Usando o. hadoop_ hadoop_ Usando o Hadoop Distributed File System (HDFS) Hadoop File System (HDFS) é o componente do O Hadoop responsável pela persistência de dados de forma distribuída, constituindo a principal funcionalidade

Leia mais

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva CEFET-RS Curso de Eletrônica 2 - Processadores Profs. Roberta Nobre & Sandro Silva robertacnobre@gmail.com e sandro@cefetrs.tche.br Microprocessador 8086 FX ULA AH AL BH BL CH CL DH DL BP SI DI SP (AX)

Leia mais

Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação

Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação Hadoop - HDFS Universidade Federal de Goiás Ciência da Computação O que é Hadoop? Um framework para lidar com aplicações distribuídas que fazem uso massivo de dados Originalmente construído para a distribuição

Leia mais

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização

Leia mais

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan Alfredo Fernandes / José Fernandes 6. Avaliação Nesta secção é apresentada as avaliações

Leia mais

Arquiteturas escaláveis utilizando ferramentas Shared Nothing. Victor Canô

Arquiteturas escaláveis utilizando ferramentas Shared Nothing. Victor Canô Arquiteturas escaláveis utilizando ferramentas Shared Nothing Victor Canô Victor Canô - Founder / CTO @ Cazamba - Founder @ Troz.io /victoracano Conteúdo O que esperamos de uma aplicação? Cloud, benefícios

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo JavaServer Pages (JSP) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

Construa um Data Lake multi-protocolo e otimizado para analytics com ISILON. Fernando Pavan Isilon Specialist

Construa um Data Lake multi-protocolo e otimizado para analytics com ISILON. Fernando Pavan Isilon Specialist Construa um Data Lake multi-protocolo e otimizado para analytics com ISILON Fernando Pavan Isilon Specialist 1 Crescimento de Dados Não Estruturados 67% 74% 80% 2013 2015 2017 37 EB 71 EB 133 EB Capacidade

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Cassandra - Particionamento de Dados Sistemas Distribuídos Douglas Macedo Hugo Lourenço Sumário Introdução Conceito Anel Multíplos Data center Fatores envolvidos Arquitetura do Sistema Módulo de Particionamento

Leia mais

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora?

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora? Neo4j Aprendendo conceitos por trás do Neo4j Universidade Federal do Paraná - UFPR Programa de Pós-Graduação em Informática - PPGInf Oficina de Banco de Dados - CI829 Profa: Dra. Carmem Hara Aluno: Walmir

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

Mapeamento Lógico/Relacional com JPA

Mapeamento Lógico/Relacional com JPA Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de

Leia mais

Tabela de símbolos: tabelas de espalhamento

Tabela de símbolos: tabelas de espalhamento Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get

Leia mais

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão Programação Na Web Sessão II António Gonçalves Índice Visão geral da API Sessão Obter dados sobre uma sessão Extrair informação sobre uma Sessão Adicionar Dados a uma sessão 1 Programação Na Web Motivação

Leia mais

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31 O comando switch c Professores de ALPRO I Faculdade de Informática PUCRS 04/2012 ALPRO I (FACIN) O comando switch 04/2012 1 / 31 Sumário 1 Relembrando... 2 Comando de Seleção (Parte III) Menus e o comando

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

Processamento de Dados

Processamento de Dados Processamento de Dados Execução de Programas Os computadores não entendem nada além de comandos, dados e endereços escritos em linguagem binária, também chamada de linguagem de baixo nível. Ela utiliza

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de

Leia mais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR. 2º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA 2013.

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR. 2º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA 2013. FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR 2º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA 2013. 1. INFORMAÇÕES GERAIS Coordenadora do Curso: Lucília Gomes Ribeiro Professora coorientadora:

Leia mais

Copyright 2012 EMC Corporation. Todos os direitos reservados.

Copyright 2012 EMC Corporation. Todos os direitos reservados. ACELERE O SUCESSO NO NOVO MUNDO DE BIG DATA Armazenamento de scale-out EMC Isilon Os profissionais de armazenamento estão sendo cercados! Provisione mais dados! Migre mais dados! Proteja mais dados! Compartilhe

Leia mais

Meta Programming. Nelson Ferraz nferraz@gmail.com

Meta Programming. Nelson Ferraz nferraz@gmail.com Meta Programming Nelson Ferraz nferraz@gmail.com Resumo Meta Programming Code Generation AppML 23/11/07 Nelson Ferraz 2 Meta Programming Programas que manipulam programas Geração de

Leia mais

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES Alex Travagin Chatalov¹, Ricardo Ribeiro Rufino ¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil alex_tr1992@hotmail.com ricardo@unipar.br

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relação aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento

Leia mais

Uma Breve Introdução. Andréa Bordin

Uma Breve Introdução. Andréa Bordin Uma Breve Introdução Andréa Bordin O que significa? NoSQL é um termo genérico que define bancos de dados não-relacionais. A tecnologia NoSQL foi iniciada por companhias líderes da Internet - incluindo

Leia mais

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java

5. Generics, Iterators e Comparable em Java. Tipos de Dados Abstractos Generics em Java 5. Generics, Iterators e Comparable em Java Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 5. Generics, Iterators e Comparable em Java Estruturas de Dados 1 / 12 Tipos de Dados Abstractos

Leia mais

Apache + PHP + MySQL

Apache + PHP + MySQL Apache + PHP + MySQL Fernando Lozano Consultor Independente Prof. Faculdade Metodista Bennett Webmaster da Free Software Foundation fernando@lozano.eti.br SEPAI 2001 O Que São Estes Softwares Apache: Servidor

Leia mais

Manual de Instruções para a Criação de Ficheiros CSR. Apache (OpenSSL)

Manual de Instruções para a Criação de Ficheiros CSR. Apache (OpenSSL) Manual de Instruções para a Criação de Ficheiros CSR Página 1 de 6 CONTROLO DOCUMENTAL REGISTO DE MODIFICAÇÕES Versão Data Motivo da Modificação PREPARADO REVISTO APROVADO ACEITE DUS/RS DISTRIBUIÇÃO DO

Leia mais

PHP. Hypertext Pre-Processor

PHP. Hypertext Pre-Processor PHP Hypertext Pre-Processor O que é o PHP? Uma linguagem de scripting é uma linguagem cujo código não tem de ser compilado para ser executado! O código escrito é interpretado em tempo de execução para

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Programação para Android Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados.

Leia mais

Tipos de Dado Abstrato: Listas, Filas e Pilhas

Tipos de Dado Abstrato: Listas, Filas e Pilhas Tipos de Dado Abstrato: Listas, Filas e Pilhas Estruturas de Dados Prof. Vilson Heck Junior Introdução Tradicionalmente conhecidos como Tipos de Dado Abstrato, são algumas Estruturas de Dados básicas e

Leia mais

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS versão 1.0 W7BR Soluções e Tecnologia contato@w7br.com Sumário INTRODUÇÃO... 3 Observação... 3 FORMATO DO ARQUIVO PHP... 4 Identação... 4 Codificação

Leia mais

Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql

Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql Criar database: Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com Preparando o ambiente do Banco de dados Mysql CREATE DATABASE `tempuino` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

Leia mais

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Sistemas Baseados em Regras Aula3: Drools Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Drools Business Logic integration Platform Plataforma integrada para gerenciamento

Leia mais

Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015

Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015 Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015 Resumo Executivo: A Inok realizou uma instalação piloto para analisar as funcionalidades, características técnicas,

Leia mais

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com

Google App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com Google App Engine Natal, 24 de maio de 2012 andregustavoo@gmail.com Sumário Introdução Instalação Aplicação Exemplo Implantação Conclusão Introdução Google App Engine developers.google.com/appaengine Permite

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Guia rápido de uso de Web Services do NFS-e Easy

Guia rápido de uso de Web Services do NFS-e Easy Guia rápido de uso de Web Services do NFS-e Easy NFS-e Easy V.3.0.5 Produto: Guia rápido de uso de Web Services do NFS-e Easy V3.0.5 Release date: Mai, 2013 1 Sumário 1. Introdução... 3 2. Requisitos e

Leia mais

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a

Leia mais

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir

Leia mais

Instalando e Configurando o BDE. Instalando o BDE. Configurando o BDE - 1 -

Instalando e Configurando o BDE. Instalando o BDE. Configurando o BDE - 1 - Instalando e Configurando o BDE. Instalando o BDE Para instalar o BDE, insira o Disco 1 de 3 em seu drive de disquete. Clique em Iniciar, Executar e digite no campo Abrir: a:\setup.exe ( supondo que seu

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto PARTE 1 REDES DEFINIDAS POR SOFTWARE (SDN) 2 Bibliografia Esta aula é baseada

Leia mais

Prof. Romulo Fagundes Cantanhede. Node.JS. O poder do JavaScript do lado do Servidor

Prof. Romulo Fagundes Cantanhede. Node.JS. O poder do JavaScript do lado do Servidor Prof. Romulo Fagundes Cantanhede Node.JS O poder do JavaScript do lado do Servidor Agenda Quem sou eu O que é Node.JS? Mas como não falar de nosql Alguns módulos que o Node.JS possui Conclusão Quem sou

Leia mais

Principais novidades do Entity Framework 5.0

Principais novidades do Entity Framework 5.0 Principais novidades do Entity Framework 5.0 Fernando Henrique I. B. Ferreira, analista de sistemas. ITGroup. MVP (Data Platform Development), MCC, MCPD, MCTS & Mestrando em Sistemas de Informação. Entity

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

PHP e MySQL Autenticação de Usuários

PHP e MySQL Autenticação de Usuários PHP e MySQL Autenticação de Usuários Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso A maioria das aplicações web envolve em algum ponto um mecanismo

Leia mais

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste

Leia mais

Escalabilidade, as modas e (No)SQL. Fernando Ike

Escalabilidade, as modas e (No)SQL. Fernando Ike Escalabilidade, as modas e (No)SQL Fernando Ike SQL SQL Por que? Bala de Prata Bala de Prata + de 20 anos como A solução ORM (Object-relational mapping) Transação Chave Composta Chave Estrangeira Porto

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

FTP FILE F TRANSFER PROTOCOL. Tópicos

FTP FILE F TRANSFER PROTOCOL. Tópicos FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios

Leia mais

Think Idea S/A. Documento Visão. Versão 1.0

Think Idea S/A. Documento Visão. Versão 1.0 Think Idea S/A Documento Visão Versão 1.0 Histórico de Revisões Data Versão Descrição Autor(es) 02/12/2013 1.0 Documento Inicial Projeto Integrador Bruno Rodrigues, Edy Laus, Igor Pereira, Marcelo Gonçalves

Leia mais

Design Patterns (Factory Method, Prototype, Singleton)

Design Patterns (Factory Method, Prototype, Singleton) DesignPatterns (FactoryMethod,Prototype,Singleton) JoãoAntónioPaz LuísMiguelClaro AlbertoManuelGomes N.º12812 N.º12817 N.º12818 FACTORYMETHOD Padrãoquedefineumainterfaceparacriaçãodeobjectos,masdeixaassubclassesdecidirque

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Sistema de Armazenamento de Dados Eleitorais - SisElege

Sistema de Armazenamento de Dados Eleitorais - SisElege Faculdade de Tecnologia Senac DF Sistema de Armazenamento de Dados Eleitorais - SisElege Documento de Visão Versão 4.0 Histórico de Revisão Data Versão Descrição Autor 05/09/2014 1.0 Versão Inicial do

Leia mais

IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L)

IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L) IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L) Roteiro TAC TAC SCM Especificação do agente Especificação da interface de comunicação Implementação da interface de comunicação Implementação

Leia mais

Instalando software MÉDICO Online no servidor

Instalando software MÉDICO Online no servidor Instalando software MÉDICO Online no servidor A máquina denominada Servidora é a que armazenará o banco de dados do software (arquivo responsável pelas informações inseridas), compartilhando com as demais

Leia mais

Capítulo 4. Programação em ASP

Capítulo 4. Programação em ASP Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro

Leia mais

Migrations for Java EVOLUINDO SEU BANCO DE MANEIRA INCREMENTAL

Migrations for Java EVOLUINDO SEU BANCO DE MANEIRA INCREMENTAL Migrations for Java EVOLUINDO SEU BANCO DE MANEIRA INCREMENTAL Rafael Ponte QCon SP 2013 EM 2005 EU SÓ QUERIA SABER DE FRAMEWORKS ANALISTA DE SISTEMAS NA EQUIPE I HIBERNATE I HIBERNATE persistence.xml

Leia mais

Apresentação do Artigo

Apresentação do Artigo Apresentação do Artigo Web Search for a Planet: The Google Cluster Architecture Publicado em IEEE Micro Março 2003, pg.22-28 Luiz A.Barroso, Jeffrey Dean, Urs Hölze Frank Juergen Knaesel fknaesel@inf.ufsc.br

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema. O que é o projeto O PROINFODATA - programa de coleta de dados do projeto ProInfo/MEC de inclusão digital nas escolas públicas brasileiras tem como objetivo acompanhar o estado de funcionamento dos laboratórios

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

FICHA DE ESPECIFICAÇÃO TÉCNICA. x PRODUTO PROCESSO DATA: 04/02/2013. PRODUTO: IcBox SUB-PRODUTO: DESCRIÇÃO: API DLL c++ (C++ builder e Delphi)

FICHA DE ESPECIFICAÇÃO TÉCNICA. x PRODUTO PROCESSO DATA: 04/02/2013. PRODUTO: IcBox SUB-PRODUTO: DESCRIÇÃO: API DLL c++ (C++ builder e Delphi) x PRODUTO PROCESSO DATA: 04/02/2013 PRODUTO: IcBox SUB-PRODUTO: DESCRIÇÃO: API DLL c++ (C++ builder e Delphi) ELABORAÇÃO: Wagner ÁREA: PDI API DLL ICBOX Recomendado para uso com C++ Builder e Delphi ///////////////////////////////////////////////////////

Leia mais

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

Leia mais

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua SERVIÇO DE NOMES Sistemas Distribuídos Serviço de Nomes Nomes facilitam a comunicação e compartilhamento de recursos Nomes são vinculados a objetos Nomes devem ser resolvidos antes de de invocar os objetos

Leia mais

Diamond Powder - um framework Java ME para coleta de dados

Diamond Powder - um framework Java ME para coleta de dados Artigo GUJ.com.br Diamond Powder - um framework Java ME para coleta de dados Autor Renato Bellia: é formado em Engenharia de Computadores, trabalha com Java EE a mais de 08 anos, e atualmente está utilizando

Leia mais

Enplicaw Documentation

Enplicaw Documentation Enplicaw Documentation Release 0.1.0 Carlo Oliveira June 18, 2015 Contents 1 Enplicaw - Introdução 3 2 Enplicaw - Modulos 5 3 Notas de Lançamento V. 0.1.0 7 3.1 Milestone.................................................

Leia mais

INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ

INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ Acadêmico: Antonio Carlos Bambino Filho Orientador: Prof. Marcel Hugo SUMÁRIO Introdução;

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB Testes de Software 1 AULA 05 FERRAMENTAS TESTE DE CARGA E GERÊNCIA DE TESTE Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB Conteúdo Programático Aula 05 Ferramentas para gerência dos testes Ferramentas

Leia mais

Copyright 2012 EMC Corporation. Todos os direitos reservados.

Copyright 2012 EMC Corporation. Todos os direitos reservados. 1 A INFRAESTRUTURA DO FUTURO, HOJE Integrando Greenplum DCA e SAS para permitir estudos analíticos em big data Rafael Aielo Technology Consultant 2 O que é Greenplum? Adquirida pela EMC em julho de 2010

Leia mais

Especialização em Engenharia de Software - CEUT

Especialização em Engenharia de Software - CEUT Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de

Leia mais

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem

Leia mais

Nº Registro na ANS 413.996/99-8 413.996/99-8 413.996/99-8 413.996/99-8 413.996/99-8 464.009/11-8 413.996/99-8 455.092/06-7 413.996/99-8 413.

Nº Registro na ANS 413.996/99-8 413.996/99-8 413.996/99-8 413.996/99-8 413.996/99-8 464.009/11-8 413.996/99-8 455.092/06-7 413.996/99-8 413. Cód. Contrato 00010023000000000014001000000001001 00010041000000000003001000000001001 00010042000000000002001000000001001 00010049000000000001001000000001001 00010078000000000001001000000001001 00010084000000000001001000000003001

Leia mais

Manual de Instalação PIMSConnector em Linux

Manual de Instalação PIMSConnector em Linux Manual de Instalação PIMSConnector em Linux Julho/2015 Sumário 1. Contexto de negócio (Introdução)... 3 2. Pré-requisitos instalação/implantação/utilização... 4 3. JBOSS... 6 3.1. Instalação... 6 3.2.

Leia mais

Frameworks - Grails. Aécio Costa

Frameworks - Grails. Aécio Costa Aécio Costa Abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade

Leia mais

Invocação Remota MC704

Invocação Remota MC704 Invocação Remota MC704 Aplicações distribuídas Aplicação distribuída: conjunto de processos que cooperam entre si para prover um serviço ou realizar uma computação normalmente processos precisam invocar

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

ANDROID E NDK PARA ALÉM DA PERFORMANCE

ANDROID E NDK PARA ALÉM DA PERFORMANCE ANDROID E NDK PARA ALÉM DA PERFORMANCE Setembro de 2014 SOBRE MIM Computeiro by ICMC/USP Engenheiro de Software Instrutor Intel Software Innovator Palestrante Etc AGENDA Motivação Integração com Gradle

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL INTRODUÇÃO: O PostgreSQL é um dos mais populares e avançados sistemas gerenciadores de banco de dados (SGBD) com código aberto. É

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais