segunda-feira, 22 de setembro de 2014

EVOLUÇÃO DA ARMAZENAGEM DE DADOS

Nos primórdios do armazenamento de dados, em meados da década de 40, eram utilizados cartões perfurados e fitas de papel perfurado e anos mais tarde começaram a ser introduzidos os primeiros meios magnéticos de armazenagem que tinham a capacidade de 1 bit.

Posteriormente, em 1951 foi produzido o primeiro computador com armazenagem de dados em fitas magnéticas. E somente 10 anos depois, o primeiro disco rigido surgiu, seguido pelo diodo de laser em 1962, que levaria depois ao desenvolvimento dos dispositivos de leitura óptica. As primeiras unidades removíveis de disco de armazenamento surgiram em 1963. E, finalmente, em 1967, a IBM criou os chips de memória monolíticos semicondutores.

O disquete foi inventado em torno de 1970. De acordo com o site USByte.com, ele foi inventado em 1970 mas, conforme relatado pela CS Exhibitions, essa tecnologia foi criada por Alan Shugart da IBM em 1971. Em 1977, a Sony, a Mitsubishi e a Hitachi trabalharam juntas para desenvolver os discos digitais ópticos de áudio, ou DADs. E em 1978, a Phillips lançou uma versão menor do DAD. A partir dessas invenções é que foi desenvolvido o CD moderno.
No início da década de 80 houve o lançamento dos CDs e CD-ROMs. A IBM comprou o primeiro disco rígido no mercado em 1983, e no início da década de 90, a RAID (redundant array of inexpensive disks — matriz redundante de discos baratos) foi introduzida no mercado. O armazenamento de dados nos discos rígidos se tornou padrão. Em meados da década de 90, desenvolveu-se os cartões compactos flash e os cartões de memória. Em 1998, a invenção da unidade flash USB (pen drives) abriu um novo mundo de opções de armazenagem. (ehow).
Hoje, o pensamento e as ações são voltados para a armazenagem biológica. Diversos pesquisadores pelo mundo já tem se dedicado a diferentes formas de armazenamento de dados com base biológica.

Dois pesquisadores, George Church e Sri Kosuri, da Universidade Harvard, prometem e já demonstraram uma maneira de guardar até 700 TB (ou aproximadamente 700 mil gigabytes, se preferir) em apenas 1 grama de DNA.
Em sua técnica, os estudiosos criaram uma maneira de converter os dados digitais para a linguagem biológica, em que os números binários passam a ter correspondentes entre os pares das sequencias de DNA. Dessa maneira, o número 1 passa a ser identificado pelas sequências A e C, enquanto os 0 por T e G.Como uma única célula de DNA pode armazenar até 220 milhôes de pares, seu potencial de armazenamento é gigantesco para os padrôes atuais. “A densidade teórica de armazenamento do DNA é tão alta que apenas 4 gramas dele poderiam armazenar 1,8 zettabytes, o total de dados que existiam no mundo em 2009″, explica Kosuri.
Creio que ainda deva levar algum tempo para isso se torne algo possivel e usual para nós, meros mortais.

Até breve. 

DADOS, INFORMAÇÃO E CONHECIMENTO

Como vimos anteriormente, dado é tudo aquilo que se refere a valores apresentados de maneira digital, não necessariamente de forma organizada, por exemplo o número 1. Quando eu apenas apresento o numeral sem qualquer referencia sobre ele, ele é um dado, mas a partir do momento que organizo este dado e acrescento referencias ao valor apresentado inicialmente, ele passa a ser uma informação, como por exemplo 1º semestre da UFS. Estes detalhes adicionados ao primeiro valor sugerem agora a uma gama de informações implícitas e que ao se obter o conjunto destas informações e de outras possíveis , se forma o conhecimento.

Este é o resumo básico de como definir a diferença entre dados, informação e conhecimento.

DADO = DADO
DADO + DADO = INFORMAÇÃO
INFORMAÇÃO + INFORMAÇÃO = CONHECIMENTO
Neste calculo simplificado, os dados são a parte menor que quando são organizados em conjuntos de dados agregando referencias e mais dados. formam as informações e que por sua vez quando acrescidas de outras informações e de maneira também organizadas, se apresentam em conhecimento.


Dados e sua Importancia

O que são dados?

Segundo o site Wikipédia, dados são um conjunto de informações podendo ser organizadas ou não, informações qualitativas, quantitativas, categóricas ou indefinidas.

Mais profundo que isso, cada ciência trata Dados de acordo com sua características distintas. Por exemplo, na Ciência da Computação Dado e a menor informação fornecida ou processada por um computador, logo, Dados são um conjunto de informações.

Saindo deste critério de definição, podemos dizer que dados são por exemplos todas as informações que colocamos ou que temos disponíveis na nossa conta de e-mail, ou as fotos que postamos.
Porém dados podem ter um grau de importância muito maior, principalmente quando estes dizem respeito a questão de segurança, tais como as informações apresentadas pelo usuário para acesso ao internet banking. Mas não só do lado de cá da telinha, mas principalmente do outro lado onde existem empresas especializadas em fazer administração de dados, armazenamento de dados, backup de dados, recuperação de dados, criação de banco de dados, conversão de banco de dados ou ainda conversação de banco de dados diferentes, entre outros.
O universo digital já é tão vasto quanto o real e continua se expandindo. Estudo da EMC, empresa líder do mercado internacional de armazenamento de dados, divulgado ontem, revela que já existem disponíveis hoje no mundo quase 1 septilhão de bits de informação — ou o número 1 seguido de 24 zeros, total similar ao de estrelas conhecidas no céu, segundo a Agência Espacial Europeia. A estimativa é que, até 2020, o número de dados armazenados em computadores, servidores, celulares, smartphones e tablets seja, no mínimo, multiplicado por seis; um volume tão gigantesco, que os especialistas passaram a medi-lo em termos de distância da Terra à Lua. (O Globo)
Read more: http://oglobo.globo.com/sociedade/tecnologia/estudo-da-emc-preve-que-volume-de-dados-virtuais-armazenados-sera-seis-vezes-maior-em-2020-12147682#ixzz3E57GPpSN

Até mais!

Diferenças entre compiladores e interpretadores

Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível para um código que o computador (a máquina) interprete. Este tradutor tem a função de traduzir uma linguagem abstrata para uma linguagem binária.


Compilador:

Compilador é um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessária de compilação para sua execução) ao ser compilado gera outro código que é interpretado pelo computador. Este código compilado é chamado de código objeto, podendo ser um arquivo executável que é reproduzido em um sistema operacional, por exemplo. Este tipo de tradutor é um dos mais utilizados. 

