terça-feira, 25 de dezembro de 2012

Você realmente sabe o que é Big Data?


Reportagem original: IBM DevelopersWorks

O termo Big Data está cada vez mais popular, embora ainda esteja mal compreendido. Observo em muitas palestras que não existe consenso quanto a que realmente é Big Data e quais as tecnologias fundamentais que o sustentam. E mais ainda, existem muitas dúvidas de como tangibilizar o conceito, ou seja, como sair do conceitual e criar soluções de negócio que agreguem valor para as companhias.

Eliminar estas dúvidas é essencial e o primeiro passo para as empresas se aventurarem em projetos Big Data.


Para colocarmos o termo em contexto, Big Data vem chamando atenção pela acelerada escala em que volumes cada vez maiores de dados são criados pela sociedade. Já falamos comumente em petabytes de dados gerados cada dia, e zetabytes começa a ser uma escala real e não mais imaginária e futurista. O que era futuro há uma década, terabytes, hoje nós já temos nas nossas próprias casas.
As tecnologias que sustentam Big Data podem ser analisadas sob duas óticas: as envolvidas com analytics, tendo Hadoop e MapReduce como nomes principais e as tecnologias de infraestrutura, que armazenam e processam os petabytes de dados. Neste aspecto, destacam-se os bancos de dados NoSQL (No, significa not only SQL). Por que estas tecnologias? Por que Big Data é a simples constatação prática que o imenso volume de dados gerados a cada dia excede a capacidade das tecnologias atuais de os tratarem adequadamente.
Começando pelo início. O que é Big Data? Outro dia escrevi um post com uma fórmula simples para conceitualizá-lo. Big Data = volume + variedade + velocidade. Hoje adiciono mais dois “V”s: veracidade e valor. Vamos detalhar estes tópicos um pouco mais.
Volume está claro. Geramos petabytes de dados a cada dia. E estima-se que este volume dobre a cada 18 meses. Variedade também, pois estes dados vêm de sistemas estruturados (hoje minoria) e não estruturados (a imensa maioria), gerados por e-mails, mídias sociais (Facebook, Twitter, YouTube e outros), documentos eletrônicos, apresentações estilo Powerpoint, mensagens instântaneas, sensores, etiquetas RFID, câmeras de vídeo, etc.
Velocidade porque muitas vezes precisamos agir praticamente em tempo real sobre este imenso volume de dados, como em um controle automático de tráfego nas ruas. Veracidade porque precisamos ter certeza que os dados fazem sentido e são autênticos. E valor porque é absolutamente necessário qua a organização que implementa projetos de Big Data obtenha retorno destes investimentos. Um exemplo poderia ser a área de seguros, onde a análise de fraudes poderia ser imensamente melhorada, minimizando-se os riscos, utilizando-se, por exemplo, de análise de dados que estão fora das bases estruturadas das seguradoras, como os dados que estão circulando diariamente nas mídias sociais.
Falamos que as tecnologias atuais de tratamento de dados não são mais adequadas. Por que? Vejamos o modelo relacional, proposto pelo pesquisador da IBM, Edgar F. Codd, em 1969. Quando foi proposto, a demanda era acessar dados estruturados, gerados pelos sistemas internos das corporações. Não foi desenhado para dados não estruturados (futurologia na época) e nem para volumes na casa dos petabytes de dados (inimaginável na época). Precisava-se sim de um modelo que categorizasse e normalizasse dados com facilidade. E o modelo relacional foi muito bem sucedido nisso, tanto que é o modelo de dados mais usado atualmente.
Para tratar dados na escala de volume, variedade e velocidade do Big Data precisamos de outros modelos. Surgem os softwares de banco de dados NoSQL, desenhados para tratar imensos volumes de dados estruturados e não estruturados. Existem diversos modelos como sistemas colunares como o Big Table, usado internamente pelo Google (é a base de dados sob o Google App Engine),o modelo Key/value como DynamoDB da Amazon, o modelo “document database” baseado no conceito proposto pelo Lotus Notes da IBM e aplicado em softwares como MongoDB, e o modelo baseado em grafos como o Neo4j. Em resumo, não faltam opções... Interessante lembrar que antes do modelo relacional já existia um software de banco dados que lidava com grandes volumes que é o IMS da IBM, modelo hierárquico, criado para suportar o projeto Apollo de conquista da Lua e que ainda hoje é base da maioria das transações financeiras que circulam pelo mundo.
Por outro lado, esta diversidade de alternativas demanda que os líderes dos projetos de Big Data escolham a mais adequada ou mesmo demandem mais de uma opção, de acordo com as necessidades específicas.
Depois da infraestrutura é necessário atenção aos componentes de analytics, pois estes é que transformam os dados em algo de valor para o negócio. Big Data Analytics não signfica eliminar os tradicionais sistemas de BI que existem hoje, mas pelo contrário, devem coexistir. Recomendo enfáticamente a leitura do livro “Competing on Analytics: the new science of winning”, de Thomas H. Davenport, publicado pela Harvard Business Schoool Press. Um bom exemplo de uso de Hadoop para analytics é o BigInsights da IBM.
Aliás, ao lado destas alternativas surgem outras opções, como o uso de appliances, como o Netezza da IBM, que embarcam em um hardware adaptado todos os softwares necessários para criar projetos de Big Data. Os appliances queimam etapas nos projetos de Big Data.
Quanto ao aspecto velocidade o conceito de stream processing permite tratamento em tempo real de dados. Concretamente, o InfoSphere Streams da IBM é um exemplo muito interessante. A ideia de stream computing é fantástica. Um novo paradigma. No modelo de data mining tradicional uma empresa filtra dados dos seus vários sistemas e após criar um Data Warehouse, dispara “queries”. Na prática faz-se garimpagem em cima de dados estáticos, que não refletem o momento, mas sim o contexto de horas, dias ou mesmo semanas atrás. Com stream computing esta garimpagem é efetuada em tempo real. Em vez de disparar queries em cima de uma base de dados estática, coloca-se uma corrente contínua de dados (streaming data) atravessando um conjunto de queries. Podemos pensar em inúmeras aplicações, sejam estas em finanças, saúde e mesmo manufatura. Vamos ver este último exemplo: um projeto em desenvolvimento com uma empresa de fabricação de semicondutores pode monitorar em tempo real o processo de deteção e classificação de falhas. Com stream computing as falhas nos chips sendo fabricados são detetados em minutos e não horas ou mesmo semanas. Os wafers defeituosos podem ser reprocessados e, mais importante ainda, pode-se fazer ajustes em tempo real nos próprios processos de fabricação.
Adicionalmente, podemos pensar que a computação em nuvem é também um impulsionador para Big Data, pois pode-se usar nuvens públicas para suportar imensos volumes de dados e as caraterísticas de elasticidade  das nuvens permitem que acionemos servidores virtuais sob demanda, aprenas no momento de tratar estes dados.
Enfim, Big Data já está batendo nas nossas portas. Seu potencial ainda não está sendo plenamente reconhecido, mas já vemos sinais claros desta importância quando lemos relatórios como o “Big Data, Big Impact: new possibilities for International Development”, publicado pelo World Economic Forum. Este relatório mostra como a sociedade mundial pode usufruir do imenso volume de dados gerado por ela para ajudar a resolver problemas diversos como questões sócio-econômicas e mesmo prevenção de epidemias.
Quanto às empresas, Big Data abre um novo e ainda inexplorado território. Carecemos de conhecimentos, experiências e mesmo de expertise profissional. Começa-se a se falar em novas funções como “data scientists” (escrevi sobre isso em post anterior), mas é inevitável que os CIOs tenham que colocar Big Data na tela dos seus radares. As oportunidades que os cinco “V”s trazem não podem e nem devem ser desperdiçados.

