Greenplum Database é um banco de dados SQL de processamento paralelo massivo (MPP) construído e baseado no PostgreSQL. Ele pode ser dimensionado para uma carga de trabalho de dados de nível de vários petabytes sem um único problema e permite acesso a um cluster de servidores poderosos que funcionarão juntos em uma única interface SQL, onde você pode visualizar todos os dados. Nesta postagem do blog, explicamos o que é o Greenplum e detalhamos a arquitetura do Greenplum, vantagens, principais casos de uso e como começar.
O que exatamente é Greenplum?
Greenplum Database é um banco de dados MPP de código aberto e independente de hardware para análise, baseado no PostgreSQL e desenvolvido pela Pivotal, que mais tarde foi adquirida pela VMware. Sua arquitetura foi especialmente projetada para gerenciar data warehouses em grande escala e cargas de trabalho de business intelligence, oferecendo a capacidade de distribuir seus dados por vários servidores.
Esse banco de dados repleto de recursos fornece análises poderosas e rápidas sobre dados que podem ser dimensionados para volumes de petabytes.
Em resumo – TLDR | ||||||
---|---|---|---|---|---|---|
|
A arquitetura Greenplum
Para obter uma boa compreensão da arquitetura Greenplum, vamos primeiro ver o que é um banco de dados MPP.
O que é um banco de dados MPP?
Ao lidar com grandes quantidades de dados complexos, ou big data, é provável que sua máquina principal comece a ser esmagada por todos os dados que precisa processar para produzir suas análises resultados. Para preencher essa necessidade de processamento mais rápido e permitir resultados mais rápidos, muitas organizações consideram a adoção de um banco de dados MPP.
O sistema MPP aproveita uma arquitetura sem compartilhamento para lidar com várias operações em paralelo. Ele usa várias unidades de processamento diferentes que funcionam de forma independente usando sua própria memória e recursos dedicados, de modo que a carga de trabalho é compartilhada entre vários dispositivos em vez de apenas um. Normalmente, um sistema MPP tem um nó líder e um ou vários nós de computação. O nó líder, chamado de ‘mestre’ no Greenplum, diz a todos os outros nós, chamados segmentos no Greenplum, o que fazer e combina suas respostas para criar a resposta final.
bancos de dados MPP escalonam horizontalmente adicionando mais recursos de computação (nós), em vez de ter que se preocupar em atualizar para servidores individuais cada vez mais caros (escalonando verticalmente).
Projeto arquitetônico Greenplum
Baseado na arquitetura PostgreSQL, o Greenplum basicamente aproveita várias instâncias do banco de dados PostgreSQL ao mesmo tempo em um único cluster Greenplum. Os usuários do PostgreSQL podem se familiarizar rapidamente com esse tipo de banco de dados, pois muitos dos recursos, configurações e funcionalidades são os mesmos do Greenplum e incluem recursos projetados para otimizar como o PostgreSQL funciona para tarefas e cargas de trabalho de inteligência de negócios (BI).
Greenplum também introduziu muitos recursos que não estão disponíveis no PostgreSQL, como carregamento paralelo de dados, gerenciamento de recursos, aprimoramentos de armazenamento e otimização avançada de consultas, tornando-o uma oferta atraente quando você compara os dois.
Da mesma forma que o PostgreSQL, o Greenplum utiliza um servidor mestre, ou host, que é o ponto de entrada para o banco de dados, aceitando conexões e consultas SQL. No entanto, onde o PostgreSQL aproveita os nós de espera para distribuir geograficamente sua implantação, o Greenplum usa hosts de segmento que armazenam e processam os dados. Os segmentos Greenplum são independentes e cada um armazena uma parte dos dados, embora lidem com a maior parte do processamento de consultas. Você pode aproveitar apenas dois hosts de segmento e dimensionar para uma capacidade ilimitada. Se você tiver o espelhamento ativado, deverá aumentar seus hosts de segmento em incrementos de pelo menos dois.
Então, como tudo isso é coordenado? A interconexão Greenplum é a camada de rede da arquitetura e gerencia a comunicação entre os segmentos Greenplum e a infraestrutura de rede do host mestre.
Vantagens do Greenplum
Aqui estão algumas das principais vantagens do Greenplum que podem ajudá-lo a melhorar o desempenho do seu banco de dados:
-
Alto desempenho
Greenplum tem um pipeline de dados com design exclusivo que pode transmitir dados de forma eficiente do disco para a CPU, sem depender dos dados que cabem na memória RAM, conforme explicado em seu Greenplum Next Generation Big Plataforma de dados:artigo sobre os 5 principais motivos. Isso fornece às implantações do Greenplum um grande aumento de desempenho em relação aos sistemas in-memory que precisam de memória suficiente para armazenar seus dados ou sistemas não baseados em RDBMS que são mecanismos de processamento in-memory que alocam RAM para cada consulta simultânea. O alto desempenho do Greenplum elimina o desafio que a maioria dos RDBMS tem de dimensionar para níveis petabtye de dados, pois são capazes de dimensionar linearmente para processar dados com eficiência.
-
Otimização de consulta
Greenplum apresenta um otimizador de consulta baseado em custo para cargas de trabalho de big data em grande escala. Aproveitando o desempenho como abordamos acima, o Greenplum dimensiona a análise interativa e em modo de lote para a escala de petabytes sem prejudicar o desempenho da consulta. Isso permite que o Greenplum distribua a carga entre seus diferentes segmentos e use todos os recursos do sistema paralelamente para processar uma consulta.
Além disso, com as melhorias de carga de trabalho OLTP (Online Transactional Processing) no Greenplum 6, o desempenho de consulta única melhorou em relação a 3.5c em relação ao Greenplum 5. Com esta atualização, o Greenplum eliminou muitos dos bloquear a concorrência para que o uso da CPU mestre possa exceder 90%, o que melhora o desempenho da consulta, melhorando o desempenho do hardware do nó mestre.
-
Código aberto
O banco de dados Greenplum é um projeto de data warehouse de código aberto baseado no núcleo de código aberto do PostgreSQL, permitindo que os usuários aproveitem as décadas de desenvolvimento especializado por trás do PostgreSQL, juntamente com a personalização direcionada do Greenplum para aplicativos de big data. O Greenplum pode ser executado em qualquer servidor Linux, seja hospedado na nuvem ou no local, e pode ser executado em qualquer ambiente.
Enquanto o Greenplum é mantido por uma equipe central de desenvolvedores com direitos de commit no repositório principal, eles estão recebendo novos contribuidores com experiência no banco de dados para ajudar a moldar o futuro do Greenplum. Saiba mais sobre como se envolver na página do Greenplum no GitHub.
-
Armazenamento de dados polimórficos
O armazenamento de dados polimórficos do Greenplum permite que você controle a configuração do armazenamento de tabelas e partições com a liberdade de executar e compactar arquivos a qualquer momento. Isso permitirá que você projete suas tabelas com base na maneira como seus dados específicos são acessados e, por sua vez, tenham uma hierarquia de armazenamento orientada por linha ou coluna.
Ao criar uma tabela no Greenplum, você pode controlar a orientação com a capacidade de escolher dados orientados por coluna ou por linha. A orientação por coluna é normalmente melhor para varreduras completas, enquanto a orientação por linha é melhor para varreduras pequenas ou pesquisas.
Greenplum ainda permite que você crie tipos de dados e funções específicos do domínio. Por meio do uso de tipos de dados semiestruturados, que incluem XML, HStore e JSON, você tem a capacidade de armazenar e analisar dados estruturados e não estruturados em um banco de dados.
O que é o banco de dados Greenplum? Introdução ao banco de dados de Big DataClick To Tweet
Principais casos de uso
Greenplum fornece uma poderosa combinação de bancos de dados de processamento massivamente paralelo e análise avançada de dados que permite criar uma estrutura para cientistas e arquitetos de dados tomarem decisões de negócios com base em dados coletados por inteligência artificial e aprendizado de máquina. Vamos percorrer os principais casos de uso do Greenplum:
Análise
A análise avançada fornecida pelo Greenplum está sendo usada em muitos setores, incluindo finanças, manufatura, automotivo, governo, energia, educação, varejo e assim por diante, para atender a uma ampla variedade de problemas. Alguns dos recursos de análise do Greenplum Database destacados pela Pivotal incluem a capacidade de analisar vários tipos de dados, aproveitar o conhecimento de SQL existente e treinar mais modelos em menos tempo usando a arquitetura MPP.
Além disso, o Greenplum fornece análises no banco de dados que permitem executar análises diretamente no banco de dados versus exportar e executar seus dados em um mecanismo de análise externo. Como um banco de dados adaptado para cargas de trabalho corporativas, ele fornece a capacidade necessária para explorar grandes conjuntos de dados, juntamente com o alto desempenho obtido por meio do paralelismo da análise em seus hosts de segmento disponíveis. Você também pode aproveitar uma ampla variedade de ferramentas de análise de energia com o Greenplum, incluindo MADlib, linguagem estatística R, SAS e linguagem de marcação de modelagem preditiva (PMML).
Por exemplo, uma empresa de marketing na Internet de um bilhão de dólares está usando a análise avançada do Greenplum para realizar perfis de público para entender quem é seu público, o que eles compram, quais redes e dispositivos eles usam, e onde eles estão localizados geograficamente para que possam entender melhor e atender seu mercado.
Aprendizado de máquina
Greenplum é um excelente banco de dados para aprendizado de máquina – o estudo de algoritmos de computador que melhoram automaticamente por meio da experiência. O Apache MADlib é uma biblioteca de aprendizado de máquina de código aberto baseada em SQL que é executada no banco de dados no Greenplum, bem como no PostgreSQL. Essa combinação ajuda você a melhorar o paralelismo, a escalabilidade e a precisão preditiva de sua implantação de aprendizado de máquina Greenplum. Os recursos de transformação de dados e engenharia de recursos também estão disponíveis por meio do MADlib para aprendizado de máquina, incluindo estatísticas descritivas e inferenciais, pivotagem, sessão e codificação de variáveis categóricas.
Por exemplo, uma empresa governamental de retenção de receita de fraude está aproveitando os recursos de aprendizado de máquina Greenplum junto com o GemFire para realizar detecção de fraude em larga escala para evitar roubo de identidade, detectando e retendo US$ 5 bilhões anualmente e processando 8 milhões de casos por dia.
IA
A inteligência artificial (IA), embora semelhante ao aprendizado de máquina, refere-se à ideia mais ampla de que as máquinas podem executar tarefas de maneira inteligente. O Greenplum é uma ótima opção de banco de dados para aplicativos que procuram imitar as habilidades humanas por meio de máquinas inteligentes. Com a capacidade do Greenplum de ingerir grandes volumes de dados em alta velocidade, ele torna esse banco de dados uma ferramenta poderosa para aplicativos inteligentes que precisam interagir de forma inteligente com base em um número ilimitado de cenários exclusivos.
Por exemplo, uma empresa de telecomunicações está usando os recursos de IA do banco de dados Greenplum para seus sensores inteligentes do sistema de relatórios operacionais de IoT para analisar e executar eventos usados para manutenção, segurança e eficiência operacional.
Quem está usando o Greenplum hoje? Os clientes Greenplum incluem American Express, Walmart, Asurian, Bank of America e muitos outros nos mercados bancário, de serviços profissionais, mídia, seguros, saúde, automotivo e varejo.
Como começar
Como mencionado ao longo deste post, o Greenplum é um banco de dados de código aberto, portanto, a versão da comunidade é totalmente gratuita para download e uso. A comunidade pequena, mas ativa do Greenplum dá as boas-vindas a novos colaboradores, aceita feedback e colabora com os evangelistas do Greenplum para promover o banco de dados de big data.
Muitas organizações que utilizam o Greenplum estão procurando por suporte e ferramentas adicionais para ajudar seus DBAs a gerenciar suas implantações. Aqui estão as duas opções diferentes de gerenciamento de banco de dados e suporte disponíveis para Greenplum:
ScaleGrid for Greenplum® Database – Versão de código aberto
ScaleGrid for Greenplum® Database é uma solução totalmente gerenciada para a versão de código aberto do Greenplum, lançada em maio de 2020. A plataforma multinuvem permite implantar e gerenciar na AWS, Plataformas de nuvem Azure ou Google Cloud (em breve) ou ambientes locais VMware. O ScaleGrid fornece aos usuários do Greenplum as ferramentas de gerenciamento avançadas de que precisam para implantar em um único clique, automatizar backups e dimensionar dinamicamente com a capacidade de manter privilégios totais de administrador de superusuário em suas implantações de código aberto.
Pivotal Greenplum – Versão Comercial
Pivotal Greenplum, agora VMware Tanzu é o criador por trás do banco de dados de código aberto que oferece uma versão comercial do banco de dados para ajudá-lo a implantar e gerenciar o Greenplum na nuvem e no local. O Pivotal Greenplum oferece muitas vantagens, como a capacidade de maximizar o tempo de atividade, proteger a integridade dos dados e lidar com dados de streaming e dados em nuvem com facilidade.
Tanto o ScaleGrid quanto o Pivotal Greenplum oferecem pacotes de suporte avançado para ajudar seus DBAs a otimizar suas implantações do Greenplum.