Os compiladores analisam o código em três partes, de forma sintática ou hierárquica, análise léxica ou linear e anâlise semântica.

Alguns compiladores contam com um pré-processamento. Este pré-processamento é responsável por modificar o código-fonte conforme necessidades que o compilador identifique que sejam necessárias, por exemplo, otimização de código.


Interpretador:

O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.

O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.





Boa Tarde,

Gostaria de pedir desculpas aos meus colegas e com o Prof. Douglas. Estarei agora atualizando minhas postagens e me regularizando com tds e com a disciplina. Para tal farei uma sequencia de  postagens durante td a tarde.

Grato a tds desde já!
Erwin Camara

Privacidade em tempos de Big Data

Olá amigos,

Que tal um momento de reflexão?!
Com tantas informações pessoais na internet, a privacidade acaba sendo uma grande preocupação.
Leiam o texto e não esqueçam de comentar.

Boa leitura.

------------------------------------------------------------------------------------------------------------------------

Privacidade em tempos de Big Data

ctaurion Visits (4028)

0 people like this
Indiscutivelmente que hoje geramos quintilhões de dados por dia e, queiramos ou não, estamos sob constante vigilância. Sabemos que nossas ações são monitoradas quando usamos nossos cartões de crédito, quando usamos nossos celulares e smartphones, quando fazemos buscas na Web ou quando acessamos um site. No Rio de Janeiro, por exemplo, estima-se que exista cerca de 700 mil câmeras instaladas nas ruas, prédios, condomínios, bancos, supermercados etc, que de alguma forma gravam nosso dia a dia. O Facebook armazena, em média, cerca de 111 MB de informações sobre seus usuários.
Big Data, social media e algoritmos preditivos abrem um novo campo de discussão sobre privacidade. Toda tecnologia é neutra por si, o uso que fazemos dela é que pode ser positiva ou negativa. Uma empresa pode usar a imensidão de dados que dispõe sobre seus clientes para uma promoção que melhora significativamente a experiência de seus clientes, como um governo com tendências ditatoriais pode usar os dados para controlar a vontade política de sua população.
Assim, nada mais natural que a questão da privacidade permeie muitas discussões sobre Big Data.
Mas, vamos analisar a questão de forma racional. Primeiro, sabemos que nem todos os dados gerados afetam a privacidade pessoal. Sensores que geram dados sobre pressão do óleo em oleodutos não carregam dados que nos afetam como pessoas. Mas, por outro lado, muitas empresas coletam dados sobre nós, mesmo quando não os cedemos voluntariamente. Por exemplo, as companhias telefônicas armazenam muitos dados sobre o uso dos dispositivos pelos seus assinantes e que podem revelar muita coisa. Vejam este video: http://www.ted.com/talks/malte_spitz_your_phone_company_is_watching.html.
imagem
Big Data, indiscutivelmente aumenta o risco de brechas na privacidade, mas a questão é se este risco é realmente preocupante ou não. Voltemos às câmeras de vídeo. Nós sabemos que elas estão por aí, mas nos acostumamos com elas. Nós colocamos voluntariamente nossos dados pessoais no Facebook ou expressamos nossa opinião no Twitter. Nós sabemos que o Google usa nossos argumentos de busca e vídeos que vemos no YouTube para nos mostrar uma propaganda que seus algoritmos achem mais adequado aos nossos interesses. Assim, o foco da discussão, no meu entender, é se os conceitos, leis, regras e soluções que governaram a questão da privacidade até hoje ainda valem. Pode ser que se o problema mudou, as soluções que usamos não façam mais sentido.

Os dados, por exemplo, que antes eram usados apenas para cumprir uma função específica, agora sabemos que podem ser usados de inúmeras outras maneiras. Um exemplo pratico: um registro de chamada telefônica era usado apenas para gerar faturamento e eventualmente refinar o posicionamento das estações radio base das operadoras. Agora podem ser usadas para prever mobilidade urbana ou para promoções especificas quando o assinante se aproxima de uma determinada loja conveniada, e assim por diante. É um novo contexto. O uso potencial das informações pessoais ultrapassa em muito o que podemos imaginar hoje. Novas utilizações para os dados coletados hoje deverão ser imaginados no futuro. Os processos atuais de “notice and consent” (aliás, alguém realmente lê os contratos de acesso a serviços da Internet como os ofertados pelas mídias sociais antes de clicar o “accept”?) não valem mais, pois o dado poderá ser usado para algo que nem sabemos que poderia ser usado. Nem as empresas que os coletam hoje.
Em tempos de Big Data temos que repensar certos paradigmas. Um exemplo interessante é o Google Street View. A opção de negar uso de imagem de uma residência obriga o Google a deixar nebulosa a imagem da casa, mas este fato indica a quem navega pelo sistema a suspeitar que ali tem algo importante, por isso está escondido. O efeito é inverso, pois atrai a curiosidade. Anonimização também não é 100% garantido. O paper abaixo mostra que devido à imensa variedade de dados públicos, é praticamente impossível conseguir-se anonimização. Leiam em http://strata.oreilly.com/2011/05/anonymize-data-limits.html.
Em tempos de Big Data nós somos a soma das nossas relações sociais (Facebook e outros) e das nossas interações e transações eletrônicas, por todos os dispositivos que fazem parte do nosso eu. Sim, um smartphone é quase que um órgão do nosso corpo. Algoritmos preditivos também podem causar impactos negativos se forem usados de forma inadequada, como por exemplo, uma empresa de seguro saúde não aceitando determinado cliente pela probabilidade dele desenvolver uma futura doença.
Big Data não é inerentemente mau ou bom. O nosso uso do imenso volume e variedade de dados é que torna a situação boa ou ruim. Algoritmos preditivos podem nos alertar de um princípio de epidemia e nos dar tempo de tomar medidas preventivas. Pode identificar uma pessoa unicamente em um grupo e assim impedir que estereótipos sejam usados para julgar determinada pessoa em um grupo étnico ou religioso. Nos ajuda a tomar decisões mais acertadas correlacionando dados que não imaginávamos que tivessem relacionamentos entre si e com isso pode mudar nossas opiniões, eliminando falsas crenças.
Por outro lado traz riscos de invasão à privacidade. E depender apenas de dados também embute riscos de ignorarmos fatores humanos, como intuição, que os algoritmos não alcançam. Não se pode quantificar e datificar tudo.
Provavelmente teremos que repensar como tratar dados e privacidade nos novos tempos do Big Data. O cientista Alex Pentland, do MIT, propõe o que ele chama de “New deal” de dados, que seriam garantias práticas de que os dados necessários dos produtos públicos estarão disponíveis, mas ao mesmo tempo não afetariam a privacidade. Para ele a chave é tratar os dados pessoais como um bem, onde as pessoas teriam seus direitos assegurados sobre seus próprios dados. Ou seja, independente de quem coletar os dados sobre você, eles lhe pertencerão e você poderá acessá-los quando quiser. Os captadores de dados agiriam como bancos, gerenciando os dados em nome de seus clientes, como os bancos fazem com seu dinheiro. É um ponto de vista bem instigante e creio que vale a pena ser estudado. A certeza que temos é que estamos vivenciando uma sociedade cada vez mais conduzida e gerenciada por dados e os conceitos de privacidade, fluídos com o tempo, começam a ser rediscutidos.
Na web tem muitos textos sobre o assunto privacidade e Big Data, e um dos que vale a pena ler é este publicado no Financial Times, por analistas do Gartner:  http://www.ft.com/intl/cms/s/0/105e30a4-2549-11e3-b349-00144feab7de.html#axzz2kYM2DSPb. Enfim, temos ainda muita discussão pela frente.


