#PensandoEmDados [3] – Armazenando dados

Como você deve saber, os dados são passíveis de serem coletados de várias maneiras. Sensores, formulários, bases de dados, câmeras e variados sistemas, em conjunto ou separadamente, podem ser usados como coletores de dados. Mas, você já se perguntou onde SEUS DADOS são ARMAZENADOS?

Armazenando dados

Se você já tem conhecimento na área de sistemas e desenvolvimento, sabe que o meio mais tradicional de armazenamento de dados são os Bancos de dados (BD). Os BDs são bases que contém uma estrutura e regras para armazenagem de dados em formatos geralmente pré-estabelecidos, utilizando SGBDs (Sistemas Gerenciadores de Banco de Dados). Os modelos de bancos de dados mais tradicionais e ainda grandemente utilizados são os bancos de dados Relacionais.

O termo RELACIONAL vem do conceito matemático de relações, onde um dado conjunto A pode se relacionar com um B, que por sua vez pode ser relacionado a um C. O conceito de “estar contido” ou “não estar contido” te remete a alguma coisa? Pois é, esse princípio matemático define o que seriam os relacionamentos.

Os BDs relacionais são baseados em TABELAS, que possuem um nome e colunas que definem que tipo de dado será guardado. Os tipos de dados a serem armazenados devem ser definidos na criação da tabela e cada campo da tabela terá um tipo específico de dado, como: String (caracteres), Double/Float/Integer (tipos numéricos), Boolean (tipo booleano), Data/Datatime/TimeStamp (tipos que armazenam data e/ou data e hora), entre outros.

Dos bancos relacionais no mercado, se destacam os robustos ORACLE, SQL SERVER (da Microsoft), BD2 (da IBM) como Bancos proprietários (pagos). Para os gratuitos temos  POSTGRESQL e MySQL (pertencente a Oracle mas com a versão MariaDB gratuita).

Outros tipos de Bases de dados

Existem outros tipos de bancos de dados além dos relacionais. Um dos que está em maior crescimento são os NoSQL (acrônimo para Não Apenas SQL), também conhecidos por Bancos Não Relacionais. Os NoSQL dividem-se basicamente em 4 modelos: Documentos, Grafos, Colunas e Chave-valor [baseado em Amazon, 2018]. O modelo que tem tido maior volume de utilizadores é o baseado em Documentos, dentre eles se destaca o MongoDB.

Além de um banco de dados e seu SGBD, os dados podem ser armazenados em arquivos de texto, planilhas ou em bancos de dados de outro tipo como Objeto-Relacional, Hierárquico, Rede, etc.

De um modo geral, armazenar dados pode ser feito de diversas maneiras e, com isso, sistemas heterogêneos podem ser criados. Para poder gerenciar essa gama de dados vindos e armazenados em distintos formatos, temos o importante papel da INTEGRAÇÃO DE DADOS, tema de nossa próxima postagem. Até lá!

Siga-me nas redes sociais:

Anúncios

5 cursos online gratuitos da USP com foco em Python, Big Data e UX

Para aqueles que estão buscando renovar a carreira em TI ou mesmo começar um curso para trabalhar na área, há uma série de opções online – e gratuitas. A Universidade de São Paulo (USP), por exemplo, disponibiliza cursos online com foco em tecnologia da informação (TI), ciência da computação, Big Data e outros temas relacionados.

Entre as opções está o curso de linguagem Phyton, que ensina noções básicas da linguagem de programação para que o usuário desenvolva pequenos programas nessa linguagem. Segundo a instituição, “o objetivo principal é desenvolver o raciocínio aplicado à formulação e resolução de problemas computacionais”. Ao término do aprendizado, o aluno pode cursar a segunda parte do curso voltado à programação em Phyton.

Outro módulo disponível é a introdução ao Big Data, voltado para usuários “que desejam entender de forma fácil o que é Big Data, conhecer algumas tecnologias de Big Data, ter acesso a algumas aplicações de Analytics, Internet das Coisas – IOT e de Big Data”. O usuário também é inserido em um projeto de conclusão do curso, que consiste em um projeto de Big Data elaborado com estratégias e análises de dados.

Os cursos não possuem pré-requisitos – basta apenas completar um cadastro na plataforma Coursera, que também é gratuita -, nem experiência prévia em programação. A única “cobrança” é que o aluno domine conceitos básicos de matemática do ensino fundamental. Além disso, cada módulo leve em média 31 horas para ser completado, porém esse tempo é amplamente dividido em diversas subcategorias.

