Amacım , Views 3'ü kullanarak sorgulanabilen Drupal 7 kullanarak birkaç çok büyük düz dosya veri kaynağında ( CSV'ler , Sabit Genişlik ve XML dokümanları) bulunan salt okunur verilere erişmek için hızlı, güvenilir ve otomatik bir yöntem üretmektir. modülü. Zaten mevcut modülleri kullanmayı tercih ederim, ancak özel bir modül oluşturmak da bir seçenektir.
Göreve uygun olmayan modüllerin ve yöntemlerin dışlanmasına yardımcı olmak için, birlikte çalıştığım dosyaların istatistikleri:
- Yıllık İthalat: 8.500.000 satır CSV dosyası. (Yıllık temizlenir ve yeniden yüklenir. Birincil anahtarı vardır.)
- Haftalık İthalat: 350.000 satır sabit genişlikli dosya. (Haftalık temizlendi ve yeniden yüklendi. Birincil anahtar yok .)
- Saatlik İthalat: 3.400 satır CSV dosyası. (Mümkün olduğunca sık güncelleme ve senkronize etmek istiyorum, ancak her 20 dakikada bir olmamalıdır. Birincil anahtarı vardır)
- Günlük İçe Aktarma: 200 öğe XML dosyası. (Günlük temizlendi ve yeniden yüklendi. Birincil anahtarı var)
Üç biçim arasında dönüştürme yapmak bir sorun oluşturmaz ve içe aktarma performansını artıracak veya daha iyi araçların kullanılmasına izin verecekse yapılabilir. ( CSV'ye Sabit Genişlik vb. İçin AWK ) Alma ve dönüştürme otomasyonu cron ve sh komut dosyaları aracılığıyla kolaydır , ancak yine de Drupal 7 entegrasyonunu otomatikleştirmesi gerekir. Özel tabloların kullanımı, vews ilişkileri kullanarak verilere başvurabildiği sürece de mümkündür.
Drupal 7 ile bu tip veri entegrasyonunu gerçekleştirmek için en iyi uygulama hangisidir? Ayrıca, verilerle veya neyi başarmaya çalıştığımla ilgili önemli ayrıntıları dışarıda bırakıyor muyum?
İşte bir çözüm bulmak için aradığım birkaç proje. Diğerlerine daha büyük veri içe aktarmalarıyla çalışırken hangi rotayı izleyeceklerine karar vermek için bunu genişletmek istiyorum.
Verileri düğümlere aktarma:
- Yayınlar (Şu anda D7 için Alfa)
Feed'ler verileri güvenilir bir şekilde içe aktarır. Daha küçük veri kaynakları için hız makul, ancak 300k + tablolar için çok yavaş.
Otomasyon, cron ve Job Scheduler (Şu anda D7 için Alpha) kullanılarak kullanılabilir.
Kaynak verilerde bir dizin veya benzersiz anahtar bulunmaması bunu kullanmayı zorlaştırmaktadır. Özet akışlarından daha hızlıdır, ancak yine de çok büyük tabloları içe aktarmak yavaştır.
Otomasyona drush ve cron üzerinden ulaşılabilir.
Düğüm Yerine Özel Tablolar
- Veri Modülü (Şu anda D7 için Alfa)
Veri modülü çok umut verici görünüyor, ama şu anda D7 için çok adamcağız. Otomasyon ve içe aktarma hızı gereksinimleri veriler kullanılarak kolayca karşılanacaktır, ancak güvenilirlik eksiktir. Görünümler entegrasyonu (link D6) çok umut verici görünüyor.
- Tablo Sihirbazı (D7 için mevcut değil)
Referans için bunu ekledi. Bu noktada D7 adayı yoktur, ancak özel bir modül için bir başlangıç noktası görevi görebilir.
- Görünümler Şeması (Terk Edildi, yalnızca D6)
Referans için bunu ekledi. Bu, Drupal 6'daki Tablo Sihirbazı tarafından absorbe edilmiş gibi görünüyor. Yine, sadece referans için eklendi.
- İthalatçı (D7 için RC2)
Gerektirecek gibi görünüyor Tablo Sihirbazı için (D6 için) Görüntüleme entegrasyonu. Referans için eklendi, ancak Views gereksinimini karşılamıyor.
@MPD - Olası bir çözüm olarak "Özel Tablolar" ve genişletilmiş modüller eklendi. Bu ekleme için teşekkür ederim.