Meu objetivo é produzir um método rápido, confiável e automatizado para acessar dados somente leitura contidos em várias fontes de dados de arquivos simples muito grandes ( CSVs , documentos de largura fixa e XML) usando o Drupal 7 que pode ser consultado usando as Exibições 3 módulo. Eu preferiria usar módulos já disponíveis, mas criar um módulo personalizado também é uma opção.
Para ajudar a descartar módulos e métodos não adequados para a tarefa, aqui estão as estatísticas dos arquivos com os quais estou trabalhando:
- Importação anual: arquivo CSV de 8.500.000 linhas . (Eliminado e recarregado anualmente. Possui chave primária.)
- Importação semanal: arquivo de largura fixa de 350.000 linhas. (Limpado e recarregado semanalmente. Nenhuma chave primária .)
- Importação por hora: arquivo CSV de 3.400 linhas . (Gostaria de atualizar e sincronizar o mais rápido possível, mas não mais que a cada 20 minutos. Possui chave primária)
- Importação diária: arquivo XML de 200 itens. (Eliminado e recarregado diariamente. Possui chave primária)
A conversão entre os três formatos não é um problema e pode ser feita se melhorar o desempenho da importação ou permitir que melhores ferramentas sejam disponibilizadas. ( AWK para largura fixa para CSV etc.) A automação de recuperação e conversão é fácil por meio de scripts cron e sh , mas ainda precisa automatizar a integração do Drupal 7. O uso de tabelas personalizadas também é possível desde que os vews possam fazer referência aos dados usando relacionamentos.
Qual seria a melhor prática para realizar esse tipo de integração de dados com o Drupal 7? Além disso, estou deixando de fora alguns detalhes importantes sobre os dados ou o que estou tentando realizar?
Aqui estão alguns projetos que estou procurando atualmente para encontrar uma solução. Gostaria de expandir isso para ajudar outras pessoas a decidir qual caminho seguir ao trabalhar com importações de dados maiores.
Importando dados para nós:
- Feeds (atualmente Alpha para D7)
Os feeds importam os dados de maneira confiável. A velocidade é razoável para as fontes de dados menores, mas é muito lenta para as tabelas de mais de 300k.
Automação disponível usando cron e Job Scheduler (atualmente Alpha para D7).
Não ter um índice ou chave exclusiva disponível nos dados de origem está dificultando o uso. É mais rápido que os feeds, mas ainda é lento para importar tabelas muito grandes.
A automação está disponível via drush e cron.
Tabelas personalizadas em vez de nós
- Módulo de dados (atualmente Alpha para D7)
O módulo Data parece muito promissor, mas é muito problemático para o D7 no momento. Os requisitos de velocidade de automação e importação seriam facilmente atendidos usando dados, mas falta confiabilidade. A integração de visualizações (link para D6) parece muito promissora.
- Assistente de tabela (não disponível para D7)
Adicionado isso para referência. Não há candidato a D7 neste momento, mas poderia servir como ponto de partida para um módulo personalizado.
- Esquema de exibições (abandonado, apenas D6)
Adicionado isso para referência. Isso parece ter sido absorvido pelo Table Wizard no Drupal 6. Novamente, adicionado apenas para referência.
- Importador (RC2 para D7)
Parece exigir o Assistente de Tabela (somente D6) para a integração do Views . Adicionado para referência, mas não atende ao requisito de Visualizações.
@MPD - Adicionadas "tabelas personalizadas" como uma possível solução e módulos expandidos. Obrigado por esta adição.