Clique nos links abaixo para acessar os cursos gratuitos da USP:

Introdução à Ciência da Computação com Python Parte 1

Introdução à Ciência da Computação com Python Parte 2

Introdução ao Teste de Software

Introdução ao Big Data

UX / UI: Fundamentos para o design de interface

Fonte: Computer World

#PensandoEmDados [2] – Big Data

Como lidar com tamanha quantidade de dados?

Tudo que fazemos gera dado, aonde quer que formos, estaremos gerando e consumindo os mesmos. Somos as fontes dos próprios dados e geramos o volumoso aglomerado de dados chamado de BIG DATA.

Como lidar com tamanha quantidade de dados?

Saber distinguir os dados entre si e como proceder para lidar com o grande volume é uma das maiores tarefas que temos hoje em dia. BIG DATA é o termo que se associa a um amontoado GIGANTE de dados que pode pertencer a um mesmo domínio (uma empresa, uma rede social, um rastreamento de dispositivo, etc) ou a junção de vários domínios.

Com esse mundo “globalizado” dos dados, existem muitos tipos diferentes de dados. Quem trabalha com programação e lida com bancos de dados sabe os diferentes formatos que os dados podem ter como Strings (caracteres), Double, Float (números decimais), Int (números inteiros) boolean (valor booleano entre Verdadeiro ou Falso) e etc.

Por exemplo, um cadastro ou base de dados cadastrais é formado de casos ou registros (que no caso são os clientes) e variáveis. Para cada cliente temos o resultado das variáveis. Por exemplo, o primeiro cliente da base de dados tem o nome Fulano de Tal, o Sexo Masculino, o Estado Civil Solteiro, a Renda R$2.500,00 por mês, etc [Pinheiro, 2011].

O Gartner Group (2001) traz a seguinte definição sobre o assunto:

“Big data são dados com maior variedade que chegam em volumes crescentes e com velocidade cada vez maior.”

Gartner, 2001

Esse conceito já demonstra os V´s que envolvem o conceito. Enquanto essa definição inicial inclui apenas 3 Vs, hoje já se trabalha com pelo menos 5 (apesar que existem equipes e empresas que já apresentam até 10 deles). Os que podemos chamar de principais, além dos já citados Variedade, Volume e Velocidade são:

  • Veracidade
  • Valor
  • Variabilidade
  • Visualização

A veracidade é item crítico, afinal com dados falsos ou não reais teríamos uma inutilidade dos dados. Seu valor está também ligado a isso, dados terão valor quanto maior sua capacidade de agregar eles tiverem. Variabilidade é a capacidade que os dados tem de variar em si mesmo, valioso quando analisamos dados em tempo real. E a visualização é a demonstração desses dados que na maioria das vezes será através de gráficos e painéis (dashboards). [baseado em IMPACT, 2016]

Para lidar com todas as nuances dos dados, alguns aspectos técnicos como Mineração de Dados, o processo de ETL e conceitos de DataWarehouse e Data Mart são importantes aliados.

No próximo post falaremos mais sobre as técnicas de armazenamento e tratamento de dados.

Siga-me nas redes sociais:

O Começo da série #PensandoEmDados

Vamos falar sobre DADOS?

Hoje damos início a uma série de posts e artigos sobre DADOS. Irei postar tanto aqui no blog como em minhas redes sociais. Falaremos sobre dados em todo seu contexto, de sua definição aos formatos, tipos e como são utilizados em nosso mundo atual.

Partindo do principio da ORIGEM dos dados, de suas diversas fontes que hoje dão origem como computadores, smartphones, sensores inteligentes, satélites e até os aplicativos do seu celular e os embarcados no seu carro.

Se você quer acompanhar as postagens, SIGA MEU BLOG, adicione aos seus favoritos. Me siga também nas redes sociais (Instagram, Twitter e Facebook) e vamos juntos nessa. Com a boa repercussão das postagens, poderemos criar também uma série de vídeos nessa temática em meu canal do Youtube. O que você acha? deixe seu comentário abaixo e sugestão de tópicos a serem abordados. Te vejo no futuro.

5 linguagens de programação poderosas para ‘esticar’ seu cérebro

