Guia de Big Data, Bancos de Dados e Machine Learning

Classificado em Computação

Escrito em em português com um tamanho de 4,3 KB

Hadoop: É um cluster de processamento distribuído, usado para processamento de grandes quantidades de dados.

Componentes do Hadoop: Name Node, Job Tracker e Data Node + Task Tracker + MapReduce.

HDFS: É uma camada de software utilizando arquivos como blocos em um filesystem tradicional formatado em cima dos discos internos. É um sistema de arquivos distribuído feito para armazenar grande quantidade de arquivos.

Google FS: É um sistema de arquivos escalável para aplicações de distribuição intensiva de dados.

Spark: É um mecanismo de processamento open source construído visando a velocidade e facilidade de uso.

MapReduce: É um modelo de programação que permite o processamento de dados massivos em um algoritmo paralelo e distribuído.

Mahout: É uma ferramenta que foi construída em cima do framework Hadoop MapReduce, que possui algoritmos complexos de computação.

NoSQL: É um termo genérico para uma classe definida de bancos de dados que fornecem um mecanismo para armazenamento e recuperação de dados.

BD Relacional: Baseia-se em dados guardados em tabelas, pelo conceito de entidade e relacionamento.

  • Características: Normaliza dados em tabelas, e o desempenho depende do subsistema do disco.

BD Não Relacional: É uma alternativa para os BDs relacionais; possuem alta escalabilidade, desempenho e tolerância a falhas.

  • Características: Não possuem esquemas. Armazenam dados em chaves, colunas e gráficos. Utiliza cluster de hardware de baixo custo.

AQL: Linguagem declarativa que expressa quais resultados devem ser alcançados, mas não como devem ser.

JAQL: Realiza processos sem esquema ou com esquema parcial. Pode explorar informações de esquemas rígidos.

CQL: Representado pelo banco de dados Cassandra, não possui conceito de integridade referencial e não tem Join.

JSON: É um formato leve de troca de informações entre sistemas. Possui leitura simples e fácil análise.

HQL: Em vez de trabalhar com tabelas, ela trabalha com classes e suas propriedades.

Python: Inspirada em C, possui sintaxe simples e seu desenvolvimento é voltado para aplicações Web. Funcionalidade: Criação de scripts e Spider.

R: Inspirada em S, possui sintaxe um pouco mais complexa e seu desenvolvimento é voltado para análise estatística de dados. Funcionalidade: Prototipagem e RStudio.

Scala: Inspirado em Java, possui sintaxe complexa e seu desenvolvimento tem um propósito geral. Funcionalidade: Orientada a objetos e Eclipse.

Aprendizado de Máquina: Construção de sistemas inteligentes capazes de adquirir conhecimento automaticamente.

Paradigmas de Aprendizado:

  • Simbólico: Aprende construindo representações simbólicas de um conceito pela análise dos exemplos. Exemplo: Expressão lógica e regras de produção.
  • Estatístico: A ideia é utilizar modelos estatísticos para encontrar uma boa aproximação de um conceito.
  • Conexionista: Formam as redes neurais, que são construções matemáticas simplificadas inspiradas no modelo biológico do sistema nervoso.
  • Evolutivo: Derivado do modelo biológico de aprendizado.

Tipos de Aprendizado:

  • Supervisionado: É construído um classificador que pode determinar a classe dos novos exemplos.
  • Não Supervisionado: Não tem resultado esperado; o aprendizado é por observação, não existe professor.

Atributo: Contém os valores coletados que são usados na classificação.

Sistemas Inteligentes: Capazes de executar raciocínio, reconhecimento de padrões e outras formas de aprendizagem.

Entradas relacionadas: