Tecnologias de Big Data: Uma Visão Geral Abrangente
Classificado em Computação
Escrito em em português com um tamanho de 4,2 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 + Map Reduce.
HDFS: É uma camada de software utilizando arquivos como blocos em 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 na 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.
Mahaut: É uma ferramenta que foi construída em cima deste framework Hadoop MapReduce, que possui algoritmos complexos de computação.
NoSQL: é um termo genérico para uma classe definida de banco de dados que fornecem um mecanismo para armazenamento e recuperação de dados.
Banco de Dados 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.
Banco de Dados 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, expressa qual resultado deve ser alcançado, mas não como deve ser.
JAQL: realiza processo sem esquema ou com esquema parcial. Pode explorar informações de esquema rígidos.
CQL: representado pelo BD 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: Invés de trabalhar com tabelas, ela trabalha com classes e suas propriedades.
Python: Inspirada em C, possui sintaxe simples, seu desenvolvimento é para aplicações Web. Funções: Criação de scripts. Spider.
R: inspirada em S, sintaxe um pouco mais complexa e seu desenvolvimento é para análise estática de dados. Funções: Prototipagem. RStudio.
Scala: Inspirado em JAVA, sintaxe complexa e seu desenvolvimento tem um propósito geral. Funções: Orientada a objetos. 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. Exemplos: 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: Capaz de executar raciocínio, reconhecimento de padrões e outras formas de aprendizagem.