segunda-feira, 19 de novembro de 2012

Guia da Certificação Oracle

Guia da Certificação Oracle


Certificações Oracle 11g
Confira abaixo as Certificações Oracle direcionadas a DBA’s.

_______________________________________________________________________

OCAOracle Database 11g Administrator Certified Associate
OCA é a certificação de nível básico na carreira do DBA Oracle. Um profissional com certificação OCA seria equivalente a um profissional de nível Júnior. Apesar de básica, a certificação OCA tem sua importância, pois é a porta de entrada para o profissional se associar à comunidade certificada no site da Oracle University. Esta certificação é obrigatória para quem deseja se tornar OCP [e OCM].
Para mais informações sobre a certificação OCA, incluindo as provas necessárias, valores das provas, conteúdo, etc., visite o nosso Guia Oracle OCA.
_______________________________________________________________________
OCPOracle Database 11g Administrator Certified Professional
OCP é a certificação que reconhece um nível avançado de gerenciamento do banco de dados Oracle. Um profissional com certificação OCP seria equivalente a um profissional de nível Pleno, ou seja, um DBA com conhecimento para administrar bancos de dados Oracle. Esta é a certificação mais requisitada pelo mercado, e geralmente exigida em licitações de órgãos públicos – o que gera uma demanda destes profissionais por parte de empresas que participam de licitações públicas, por exemplo. Pesquisas salariais em diversos países comprovam que o salário médio de um profissional com certificação OCP é maior que o salário médio de profissionais sem certificação. Esta certificação é obrigatória para quem deseja se tornar um OCM.
Para mais informações sobre a certificação OCP, incluindo as provas necessárias, valores das provas, conteúdo, etc., visite o nosso Guia Oracle OCP.
_______________________________________________________________________
OCMOracle Database 11g Administrator Certified Master
OCM é a certificação máxima de um DBA Oracle. Esta certificação atesta que o profissional é de nível altamente qualificado. Para se ter uma idéia, até a data de publicação deste Guia – 12/04/2012, apenas 61 profissionais no mundo todo possuem certificação OCM na versão 11g.
A prova é prática e só pode ser realizada em alguns poucos locais do mundo. Consiste em realizar tarefas de alta complexidade em um ambiente real, dentro de um tempo pré-determinado. Este exame tem 2 dias de duração. Aqui no Brasil temos pouquíssimos profissionais com a certificação OCM, e um deles é Guilherme Brito, que foi entrevistado pelo Certificação BD e você pode conferir esta entrevista clicando aqui.
Para mais informações, visite o nosso Guia Oracle OCM.
______________________________________________________________________
As certificações acima são sequenciais. A OCA é requisito obrigatório para a OCP, e a OCP é requisito obrigatório para OCM.
Além das certificações acima, existem também as certificações OCE (Oracle Certified Expert), voltadas para especialistas em certas competências, conforme vemos abaixo.
_______________________________________________________________________
Oracle Database: SQL Certified Expert
Oracle Database 11g: Performance Tuning Certified Expert
Oracle Certified Expert – Oracle Real Application Clusters 11g and Grid Infrastructure Administrator
Para mais detalhes sobre as certificações OCE acima, visite o nosso Guia Oracle OCE.

