Estou tentando configurar um testbed para análise de bigdata (basicamente em torno de 2 a 3 TB de base, gravação leve [apenas alimentando o banco de dados], mas possivelmente leitura de consultas intensivas para fins de análise).
Como tenho um pouco de experiência com PostgreSQL básico (mas com base de 10 GB), estava pensando em tentar a nova replicação síncrona 9.1 para obter o balanceamento de carga. O objetivo é fazer com que o Tableau seja muito responsivo. Assim, eu poderia evitar os custosos MPP GreenPlum, AsterData e outros.
No entanto, eu queria saber se: - ir direto para bancos de dados MPP, GreenPlum por exemplo, foi uma boa idéia? (para 2-3 TB, o Greenplum é realmente necessário?) - uma vez que a replicação síncrona esteja funcionando, como devo configurar meus aplicativos? O balanceamento de carga é feito pelo mestre ou é necessária outra solução (Pgpool por exemplo)?
Obrigado por suas percepções!
Em princípio, deve ser possível fazer 2-3 TB sem recorrer a uma arquitetura sem compartilhamento, mas o Vanilla PostgreSQL ainda não possui uma boa funcionalidade de consulta paralela. Tudo o que você conseguirá com a replicação é a capacidade de distribuir consultas para nós individuais. Não acredito que o PostgreSQL ofereça suporte a consultas federadas prontas para uso e ficaria muito surpreso ao descobrir que o Tableau tem suporte direto para fragmentação no cliente. Eu acho que o PostgreSQL não funcionará muito bem em um conjunto de dados tão grande.
Há um trabalho em andamento em um recurso de consulta paralela para PostgreSQL, mas o AFAIK não está incluído na versão 9.1. Meu instinto é que algum lançamento nos próximos anos incluirá esse recurso, mas ainda não chegou lá. Não vejo evidências de muito esforço sendo colocado em um recurso de consulta federada.
Outra opção: SQL Server
A menos que você seja casado com o Postgres, talvez descubra que o SQL Server oferece uma opção econômica para o Greenplum para um conjunto de dados de 2 a 3 TB. Ele é licenciado pelo soquete em vez do núcleo, portanto, uma caixa Xeon ou Opteron carregada de 2 a 4 soquetes oferece uma boa relação custo-benefício como plataforma. Para uma base de usuários menor, acredito que você ainda pode licenciar a Enterprise Edition por CAL também.
Algumas matrizes de disco 24/25 em um controlador RAID de ponta farão leituras sequenciais com rapidez suficiente para saturar um slot PCIe-x8 (2 GB/s). Uma simples consulta de varredura de tabela com SQL Server manipulará dados nessa taxa sem usar muita CPU (obviamente, dependendo da computação real), portanto, você terá algum espaço para adicionar controladores e matrizes se desejar uma E/S mais rápida.
O SQL Server também vem com um bom conjunto de ferramentas de BI, incluindo um servidor OLAP. O Tableau não é barato, cerca de £ 1.800 / assento da última vez que olhei. Dependendo do número de usuários, você pode descobrir que as ferramentas 'boas o suficiente' que acompanham o SQL Server podem compensar os custos da licença do banco de dados de qualquer maneira. A maioria das ferramentas de relatórios de terceiros também funciona bem com o SQL Server.
Isenção de responsabilidade: não sou um Microsoftie obstinado, mas fiz muito trabalho de BI com SQL Server e Oracle na última década. O SQL Server é, na verdade, uma boa plataforma de BI.