O pessoal da Dev.to fez uma postagem boa falando sobre linguagens de programação e a prática de aprender pelo menos uma nova linguagem de programação por ano. Segue a tradução das melhores partes da matérias feita por Jacob Herrington.

O raciocínio por trás dessa prática tem muito pouco a ver com marketing de si mesmo ou mesmo usando a linguagem. Na realidade, o benefício mais significativo de aprender uma nova linguagem de programação é o alongamento da mente e a criação de novos caminhos neurais que permitem que você examine os problemas de maneiras novas e únicas. Eu compilei esta lista de linguagens principalmente porque eles são linguagens que eu estou interessado em gastar mais tempo aprendendo, mas também porque elas exemplificam características de linguagem específicas e ideologias de programação muito bem.

Ruby

Linguagem Orientada a Objetos criada pelo Dr. Alan Kay, que uma vez disse: “Programação orientada a objetos para mim significa apenas mensagens, encapsular e esconder o estado e extrema ligação de todas as coisas.” Ruby é bom nessas coisas.

Elixir

Elixir é uma linguagem que abraça uma ideia chamada Modelo de Ator, idealizada pelo Dr. Carl Hewitt. No modelo de ator, tudo é um ator. (“Tudo é um ator” soa muito como “tudo é um objeto”, mas vou deixar essas comparações com os acadêmicos). Aprender a pensar sobre os atores é um exercício mental desafiador que levará a enxergar os problemas sob uma nova luz.

Rust

Rust é uma linguagem rápida e compilada que traz algumas idéias novas para a mesa. É expressamente destinado a resolver vários problemas de segurança de memória que surgem ao escrever C ++, que é freqüentemente usado para resolver problemas similares de programação de sistemas.

TypeScript

O alongamento cerebral no TypeScript vem da abordagem incremental na qual ele pode ser adotado e seu foco na tipagem estática. Se, como eu, você vem de um plano de fundo da Web com linguagens como Python ou PHP, a tipagem estática geralmente é um conceito estranho. No entanto, o TypeScript é uma maneira amigável de se apresentar a esse recurso de linguagem útil.

Haskell

Haskell é descrito como “puramente funcional”, o que significa que o estado é inteiramente imutável nessa linguagem de programação. Aprender a trabalhar com um estado totalmente imutável força você a desenvolver uma abordagem totalmente diferente para trabalhar com dados. Trabalhar com a Haskell resultará no desenvolvimento de alguma compreensão do cálculo lambda, que é relevante para toda a programação funcional.

Em resumo, cada uma dessas linguagens tem um jeito diferente de se programar, logo, seu cérebro precisará realmente “estiver” nos conceitos de uso e te levar a estudar e evoluir. É um caminho sem volta!

E aí, conhece alguma dessas LINGUAGENS? Deixe seu comentário.

Fonte: Dev.To

Aula Inaugural 2019.2 Faculdade SENAI PB

No dia 01 de agosto teremos a aula que dará inicio ao semestre 19.2 da faculdade SENAI da Paraíba

No próximo dia 01 de agosto, às 18:30h, teremos uma aula que marcará o inicio do segundo semestre de 2019. O Professor Ricardo Roberto, meu parceiro de sala de aula, estará ministrando uma palestra com uma temática altamente relevante:

Convite especial para quem quer conhecer um pouco mais sobre o curso superior de Automação Industrial da Faculdade SENAI da Paraíba.

Entrada Gratuita! Basta comparecer na Av. das Indústrias, S/N – Distrito Industrial, João Pessoa – PB (clique no endereço para ir pelo Maps)

Cientistas usaram Python para fotografar buraco negro

Várias bibliotecas da linguagem Python fazem parte dos algoritmos para conseguir a primeira foto real de um buraco negro

Você deve ter ouvido falar na famosa “foto do Buraco Negro” que virou manchete nos noticiários mundo a fora. Pois bem, cientistas por trás desta façanha usaram um novo algoritmo para tirar uma foto de um buraco negro. Uma das partes mais interessantes sobre isso é que eles usaram muitas bibliotecas Python para fazer a mágica.

Abaixo segue uma lista de bibliotecas Python mencionada no artigo deles:

Eles também usaram seu próprio código Python personalizado que está disponível no Github do projeto. Caso você queira ter uma ideia geral de como foi feito isso, o vídeo a seguir tem uma explicação mais leiga das idéias por trás de tirar a foto. Foi gravado durante uma boa palestra TED com uma das pesquisadoras:

Fonte: Python Library blog