segunda-feira, 5 de novembro de 2012

Cursos Gratuitos - OnLine

Cursos Gratuitos - OnLine:




http://www.microsoftvirtualacademy.com/Home.aspx


FGV -  ONLINE

http://www5.fgv.br/fgvonline/


Fundação Bradesco:

http://www.ev.org.br/Paginas/Home.aspx

Introdução ao Android - IBM DeveloperWorks


Introdução ao Android
Antes de entrar de cabeça nos detalhes complexos do plug-in do Eclipse e no desenvolvimento de aplicações Android, vamos dar uma olhada na arquitetura do Android e em alguns dos termos chave que serão úteis no tutorial e posteriormente, à medida que começar a construir aplicações Android para você mesmo.
O desenvolvimento de aplicação Android sob o ambiente Eclipse requer conhecimento do ambiente Eclipse e da plataforma Android. Um entendimento dos termos abaixo é útil no ambiente de desenvolvimento Android com o plug-in do Eclipse.
Open Handset Alliance
Essa é a organização liderada pela Google Inc. que consiste em diversas organizações públicas e privadas.
Android
O principal produto da Open Handset Alliance. É um ambiente operacional de software livre direcionado a dispositivos remotos.
Emulador
Uma ferramenta de software representante de outro sistema — Frequentemente, é um ambiente executado em um computador pessoal (IBM®, Mac, Linux®) que emula outro ambiente, como um dispositivo de computação remota.
Linux
Um kernel de sistema operacional de software livre no coração de muitas plataformas de computação, incluindo servidores, computadores desktop, dispositivos de rede e dispositivos de computação remota. Android é executado sobre um kernel Linux.
Dalvik Virtual Machine
Dalvik VM é um ambiente operacional encontrado na pilha do Android, que interpreta código de aplicação no tempo de execução. Dalvik VM é semelhante a uma Java VM conforme, mas as duas não são compatíveis.

Desenvolver Aplicações Android com o Eclipse - DevelopersWorks IBM

Como Desenvolver em Android:


http://www.ibm.com/developerworks/br/library/os-eclipse-android/section4.html

Metodologia de Desenvolvimento de Software Mobile

Metodologia de Desenvolvimento de Software Mobile

http://www.devmedia.com.br/metodologia-de-desenvolvimento-de-software/1903

Palestra Professor Silvio Meira

Palestra Professor Silvio Meira 

Assunto:


O que pode a Tecnologia

http://www.youtube.com/watch?v=RieLMeeZmyk&feature=relmfu

domingo, 12 de fevereiro de 2012

Desenvolvimento do Android

Android é um ambiente operacional completo baseado no kernel Linux® V2.6. Inicialmente, o destino de implementação para o Android era a arena do telefone móvel, incluindo telefones inteligentes e dispositivos flip fone de baixo custo. Entretanto, a variedade completa do Android de serviços de computação e o suporte totalmente funcional têm potencial para ir além do mercado de telefones móveis. O Android pode ser útil para outras plataformas e aplicativos.

O que é neuroeducação e qual é a sua importância no processo de ensino-aprendizagem?

  https://www.sponte.com.br/blog/o-que-e-neuroeducacao-e-qual-a-sua-importancia-na-educacao