FONTE: https://www.ibm.com/developerworks/community/blogs/ctaurion/entry/privacidade_em_tempos_de_big_data?lang=en, acessado em 20/09/20

domingo, 21 de setembro de 2014

Ordenação

“A ordenação de dados é o processo de determinar a ordem na qual devem se apresentar as entradas de um tabela de modo que obedeçam à sequência citada por um ou mais de seus campos.”

Esses campos que determinam a ordem são chamados de chaves de ordenação.

Métodos de Ordenação:

Método da Bolha (Bubble Sort)

Ler várias vezes os elementos de uma lista e a cada lida passar para o topo o maior (menor) elemento.


Método da Seleção (Selection Sort)

A ordenação por seleção faz com que o menor (ou o maior) valor passe para a primeira posição, o segundo menor para a segunda posição, e assim sucessivamente.



Grafos


No modelo de armazenamento de informação do tipo grafos os elementos se interligam de forma bem geral, sem qualquer hierarquia, e sem formar necessariamente alguma sequência.



Como exemplos de sistemas de informações encarados como árvore, podem ser citados:
  • Tabelas de um projeto;
  • Sistema rodoviário de uma região;
  • Rede de computadores;
  • Fornecimento de produtos entre fábricas;

Referência: MOKARZEL, Fábio Carneiro; MOKARZEL, Nei Yoshihiro Soma. Introdução à Ciência da computação. 1ª edição. Rio de Janeiro: Elsevier, 2008.

Árvores


No modelo de armazenamento de informação do tipo árvore os elementos formam uma hierarquia paterna. Cada um dos elementos têm apenas um pai, e o pai pode ter zero ou mais filhos, mas nunca tem como filho seu ancestral.



Como exemplos de sistemas de informações encarados como árvore, podem ser citados:
  • Organograma de empresas;
  • Organização de livros e cursos;
  • Estrutura de um programa;
  • Jogos eliminatórios de um campeonato.

Referência: MOKARZEL, Fábio Carneiro; MOKARZEL, Nei Yoshihiro Soma. Introdução à Ciência da computação. 1ª edição. Rio de Janeiro: Elsevier, 2008.

Lista Linear


No modelo de armazenamento de informação do tipo lista linear, os elementos formam um sequência linear. Cada elemento tem um antecessor e um sucessor, desde que não seja nem o primeiro nem o último na sequência.


Como exemplos de sistemas de informações encarados como listas linear, podem ser citados:
  • Listas telefônicas;
  • Folhas de pagamento de empregados;
  • Livros de uma biblioteca;
  • Tabelas em geral.

Referência: MOKARZEL, Fábio Carneiro; MOKARZEL, Nei Yoshihiro Soma. Introdução à Ciência da computação. 1ª edição. Rio de Janeiro: Elsevier, 2008.

Modelos de armazenamento de informações

Há vários modelos a serem utilizados para visualizar, interpretar e armazenar um determinado sistema de informações. A natureza dessas informações e a forma como elas se interligam e se relacionam entre si determinam o modelo mais adequado. 

Os mais conhecidos são as listas lineares, as árvores e os grafos. Em todos eles, o sistema de informações é encarado como um conjunto de informações unitárias interligadas chamadas de elementos. 

Sistema homogêneo é aquele em que todos elementos são do mesmo tipo, usando uma mesma estruturação. O sistema em que isso não acontece é considerado heterogêneo. 

Referência: MOKARZEL, Fábio Carneiro; MOKARZEL, Nei Yoshihiro Soma. Introdução à Ciência da computação. 1ª edição. Rio de Janeiro: Elsevier, 2008.

Importância de uma boa estruturação de informações

Os sistemas computacionais da atualidade têm capacidade de armazenar e manipular em altíssima velocidade quantidades imensas de informações das mais diversas espécies, para as mais variadas aplicações e localizadas espalhadamente pelo planeta.
Pode ser citada como exemplo dessas informações a organização de bibliotecas.

O tempo gasto pelos sistemas computacionais para o processamento dessas informações é de suma importância para o bom atendimento aos seus usuários. Muitos deles pagam aluguel desses sistemas com custo proporcional ao tempo de utilização. Muitos programas para resolver problemas críticos devem dar resposta em tempo hábil, para que seus usuários não careçam de informações vitais.

Em informática, há muitas tarefas bem conhecidas que são grandes consumidoras de tempo, quando o universo de informações envolvidos é muito grande. Com exemplo a ordenação, classificação e pesquisa de informações.

A utilização eficiente de recursos computacionais e a consequente redução do tempo de resposta dependem de uma boa estruturação das informações e de bons algoritmos para manipulá-las Tudo está condicionado à natureza das informações e das aplicações que as utilizarão.

Referência: MOKARZEL, Fábio Carneiro; MOKARZEL, Nei Yoshihiro Soma. Introdução à Ciência da computação. 1ª edição. Rio de Janeiro: Elsevier, 2008.

Tutorial básico para entender a linguagem Perl


Pequena introdução sobre estrutura de dados


sábado, 20 de setembro de 2014

Seis cases representativos de Big Data, segundo o Gartner

Olá Amigos,

Pra conhecermos um pouco mais sobre Big Data, compartlho com vocês uma matéria do itforum365 com alguns estudos de caso.

Boa leitura.

Seis cases representativos de Big Data, segundo o Gartner*

Autor: Karen Ferraz
Fonte: Karen Ferraz Publicado em 07 de Novembro de 2013 às 16h30 
Confira iniciativas de empresas que aproveitaram dados disponíveis dentro de casa para gerar valor aos negócios

