Índice:
- estruturas de processamento em tempo real
- Plataformas MPP (Massively Parallel Processing)
- Introduzindo os bancos de dados NoSQL
Vídeo: Industrial Ecology and Sustainable Engineering | Let’s Talk Symposium | SKF 2024
Ao passado, Hadoop, você pode ver soluções alternativas de dados grandes em o horizonte. Essas soluções possibilitam trabalhar com grandes dados em tempo real ou usar tecnologias alternativas de banco de dados para lidar e processá-lo. Aqui, você é apresentado para as estruturas de processamento em tempo real, as plataformas Massive Parallel Processing (MPP) e, finalmente, os bancos de dados NoSQL que permitem que você trabalhe com grandes dados fora do ambiente Hadoop.
Você deve estar ciente de algo conhecido como conformidade ACID, curto para A tomicity, C onsistency, I solation, e D conformidade de urabilidade. A conformidade ACID é um padrão pelo qual as transações de banco de dados precisas e confiáveis são garantidas.
Em grandes soluções de dados, a maioria dos sistemas de banco de dados não são compatíveis com ACID, mas isso não representa necessariamente um grande problema. Isso ocorre porque a maioria dos grandes sistemas de dados usam Decision Support Systems (DSS) que lote processam os dados antes que esses dados sejam lidos. DSS são sistemas de informação que são usados para suporte de decisão organizacional. O DSS não transacional demonstra que não há requisitos de conformidade ACID reais.
estruturas de processamento em tempo real
Às vezes você pode precisar consultar grandes fluxos de dados em tempo real … e você simplesmente não pode fazer esse tipo de coisa usando o Hadoop. Nesses casos, use uma estrutura de processamento em tempo real em vez disso. A estrutura de processamento em tempo real é - como o próprio nome indica - uma estrutura capaz de processar dados em tempo real (ou quase em tempo real) como fluxos de dados e fluxos no sistema. Essencialmente, as estruturas de processamento em tempo real são a antítese das estruturas de processamento em lote que você vê implantadas no Hadoop.
As estruturas de processamento em tempo real podem ser classificadas nas seguintes duas categorias:
-
Estruturas que reduzem a sobrecarga das tarefas MapReduce para aumentar a eficiência geral do tempo do sistema: Soluções em Esta categoria inclui Apache Storm e Apache Spark para o processamento de fluxo em tempo real.
-
Estruturas que implementam métodos de consulta inovadores para facilitar a consulta em tempo real de dados importantes: Algumas soluções nesta categoria incluem o Dremel da Google, a Broca Apache, o Tubarão para Apache Hive e o Impala de Cloudera.
As estruturas de processamento de fluxo em tempo real são bastante úteis em uma infinidade de indústrias - desde análises de estoque e de mercado financeiro até otimizações de comércio eletrônico e de detecção de fraude em tempo real para logística de pedidos otimizada. Independentemente do setor em que você trabalha, se seu negócio é afetado por fluxos de dados em tempo real gerados por humanos, máquinas ou sensores, então uma estrutura de processamento em tempo real seria útil para otimizar e gerar valor para sua organização.
Plataformas MPP (Massively Parallel Processing)
Plataformas MPP (Massively Parallel Processing) podem ser usadas em vez de MapReduce como uma abordagem alternativa para o processamento de dados distribuídos. Se o seu objetivo é implantar o processamento paralelo em um data warehouse tradicional, um MPP pode ser a solução perfeita.
Para entender como o MPP se compara a uma estrutura de processamento padrão do MapReduce, considere o seguinte. O MPP executa tarefas de computação paralela em hardware costoso e personalizado, enquanto o MapReduce os executa em servidores de commodities baratos. Conseqüentemente, as capacidades de processamento MPP são restritivas de custos. Dito isto, o MPP é mais rápido e fácil de usar do que os trabalhos padrão do MapReduce. Isso ocorre porque o MPP pode ser consultado usando o Structured Query Language (SQL), mas os trabalhos MapReduce nativos são controlados pela linguagem de programação Java mais complicada.
Vendedores e produtos MPP bem conhecidos incluem a plataforma Teradata da velha escola, além de novas soluções, como o Greenplum DCA da EMC 2 , a Vertica da HP, a Netezza da IBM e a Exadata da Oracle.
Introduzindo os bancos de dados NoSQL
Tradicionais sistemas de gerenciamento de banco de dados relacionais (RDBMS) não estão equipados para lidar com grandes demandas de dados. Isso ocorre porque os bancos de dados relacionais tradicionais são projetados para lidar somente com conjuntos de dados relacionais que são construídos com dados que são armazenados em linhas e colunas limpas e, portanto, podem ser consultados através do SQL (Structured Query Language).
Os sistemas RDBM não são capazes de lidar com dados não estruturados e semi-estruturados. Além disso, os sistemas RDBM simplesmente não possuem as capacidades de processamento e manuseio necessárias para atender aos grandes requisitos de volume e velocidade.
É aqui que entra o NoSQL. Os bancos de dados NoSQL, como o MongoDB, são sistemas de banco de dados distribuídos e não relacionais que foram projetados para aumentar o grande desafio de dados. Os bancos de dados NoSQL passam para além da arquitetura tradicional do banco de dados relacional e oferecem uma solução muito mais escalável e eficiente.
Os sistemas NoSQL facilitam a consulta de dados não-SQL de dados não-relacionais ou isentos de esquemas, semi-estruturados e não estruturados. Desta forma, os bancos de dados NoSQL são capazes de lidar com fontes de dados estruturadas, semi-estruturadas e não estruturadas que são comuns em grandes sistemas de dados.
O NoSQL oferece quatro categorias de bancos de dados não-relacionais: bancos de dados de gráficos, bancos de dados de documentos, lojas de valores-chave e lojas de família de colunas. Uma vez que o NoSQL oferece funcionalidades nativas para cada um desses tipos de estruturas de dados, ele oferece funcionalidades de armazenamento e recuperação muito eficientes para a maioria dos tipos de dados não relacionais. Essa adaptabilidade e eficiência fazem do NoSQL uma escolha cada vez mais popular para lidar com grandes dados e para superar os desafios de processamento que acompanham.
Há um pouco de debate sobre o significado do nome NoSQL. Alguns argumentam que o NoSQL representa Not Only SQL , enquanto outros argumentam que o acrônimo representa bancos de dados não-SQL . O argumento é bastante complexo e não há uma resposta real cortada e seca.Para manter as coisas simples, basta pensar no NoSQL como uma classe de sistemas de gerenciamento de banco de dados não-relacionais que não se enquadram no espectro dos sistemas RDBM que são consultados usando o SQL.