Il mio obiettivo è quello di produrre un metodo rapido, affidabile e automatizzato per accedere ai dati di sola lettura contenuti in diverse fonti di dati di file flat di grandi dimensioni ( CSV , larghezza fissa e documenti XML) utilizzando Drupal 7 su cui è possibile eseguire query con l'utilizzo di Views 3 modulo. Preferirei utilizzare i moduli già disponibili, ma la costruzione di un modulo personalizzato è anche un'opzione.
Per aiutare a escludere moduli e metodi non adatti all'attività, ecco le statistiche sui file con cui sto lavorando:
- Importazione annuale: file CSV di 8.500.000 righe . (Eliminato e ricaricato ogni anno. Ha la chiave primaria.)
- Importazione settimanale: file a larghezza fissa di 350.000 righe. (Eliminato e ricaricato settimanalmente. Nessuna chiave primaria .)
- Importazione oraria: file CSV a 3.400 righe . (Vorrebbe aggiornare e sincronizzare il più spesso possibile, ma non più di ogni 20 minuti. Ha la chiave primaria)
- Importazione giornaliera: file XML di 200 elementi. (Eliminati e ricaricati quotidianamente. Ha la chiave primaria)
La conversione tra i tre formati non è un problema e può essere eseguita se migliorerà le prestazioni di importazione o consentirà di rendere disponibili strumenti migliori. ( AWK per Fixed Width to CSV , ecc.) Il recupero e l'automazione della conversione sono facili tramite gli script cron e sh , ma devono comunque automatizzare l'integrazione di Drupal 7. L'uso di tabelle personalizzate è anche possibile fintanto che vews può fare riferimento ai dati usando le relazioni.
Quale sarebbe la migliore pratica per realizzare questo tipo di integrazione dei dati con Drupal 7? Inoltre, sto tralasciando alcuni dettagli importanti riguardanti i dati o ciò che sto cercando di realizzare?
Ecco alcuni progetti che sto attualmente guardando per trovare una soluzione. Vorrei approfondire questo aspetto per aiutare gli altri a decidere quale strada prendere quando si lavora con importazioni di dati più grandi.
Importazione di dati in nodi:
- Feed (attualmente Alpha per D7)
I feed importeranno i dati in modo affidabile. La velocità è ragionevole per le origini dati più piccole ma è troppo lenta per le tabelle da 300k +.
Automazione disponibile utilizzando cron e Job Scheduler (attualmente Alpha per D7).
Non avere un indice o una chiave univoca disponibile nei dati di origine rende questo difficile da usare. È più veloce dei feed, ma è ancora lento per importare tabelle molto grandi.
L'automazione è disponibile via drush e cron.
Tabelle personalizzate anziché nodi
- Modulo dati (attualmente Alpha per D7)
Il modulo dati sembra molto promettente, ma al momento è molto difettoso per D7. I requisiti di velocità di automazione e importazione verrebbero facilmente soddisfatti utilizzando i dati, ma manca l'affidabilità. L' integrazione delle viste (link è per D6) sembra molto promettente.
- Procedura guidata tabella (non disponibile per D7)
Aggiunto questo per riferimento. Non esiste un candidato D7 a questo punto, ma potrebbe fungere da punto di partenza per un modulo personalizzato.
- Schema visualizzazioni (abbandonato, solo D6)
Aggiunto questo per riferimento. Questo sembra essere stato assorbito dalla Creazione guidata Tabella in Drupal 6. Ancora una volta, aggiunto solo come riferimento.
- Importatore (RC2 per D7)
Sembra richiedere la Creazione guidata tabella (solo D6) per l' integrazione di Views . Aggiunto come riferimento, ma non soddisfa i requisiti di Views.
@MPD - Aggiunte "Tabelle personalizzate" come possibile soluzione e moduli espansi. Grazie per questa aggiunta.