Estudo realizado pelo Gartner em março deste ano mostra que as três principais aplicações de Big Data do mercado são em marketing e vendas, performance operacional e financeira,  e inovação. Dentro dessas áreas, a empresa de pesquisa selecionou alguns casos para demonstrar aos CIOs como companhias internacionais estão fazendo uso do Big Data para gerar valor aos negócios. Os exemplos que seguem demonstram projetos realizados com análises de dados disponíveis dentro de casa, no próprio banco de dados das empresas, seja otimizando a cadeira de distribuição de produtos, oferecendo um portfólio de acordo com a necessidade dos clientes, e até mesmo enxergando oportunidades de criar novos negócios. ?A TI tem que descobrir e acompanhar quais são os business drivers de seu negócio para vislumbrar oportunidades com os dados dentro de casa e mostrar que isso pode ajudar a alcançar maior competitividade?, afirmou o vice-presidente e analista Donald Feinberg, durante apresentação no Gartner Symposium ITxpo 2013 nesta semana em São Paulo. Para os CIOs que desejam implantar projetos de Big Data, ele recomenda que comecem com iniciativas pequenas, capazes de ser implementadas de maneira rápida e mostrar resultados à presidência e, então, expandidas para experimentos maiores. Ele também recomenda a formação de um "tiger team", composto de cientistas de dados, além da criação de condições para que esse time possa trabalhar exclusivamente para o projeto. O analista João Tapadinhas acredita que as oportunidades existem, mas exigem criatividade. ?Você quer continuar a ser o BI líder dos relatórios de venda ou o BI líder que está inovando e transformando a organização com projetos como esses? Talvez vocês estejam sentados em cima de uma mina de oportunidades?, concluiu. Confira abaixo alguns dos projetos de Big Data selecionados que exemplificam como dados internos estão sendo aproveitados:
 
1 - Danone: velocidade no tratamento de dados é determinante para gerar valor aos negócios Desafio: Na indústria de alimentos, como a do iogurte Grego, o desafio é produzir e distribuir o produto com agilidade devido ao seu prazo de validade. A Danone dos Estados Unidos precisava conhecer a demanda para conseguir maximizar a venda do produto e garantir que a produção não se exceda, a fim de evitar desperdícios. A predição da demanda era feita a partir do Excel, o que não trazia funcionalidade. Projeto: A partir da solução M-Factor (agora da IBM) a empresa otimizou o processo de predição de demanda com a integração de dados históricos, regionais e de mercado com informações sobre consumidores e preços para prever vendas e promoções complementares. Resultados: melhora da previsão de demanda de 70% para 98%; conseguiram triplicar a cota de mercado do iogurte Grego a partir de análises de região e preço. 
 
2 - Macy's**: otimização da cadeia de distribuição com dados já existentes dentro de casa Desafio: a rede de lojas de departamento americana Macy?s tem que gerenciar um crescimento anual de 50% de dados de venda e inventário de mais de 73 milhões de itens, para fazer com que produtos tenham rotatividade e não fiquem parados no estoque. Projeto: com informações que já possuíam no banco de dados, utilizaram um amplo portfólio de ferramentas (como Hadoop, R, Cloudera, SAS, Vertica e Tableau) aliado à experiência de um time de cientista de dados para otimizar a cadeia de distribuição baseado em modelos analíticos. Resultados: redução do tempo gasto para fazer essas análises de preços de 27 horas para uma hora; 70% na redução de custo com hardware.
 
3 - Southern States: compreensão de necessidades de clientes permitiu maior foco no portfólio Desafio: a fabricante norte-americana de produtos agrícolas não tinha muito contato com seus clientes finais. Seu desafio era gerenciar o portfólio, que contava com oferta muito grande de produtos, para 1.200 pontos de venda distribuídos em 300 mil regiões agrícolas distribuídas em 23 estados. Projeto: por meio de ferramenta de análise geoespacial conseguiram descobrir onde estavam seus clientes, quais eram suas necessidades, suas áreas agrícolas, etc. A partir de resultados das análises, reduziram a oferta para e passaram a fornecer produtos de acordo a necessidade de seus clientes. Resultados: redução de 63% a oferta do portfólio oferecido; aumento da taxa de resposta do cliente em 34%; crescimento de 24% de margem bruta. 
 
4 - UPS: tecnologia acessível com impacto nos gastos em diversas empresas que utilizam caminhões para transporte de cargas Desafio: otimizar as rotas de trajeto feita pela sua frota caminhões e aumentar a segurança dos motoristas era o objetivo da empresa norte-americana de transporte e fretes USP. Projeto: instalação de sensores telemáticos em mais de 46 mil veículos capazes de captar dados como velocidade, direção, RPM, pressão e informações de localização. Por meio desses dados, chegaram a algoritmos de distribuição para melhor os trajetos dos caminhões e a eficiência dos motoristas. Resultados: economia de 4,8 milhões de litros de gasolina por ano; redução de manutenção e acidentes através da eliminação de 85 milhas da rota diária.  
5 - Dollar General***: uma forma inteligente de driblar os altos custos de um sistema de BI Desafio: varejista dos EUA Dollar General tinha poucas informações sobre seus consumidores, uma vez que a venda de seus produtos é realizada através de parceiros. No entanto, essas informações eram cruciais para montar estratégias de venda. Oportunidade: ao invés de construir um BI com foco interno, a companhia adicionou nesse sistemas de BI informações sobre seus parceiros (produtos, performance de cada parceiro, vendas, etc) e passou a cobrar deles pelo acesso a essas informações. Resultados: a empresa deixou de ser a única entidade responsável por aumentar as vendas do produtos, já que agora tem uma rede de parceiros inserida nesse contexto. Os benefícios são compartilhados tanto pela Dollar General (que tem seu banco de dados ?financiado?) como pelos parceiros.
 
6 - NOAA (National Oceanic and Atmospheric Administration): uma amostra de como gerar valor e até monetizar dados gerados na empresa Oportunidade: A organização pertencente ao governo dos EUA coleta anualmente 30 petabytes de dados por ano gerados a partir de 2.5 bilhões de observações atmosféricas e oceânicas diárias via satélite e outros sensores. Foi então que enxergou a oportunidade de monetizar esses dados. Projeto: através da aplicação de modelos sofisticados de predição, a organização passou a fornecer dados sobre previsão de tempo para diversos fins. Resultados: criação de diversos produtos (gratuitos e pagos) baseados nessas informações preditivas sobre o tempo para o setor público e privado; prevenção de riscos e via alertas climáticos.
 

FONTE: http://www.itforum365.com.br/noticias/detalhe/3857/seis-cases-representativos-de-big-data-segundo-o-gartner, acessado em 20/09/2014.

