#publisher publisher * bemvindo * Voltar * Início * Meu DevMedia * Fórum * Recomendado * Serviços + Serviços + Voltar + Devmedia Player + Cadastre-se + RSS + O que há de novo + Gerenciando o que foi lido + APIs * MVP * Comprar + Comprar + Voltar + MVP + Loja Virtual + Assine revistas * Canais + Canais + Voltar + Mentoring + Front-end web + Mobile + Java + .net + Banco de dados + Engenharia de Software + Delphi + Canal Mais + Todo o conteúdo * Cursos & Formações + Cursos & Formações + Voltar + Formações completas + Cursos de front-end web + Cursos de Mobile + Cursos de Java + Cursos de .net + Cursos de Banco de dados + Cursos de Engenharia de Software + Cursos de PHP + Cursos de Automação / NFe / Paf-ecf + Cursos de Delphi + Todos os cursos * Pocket videos * Guias de Referência + Guias de Referência + Voltar + Guia HTML + Guia ASP.NET MVC + Guia PHP + Guia Java + Todos as Guias * Fale conosco DevMedia Login ____________________ ____________________ (BUTTON) OK Cadastre-se Esqueci minha senha Esqueci minha senha DevMedia ____________________ (BUTTON) Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login comentários favorito (11) para impressão anotar marcar como lido Introdução ao Conceito de Big Data Veja neste artigo uma introdução ao conceito de Big Data e sua aplicação nos dias atuais, onde a quantidade de informações gerada vem crescendo cada dia mais rapidamente. 0 [handUp.png] Gostei (7) [handDown.png] (1) [fechar] Você não gostou da qualidade deste conteúdo? (opcional) Você poderia comentar o que não lhe agradou? ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ Confirmo meu voto negativo Com a evolução das aplicações e a necessidade do ser humano pelas informações, mais e mais aplicações vem surgindo, deixando o homem cada vez mais refém da informação. Para isso basta lembrar-nos da evolução da relação homem-computador em que num passado existiam muitas pessoas para uma máquina (como o mainframe), em seguida uma pessoa por máquina (o caso do computador pessoal) e nos tempos atuais em que cada pessoa possui várias máquinas (notebook, ultrabook, PC, tablet, smartphone, no futuro óculos, geladores, etc.). Com tantos aplicativos surgindo, as informações são geradas exponencialmente, com isso a capacidade de gerenciar tantas informações se torna primordial para as aplicações atuais. Esse mesmo crescimento de dados acontece nos aplicativos empresariais com crescimento anual de 60%. Estima-se que uma empresa com mil funcionários gera anualmente 1000 terabytes, sem falar que essa quantidade tende a aumentar cinquenta vezes até 2020. Com o recém surgimento do bigdata, a primeira dificuldade é encontrar o seu conceito. É possível vê-lo de maneiras totalmente divergentes em cada blog que se lê, ou seja, se você ler 10 materiais sobre bigdata, provavelmente cada um trará conceitos diferentes. Dentre as matérias, ao se tirar um mínimo comum se verá que o bigdata, na sua raiz, fala em tratar um grande volume de dados com grande velocidade. No entanto, se repara que essa definição é bastante abstrata pelo simples fato de que para uma pessoa A, por exemplo, um grande volume seja um gigabyte e para uma pessoa B um grande volume seja um terabyte e o mesmo pode acontecer ao se referenciar a velocidade e o tempo de resposta de uma requisição. Assim, o grande desafio do bigdata é estar administrando um grande volume de dados e minerando informações em um menor tempo de requisição. Com o grande volume de dados, fazer com que a aplicação cresça à medida que é necessário é uma ótima estratégia, assim, uma escalabilidade vertical (em que se aumenta o poder do hardware, como aumento de memória e de processamento de uma única máquina) ou horizontal (em que se aumenta a quantidade de máquinas) deve ser analisada. Apesar de ser mais complexa, a escalabilidade horizontal acaba sendo muito barata, sem falar de ser mais fácil de crescer ou diminuir os recursos por demanda. Para armazenar as informações com a escalabilidade horizontal, os bancos NOSQL são uma ótima estratégia. Vale lembrar que o banco NOSQL significa não apenas not only e não SQL. Uma diferença entre os bancos NOSQL e SQL é que o primeiro possui uma grande variedade de bancos e cada um com características diferentes. Em termo de arquitetura, os bancos NOSQL podem ser distribuídos ou não, embora sejam mais populares do tipo distribuído. Sua forma de armazenamento pode ser apenas em memória, apenas em disco rígido ou configurável (vale apena lembrar que banco apenas na memória são muito rápidos, no entanto são volúveis, já os somente no HD tem informações permanentes, porém o I/O é muito alto). Outra característica divergente entre os bancos NOSQL está na forma do armazenamento que são: chave-valor, documento, família de coluna e grafos. Os bancos NOSQL costumam ser muito rápidos na leitura e na escrita, no entanto, possuem uma grande deficiência por parte das buscas. Estas normalmente são feitas apenas pela chave, para isso usar um serviço para terceirizar o serviço pode ser uma boa ideia, como o framework Lucene. Mesmo realizando estratégias de buscas terceirizadas ou buscando pelo id, se a informação não estiver na memória principal pode haver uma demora para recuperar essa informação. Assim, ter um dispositivo de acesso rápido pode ser uma melhor opção, entra aqui o uso do cache. Ao se optar pelo cache deve-se levar em conta os dois maiores desafios: * Ter informação: o ato de esquentar a informação é extremamente importante para esse mecanismo, já que não adianta existir um cache se o mesmo não possuir nenhuma informação. Para isso ele pode ser esquentado de várias formas (ao iniciar uma aplicação, por demanda, por sessão do usuário) que deve ser definido com o aplicativo em questão. * Matar o cache: para o cache é necessário que existam apenas informações atuais, assim é importante que os dados antigos sejam mortos e trocados por informações mais atuais. Um outro aspecto no bigdata, que não é muito tratado, está relacionado à velocidade da modelagem além da velocidade no desenvolvimento de software. Um exemplo muito interessante é o Twitter que viu muito usuários usando a hashtag (o '#' adicionado com uma palavra) e em pouco tempo teve que realizar pesquisas através dos mesmos. Assim podemos verificar que o bigdata não apenas está relacionado apenas à velocidade de requisição, mas também em desenvolvimento, então conhecer bem o negócio além de várias ferramentas poderá ser extremamente importante. Na linguagem Java, conhecer o Java EE 6, muito em breve o Java 7, além do JDK 7 trará velocidade de desenvolvimento, produtividade e um melhor gerenciamento de memória. Assim pode-se concluir que o conceito do bigdata é relativamente muito fácil, mesmo sendo divergente em várias fontes, que é gerenciar um grande volume de memória em alta velocidade. O mais difícil certamente é chegar nesse objetivo, já que para isso é necessário conhecer uma gama de ferramentas, frameworks, metodologias, tipos de bancos como NOSQL, SQL e NewSQL, cache, serviço de indexação de buscas, tipos de escalabilidades, etc. Apesar de ainda ser muito discutida nas universidades, a normalização foi desenvolvida em 1970 (vale lembrar que os servidores da época possuíam 16kb de memória principal e 800kb de armazenamento e os celulares atuais são muitas vezes mais rápidos que estes servidores), ou seja, não é certo afirmar que os aplicativos, os hardwares, as necessidades de hoje são os mesmos daquela época, e com isso entender que esse padrão nem sempre é válido. Links * Bigdata from Otávio Gonçalves de Santana * https://github.com/otaviojava/introBigData [otaviojava-2.jpg] Otávio Gonçalves De Santana Otávio Santana, o otaviojava, é desenvolvedor entusiasta do mundo Open-Source. Praticante da filosofia ágil e do desenvolvimento poliglota na Bahia, JUG Leader do JavaBahia, um dos fomentadores do grupo LinguÁgil. Presente nos mai [...] O que você achou deste post? [handUp.png] Gostei (7) [handDown.png] (1) + Mais conteúdo sobre Banco de dados Todos os comentarios (2) Meus comentarios [usuariosemfoto.png] Lucas Olá, Otávio. Qual a sua opinião a respeito do uso de bigdata no serviço público? Você tem conhecimento de algum projeto em andamento ou implantado por aqui em Salvador, governo do estado ou prefeitura? Não conheço nenhuma iniciativa, mas reconheço a extrema necessidade e o grande atraso em relação à modernização do serviço público na Bahia. [há 4 dias] - Responder [otaviojava-2.jpg] [autor] Otávio Gonçalves De Santana Olá Lucas tudo bem? Acredito que o problema da modernização do serviço público seja algo nacional infelizmente. O uso é imenso! Vai depender de onde ele seria empregado. É possível, por exemplo, realizar uma análise dos gastos públicos, notas fiscais, licitação, etc. para verificar indícios de corrupção nesses gatos. E por ai vai. [há 4 dias] - Responder Publicidade [banner-1-gif.gif] Mais posts * Revista Revista SQL Magazine 137 * Artigo Introdução ao IBM Netezza * Artigo Oracle Optmizer: Como otimizar um banco de dados * Artigo Oracle TKPROF: Análise de testes de performance * Artigo Como criar scripts DDL com PL/SQL: Conceitos e aplicações práticas * Artigo Apache Spark SQL: Como manipular grandes quantidades de dados Listar mais conteúdo DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar! Anuncie | Loja | Publique | Assine | Fale conosco * * * * DevMedia Hospedagem web por Porta 80 Web Hosting