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.