* Gartner é uma empresa de consultoria fundada em 1979 por Gideon Gartner. A Gartner desenvolve tecnologias relacionadas a introspecção necessária para seus clientes tomarem suas decisões todos os dias. Wikipédia
 
**Macy's é uma rede de lojas de departamentos sediada na cidade norte-americana de Nova Iorque. Foi fundada em 1851. A maior dessas lojas fica em Nova Iorque, e ocupa um quarteirão inteiro, e é apelidada de a maior loja do mundo. Wikipédia
 
***Dollar General Corporation é uma cadeia de lojas de variedades dos Estados Unidos com sede em Goodlettsville, Tennessee.  Wikipédia

quinta-feira, 18 de setembro de 2014

Tem louco pra tudo!

Quantas linguagens de programação vocês acham que existem no mundo? 10? 30? 50? 100? Inocente... Existem cerca de 1500 linguagens de programação existentes! E como existe maluco pra tudo no mundo, três deles se uniram e criaram um site que utiliza essas 1500 linguagens para fazer a mesma coisa: imprimar a música "99 garrafas de cervejas"
No site http://99-bottles-of-beer.net/ você pode visualizar como seria a impressão dessa música em todos essas linguagens


A primeira aqui é fácil e acredito que todos vão conseguir entender:


JAVA


/* the main method instantiates drinkers and directs them to
   a newly-instantiated wall of beer.
*/
public class Sing99Bob {
  public static void main(String[] args) {
    ((NeedToFindBeer)(new Drinkers())).pointAtBeer(new WallOfBeer());
  }
}

  interface NeedToFindBeer { void pointAtBeer(WallOfBeer wob); }

  /* an instance of Drinkers, after being pointed at a wall containing
     beer, will periodically take one down.  The singing is driven by
     the taking of the beer.
  */
  class Drinkers extends Thread implements NeedToFindBeer {
    static final int drinkRate = 2;
    WallOfBeer ourBeer;
    public void run() {
      while (ourBeer.takeOne()>0) {
       try { Thread.sleep(drinkRate*1000); } catch (InterruptedException ignore) {}
      }
    }
    public void pointAtBeer(WallOfBeer wob) {
      ourBeer = wob;
      this.start();
    }
  }

  interface Countable { int howMany(); }

  /* an instance of a WallOfBeer will maintain a count of the
     beer bottles.  The wall has an associated Narrator who
     reports each time the number of bottles is changed.
  */
  class WallOfBeer implements Countable {
    static final int full = 99;
    int count = 0;
    WallWatcher ww;
    {
      ww = new Narrator();
      putSome(full);
    }
    void putSome(int some) {
      count += some;
      if (ww!=null) ww.wallEvent(this);
    }
    int takeOne() {
      count--;
      if (ww!=null) ww.wallEvent(this);
      return count;
    }
    public int howMany() { return count; }
  }

  interface WallWatcher { void wallEvent(Countable wob); }

  /* an instance of Narrator sings the verse each time it is
     notified that something has happened to the wall.  This
     narrator attempts to be grammatical, and uses words for
     the bottle count (singers sing words not numerals). The
     singing is paced, not merely lump-dumped to sysout.
  */
  class Narrator implements WallWatcher {
    static final int singspeed = 500;
    public void wallEvent(Countable wob) {
      int b = wob.howMany();
      try {
        System.out.print(bob(b, true)+onwall+", ");
        Thread.sleep(singspeed);
        System.out.print(bob(b, false)+".\n");
        Thread.sleep(singspeed);
        System.out.print((b>0)?takedown:gostore);
        Thread.sleep(singspeed);
        System.out.print((b>0)?bob(b-1, false):bob(WallOfBeer.full, false));
        System.out.print(onwall+".\n");
      } catch (InterruptedException ignore) {}
    }
    static final String bob(int i, boolean c) {
      String word = word(i);
      if (c) word = (word.substring(0, 1).toUpperCase())+word.substring(1);
      return word+" bottle"+((i==1)?"":"s")+" of beer";
    }
    static final String word(int i) {
      if (i==0) return "no more";
      if (i<20) return units[i];
      return tens[i/10]+((units[i%10]=="")?"":"-"+units[i%10]);
    }
    static final String
      onwall = " on the wall",
      takedown = "Take one down and pass it around, ",
      gostore = "Go to the store, get some more, ";
    static final String[]
      tens = {"", "", "twenty", "thirty", "forty",
              "fifty", "sixty", "seventy", "eighty", "ninety"},
      units = {"", "one", "two", "three", "four", "five", "six", "seven",
               "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen",
               "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
  }

Mas que tal dar uma olhadinha na linguagem PERL?


   ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';
Pouquinho mais difícil não é?
Quem tiver curiosidade posse passar algum tempinho vendo 1500 maneiras de fazer a mesma coisa!




quarta-feira, 17 de setembro de 2014

10 linguagens de programação mais populares - Parte 2



Agora o top 5 de linguagens de programação mais populares!


5. C#
O C# (ou C Sharp) é uma linguagem de programação multi-paradigma que inclui muita disciplina de programação como o Strong Typing, a orientação funcional e genérica a objectos (com classes) e a orientação a componentes. Foi desenvolvida e lançada pela Microsoft em 2000, como parte da
iniciativa .NET. A sua sintaxe orientada a objectos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e Java.
Faixa salarial: R$ 3.000,00 a R$ 6.00,00 (Fonte: Catho)


4. C++
É considerada a referência na programação orientada a objectos. Considerada de médio nível, por combinar características de linguagens de alto e baixo níveis, é desde os anos 90 uma das linguagens comerciais mais populares, sendo bastante utilizada nos meios académicos pelo seu grande desempenho e larga base de utilizadores. Foi criada por Bjarne Stroustrup (originalmente com o nome C com Classes) em 1983 no Bell Labs como um adicional à linguagem C. Como curiosidade saibam que o sistema operativo Windows é desenvolvido em C++.
Faixa salarial: R$ 2.000,00 a R$ 4.500,00 (Fonte: Catho)


3. Objective-C
O Objective-C, frequentemente apelidado de ObjC, é uma linguagem de programação reflexiva orientada a objectos que adiciona transmissão de mensagens no estilo Smalltalk para o C. É a principal linguagem de programação utilizada nos sistemas operativos OS-X e iOS e na suas respectivas APIs, Cocoa e Cocoa Touch. Desenvolvida originalmente no inicio dos anos 80 por Brad Cox e Tom Love, foi a principal linguagem utilizada pela NeXT para o seu sistema NeXTSTEP, de onde derivaram os sistemas da Apple.
Faixa salarial: R$ 2.000,00 a R$ 6.000,00 (Fonte: Catho)


2. Java

Desenvolvida por James Gosling na Sun Microsystems (agora parte do grupo ORACLE) foi lançada em 1995 e desde então é das linguagens de programação mais populares nas aplicações web cliente-servidor.Desenhada para ter o menor número possível de dependências, é diferente das linguagens mais convencionais por não ser compilada para código nativo, mas para um bytecode que é executado numa máquina virtual – Java virtual Machine. As aplicações Java seguem a regra “write once run anywhere” (WORA), não sendo necessário compilar o código em cada máquina individualmente.
Faixa salarial: R$ 2.000,00 a R$ 4.000,00 (Fonte: Catho)


1. C

A linguagem C é na nossa opinião (e de muitos) a mais popular até esta data, seja no seu estado nativo ou pelas influências que teve em muitas das outras linguagens. Desenvolvida entre 1969 e 1973 por Dennis Ritchie nos laboratórios Bell é uma linguagem que é suportada por praticamente todas as arquitecturas de computador, e muito utilizada no desenvolvimento de drivers e de outro software complexo. O sistema operativo UNIX é o melhor software desenvolvido em C. Sendo uma linguagem complexa e de difícil aprendizagem, os que a dominam conseguem explorar outras linguagens com uma sintaxe similar (Java, C++, PHP, C#, etc.) como se fosse uma brincadeira de crianças!
Faixa salarial: R$ 2.000,00 a R$ 4.000,00 (Fonte: Catho)

domingo, 7 de setembro de 2014

5 cidades que usam big data para melhorar vida dos moradores

Olá amigos,

Hoje compartilho com vocês o exemplo de algumas cidades que usam Big Data em seu dia-a-dia.

Boa leitura.

Tecnologia é usada ao redor do mundo também para auxiliar o cotidiano da população

 

 

Dublin
Dublin, Irlanda

Dublin

A prefeitura fez um acordo com a IBM para entender o problema do congestionamento e da lotação de seu serviço de transporte público.
Pesquisadores da gigante americana utilizam dados de uma série de fontes, como câmeras de monitoramento, GPS de ônibus e tabelas de horários, para criar um panorama digital do trânsito da capital irlandesa.

Com esse mapa, será possível que operadores identifiquem pontos críticos de congestionamento e trabalhem alternativas.




Birmingham
Birmingham, Inglaterra

Birmingham

A falta de precisão meteorológica pode ser minimizada a partir da análise de grandes volumes de dado. A cidade de Birmingham lançou um projeto em que instalou uma série de sensores em postes de luz da cidade.
Esses equipamentos medem diversos índices e os transmitem às centrais de meteorologia. Com informações mais precisas de cada localidade, é possível traçar um mapa mais completo e confiável para os moradores.



Seattle
Seattle, EUA

Seattle

O laboratório Senseable City Lab, do MIT, convidou 500 pessoas para etiquetarem seu lixo com tags eletrônicas. Ao todo, cerca de 5 mil pedaços de dejetos foram rastreados em seu caminho pelos Estados Unidos ao longo de três meses.
Com esse grande volume de dados reunidos, os pesquisadores obtiveram uma base para iniciar um estudo de logística e melhoria do fluxo do lixo produzido na cidade.











 

Bamberg
Bamberg, Alemanha

 Bamberg

Com a preocupação dos moradores em torno da construção de uma linha de trem de alta velocidade, a prefeitura recorreu à visualização digital de grande volume de dados.
Em parceria com a Autodesk, as autoridades de Bamberg montaram um modelo de como a construção, inclusive suas barreiras de som, manteriam preservadas as construções históricas do município alemão. Essa estratégia pode ser utilizada também para planejar investimentos, por exemplo.


Boston
Boston, EUA

 Boston

O governador Deval Patrick lançou no fim de 2012 um projeto chamado “A Iniciativa Big Data” que construiu um espaço hacker chamado Hack/Reduce.
Nesse prédio, computadores foram colocados à disposição de qualquer profissional ou empreendedor interessado em processar grandes volumes de dados.
A ideia era atrair talentos para usar essa infraestrutura para explorar informações fornecidas pela cidade, de maneira a melhorar serviços no município.




Fonte: http://exame.abril.com.br/tecnologia/noticias/5-cidades-que-usam-big-data-para-melhorar-vida-dos-moradores#1, acessado em 29/08/2014.

sexta-feira, 29 de agosto de 2014

"Big data é inútil sem boas perguntas", Andreas Weigend

Olá amigos!
Achei esta entrevista interessante e compartilho com vocês.

O curioso foi que essa entrevista veio depois da leitura de um outro artigo publicado no blog "E AGORA DBA?" que falava da diferença entre uma amostra estatística e o Big Data.
Por limitações físicas, a estatística sempre se baseou no estudo de uma amostra para tentar determinar (e prever) o comportamento do todo (população). Em tempos anteriores, dificilmente um estatístico tinha acesso a dados de toda a população que ele gostaria de estudar. Então, para obter a informação desejada, recorria a pesquisas de mercado ou amostras menores de dados e aplicava diversas técnicas estatísticas para identificar e eliminar vieses ou amostras pouco representativas.

O estudo de amostra também limita o estatístico a generalizar sobre a população, ter uma ideia geral do comportamento dela, o que invariavelmente impossibilita a obtenção de informação sobre grupos mais específicos (exemplo, o comportamento de compra de mulheres grávidas que darão a luz em Agosto) pois eles provavelmente não estão "significativamente" representados na amostra.

A quebra de paradigma do Big Data está justamente no tamanho da amostra. Com muitos dados sendo gerados sobre as atividades e recursos de hardware baratos para processa-los, podemos ter como amostra uma população toda!
Felipe Antunes (http://agoradba.blogspot.com.br/2013/04/o-que-e-bigdata.html)
A amostra sobre uma população, se assemelharia ao censo, com a diferença que no censo, há perquntas definidas e respostas esperadas e no Big Data, você já tem as respostas, mas precisa formular as perguntas, para que as repostas tenham sentido.

Boa leitura!

"Big data é inútil sem boas perguntas", diz especialista

Entrevista | 20/05/2014 06:00

Ex-cientista chefe da Amazon e um dos responsáveis pelas sugestões do site, o professor Andreas Weigend diz que mesmo com big data as pessoas é que fazem diferença

Andreas Weigend, ex-cientista chefe da Amazon e professor da Universidade de Stanford
Andreas Weigend, ex-cientista chefe da Amazon e professor da Universidade de Stanford

São Paulo – Ao andar pelos corredores de um hotel na zona sul de São Paulo, Andreas Weigend chama a atenção. “Não são aqueles óculos lá?”, uma pessoa pergunta a outra. Weigend usa um par de Google Glass em frente aos olhos.

Ex-cientista chefe da Amazon, Weigend foi um dos responsáveis pela área de recomendação de produtos da Amazon.com. Hoje, é professor da Universidade de Stanford (onde os fundadores do Google se formaram) e da Escola de Negócios Cheung Kong, na China. Além disso, dá consultoria para grandes empresas como a chinesa Alibaba.
O cientista é especialista em Big Data. A tecnologia se trata de análise de enormes quantidades de dados complexos e não estruturados para obter informações que não seriam possíveis de outra forma. A tecnologia vem sendo usada em campos completamente diferentes. Desde comércio, até análise de saúde e de educação. Weigand falou a EXAME.com durante sua recente visita ao Brasil para palestrar no VTEX Day (evento da VTEX, empresa brasileira de comércio eletrônico). Veja os melhores trechos da entrevista:

EXAME.com - Podemos dizer que com o Big Data toda decisão será completamente fundamentada?
Andreas Weigand - De certa forma sim. No futuro, qualquer decisão tomada por uma empresa poderá ser apoiada em dados, números e informações obtidas usando técnicas de Big Data. Mas as informações não são nada sem alguém que faça uma pergunta.

EXAME.com - Então as melhores empresas serão aquelas com quem faz as perguntas certas?
Weigand - Sem sombra de dúvida. Uma vez que todos podem extrair os números, isso não será mais um diferencial. Não é possível ter os números certos de saída. Antes de se extrair a informação, é preciso ter uma pergunta, um objetivo. Somente depois disso se obtém alguma coisa dos números.

EXAME.com - As pessoas ainda serão a parte importante e não a tecnologia em si?
Weigand - Sim. Mesmo depois de se extrair uma informação, é preciso tomar uma decisão. Traçar um plano com tudo aquilo que as técnicas de Big Data proporcionam. E todas essas decisões serão tomadas por pessoas. Nós continuaremos sendo muito importantes, não haverá uma inversão no papel da máquina e da pessoa.

EXAME.com - Dentro comércio eletrônico, a área que o senhor trabalhava, o que o Big Data significa?
Weigand - De maneira geral, significa melhores margens. Se você conhece uma pessoa, sabe o que ela comprou no passado, pelo que ela se interessa, e tudo isso vai trazer melhores margens. Mas eu acredito que a grande pergunta que a grande pergunta nessa discussão é: qual relação o cliente deseja ter com o varejista? O cliente não quer ter um relacionamento, quer apenas que o serviço seja feito. Mas com a tecnologia, alguns conceitos mudam e o mundo não vem mudando com a mesma velocidade.

EXAME.com - Que tipo de coisa não vem mudando?
Weigand - Nossos conceitos, nossas leis, nossas regras. Em Stanford, por exemplo, as regras da universidade não permitem que nada seja gravado sem uma autorização que deve ser pedida com duas semanas de antecedência. Mas os alunos estão com smartphones, estão coletando os dados quase que em tempo integral. Eu pedi aos alunos em uma aula que fizessem um perfil no LinkedIn, para estudar redes. Depois descobri que eu estava infringindo as regras. Eu não poderia pedir aos alunos para usar um software ou serviço que não fosse desenvolvido pela universidade.

EXAME.com - Isso é curioso. Principalmente porque pensamos em Stanford como um lugar à frente do nosso tempo.
Weigand - Exatamente. Mas a sociedade em geral é presa em conceitos atrasados. Pegue por exemplo a fotografia. Há algumas décadas, ela era algo especial. Quando havia um casamento, as pessoas tiravam fotos. Depois todo mundo começou a ter câmeras e hoje elas estão nos nossos bolsos. Mas com as redes sociais, nós não sabemos mais como lidar com isso muito bem. Uma foto no Facebook pode ser usada fora de lá? Quem é dono daqueles dados? E esse tipo de relação acontece com qualquer dado que geramos.

EXAME.com - É preciso um debate maior em torno disso?
Weigand - Sim. Mas a questão é que nosso dia tem apenas 24 horas. Então nós precisamos escolher sobre o que queremos discutir. Mas isso é visível no caso Snowden. As pessoas se chocaram com o fato de que dados estavam sendo coletadas. Eu, na verdade, fiquei chocado com o fato de que as pessoas possam se chocar com isso.

EXAME.com - Hoje já temos muitos dados sendo captados e isso deve aumentar com a computação vestível. Seremos capazes de lidar com tanta informação?
Weigand - Sim. Eu acredito que será parecido com como as coisas são hoje. Continuaremos com muitos dados para serem analisados, mas essa análise não valerá para nada, se não for colocada em ação. É preciso ter boas perguntas e usar as informações de forma valiosa depois. Áreas como saúde, comércio, educação ou ambientes urbanos, tudo isso poderá ser melhorado usando informações extraídas de dados.

 Fonte: http://exame.abril.com.br/tecnologia/noticias/big-data-e-inutil-sem-boas-perguntas-diz-especialista?page=1, acessado em 28/08/2014.

O QUE É BIG DATA? Parte 3-3

Olá amigos,

 Finalizando o post, vamos abordar as soluções de BIG DATA e conhecer sobre o Hadoop, uma plataforma open source desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados.
Vocês poderão se aprofundar um pouco mais sobre o tema BIG DATA visitando os links no final deste post.

Boa leitura!

 Soluções de Big Data


Além de lidar com volumes extremamente grandes de dados dos mais variados tipos, soluções de Big Data também precisam trabalhar com distribuição de processamento e elasticidade, isto é, suportar aplicações com volumes de dados que crescem substancialmente em pouco tempo.

O problema é que os bancos de dados "tradicionais", especialmente aqueles que exploram o modelo relacional, como o MySQL, o PostgreSQL e o Oracle, não se mostram adequados a estes requisitos, já que são menos flexíveis.

Isso acontece porque bancos de dados relacionais normalmente se baseiam em quatro propriedades que tornam a sua adoção segura e eficiente, razão pela qual soluções do tipo são tão populares: Atomicidade, Consistência, Isolamento e Durabilidade. Esta combinação é conhecida como ACID, sigla para o uso destes termos em inglês: Atomicity, Consistency, Isolation e Durability. Vejamos uma breve descrição de cada uma:

  • Atomicidade: toda transação deve ser atômica, isto é, só pode ser considerada efetivada se executada completamente;
  • Consistência: todas as regras aplicadas ao banco de dados devem ser seguidas;
  • Isolamento: nenhuma transação pode interferir em outra que esteja em andamento ao mesmo tempo;
  • Durabilidade: uma vez que a transação esteja concluída, os dados consequentes não podem ser perdidos.

O problema é que este conjunto de propriedades é por demais restritivo para uma solução de Big Data. A elasticidade, por exemplo, pode ser inviabilizada pela atomicidade e pela consistência. É neste ponto que entra em cena o conceito de NoSQL, denominação que muitos atribuem à expressão em inglês "Not only SQL", que em tradução livre significa "Não apenas SQL" (SQL - Structured Query Language - é, em poucas palavras, uma linguagem própria para se trabalhar com bancos de dados relacionais).

O NoSQL faz referência às soluções de bancos de dados que possibilitam armazenamento de diversas formas, não se limitando ao modelo relacional tradicional. Bancos do tipo são mais flexíveis, sendo inclusive compatíveis com um grupo de premissas que "compete" com as propriedades ACID: a BASE (Basically Available, Soft state, Eventually consistency - Basicamente disponível, Estado Leve, Eventualmente consistente).

Não é que bancos de dados relacionais tenham ficado ultrapassados - eles são e continuarão por muito tempo sendo úteis a uma série de aplicações. O que acontece é que, geralmente, quanto maior um banco de dados se torna, mais custoso e trabalhoso ele fica: é preciso otimizar, acrescentar novos servidores, empregar mais especialistas em sua manutenção, enfim.

Via de regra, escalar (torná-lo maior) um bancos de dados NoSQL é mais fácil e menos custoso. Isso é possível porque, além de contar com propriedades mais flexíveis, bancos do tipo já são otimizados para trabalhar com processamento paralelo, distribuição global (vários data centers), aumento imediato de sua capacidade e outros.

Além disso, há mais de uma categoria de banco de dados NoSQL, fazendo com que soluções do tipo possam atender à grande variedade de dados que existe, tanto estrurados, quanto não estruturados: bancos de dados orientados a documentos, bancos de dados chave/valor, bancos de dados de grafos, enfim.

Exemplos de bancos de dado NoSQL são o Cassandra, o MongoDB, o HBase, o CouchDB e o Redis. Mas, quando o assunto é Big Data, apenas um banco de dados do tipo não basta. É necessário também contar com ferramentas que permitam o tratamento dos volumes. Neste ponto, o Hadoop é, de longe, a principal referência.

Exemplos de bancos de dados noSQL: Cassandra, MongoDB, HBase, CouchDB e Redis
Exemplos de bancos de dados noSQL: Cassandra, MongoDB, HBase, CouchDB e Redis

  O que é Hadoop?


O Hadoop é uma plataforma open source desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados. O projeto é mantido pela Apache Foundation, mas conta com a colaboração de várias empresas, como Yahoo!, Facebook, Google e IBM.

Pode-se dizer que o projeto teve início em meados de 2003, quando o Google criou um modelo de programação que distribui o processamento a ser realizado entre vários computadores para ajudar o seu mecanismo de busca a ficar mais rápido e livre da necessidades de servidores poderosos (e caros). Esta tecnologia recebeu o nome de MapReduce.

Alguns meses depois, o Google apresentou o Google File System (GFS), um *sistema de arquivos especialmente preparado para lidar com processamento distribuído e, como não poderia deixar de ser no caso de uma empresa como esta, grandes volumes de dados (em grandezas de terabytes ou mesmo petabytes).

*Em poucas palavras, o sistema de arquivos é um conjunto de instruções que determina como os dados devem ser guardados, acessados, copiados, alterados, nomeados, eliminados e assim por diante.

Em 2004, uma implementação open source do GFS foi incorporada ao Nutch, um projeto de motor de busca para a Web. O Nutch enfrentava problemas de escala - não conseguia lidar com um volume grande de páginas - e a variação do GFS, que recebeu o nome Nutch Distributed Filesystem (NDFS), se mostrou como uma solução. No ano seguinte, o Nutch já contava também com uma implementação do MapReduce.

Na verdade, o Nutch fazia parte de um projeto maior: uma biblioteca para indexação de páginas chamada Lucene. Os responsáveis por estes trabalhos logo viram que o que tinham em mãos também poderia ser usado em aplicações diferentes das buscas na Web. Esta percepção motivou a criação de outro projeto que engloba características do Nutch e do Lucene: o Hadoop, cuja implementação do sistema de arquivos recebeu o nome de Hadoop Distributed File System (HDFS).

O Hadoop é tido como uma solução adequada para Big Data por vários motivos:

- É um projeto open source, como já informado, fato que permite a sua modificação para fins de customização e o torna suscetível a melhorias constantes graças à sua rede de colaboração. Por causa carcterística, vários projetos derivados ou complementares foram - e ainda são - criados;

- Proporciona economia, já que não exige o pagamento de licenças e suporta hardware convencional, permitindo a criação de projetos com máquinas consideravelmente mais baratas;

- O Hadoop conta, por padrão, com recursos de tolerância a falhas, como replicação de dados;

- O Hadoop é escalável: havendo a necessidade de processamento para suportar uma quantidade maior de dados, é possível acrescentar computadores sem necessidade de realizar reconfigurações complexas no sistema.

É claro que o Hadoop pode ser usado em conjunto com bancos de dados NoSQL. A própria Apache Foundation mantém uma solução do tipo que é uma espécie de subprojeto do Hadoop: o já mencionado banco de dados HBase, que funciona atrelado ao HDFS.

O Hadoop, é bom frisar, é a opção de maior destaque, mas não é a única. É possível encontrar outras soluções compatíveis com NoSQL ou que são baseadas em Massively Parallel Processing (MPP), por exemplo.


Finalizando


Não podemos considerar as soluções de Big Data como um arsenal computacional perfeito: sistemas do tipo são complexos, ainda desconhecidos por muitos gestores e profissionais de TI e a sua própria definição ainda é passível de discussão.

O fato é que a ideia de Big Data reflete um cenário real: há, cada vez mais, volumes de dados gigantescos e que, portanto, exigem uma abordagem capaz de aproveitá-los ao máximo. Apenas para dar uma noção deste desafio, a IBM divulgou no final de 2012 que, de acordo com as suas estimativas, 90% dos dados disponíveis no mundo foram gerados apenas nos dois anos anteriores. Diante deste ponto de vista, é um tanto quanto precipitado encarar a expressão "Big Data" como uma mero "termo da moda".

Para saber mais sobre o assunto, você pode consultar os links que serviram de referência para este texto:


Escrito por - Escrito em 13_03_2013 - Atualizado em 13_03_2013

Fonte: http://www.infowester.com/big-data.php acessado em 01/08/2014