เป้าหมายของฉันคือการผลิตที่รวดเร็วเชื่อถือได้และวิธีการแบบอัตโนมัติสำหรับการเข้าถึงแบบอ่านอย่างเดียวข้อมูลที่มีอยู่ในหลายขนาดใหญ่มากแหล่งข้อมูลแบนไฟล์ ( CSV s คงความกว้างและเอกสาร XML) โดยใช้ Drupal 7 ที่สามารถสอบถามกับใช้เข้าชม 3โมดูล. ฉันต้องการใช้โมดูลที่มีอยู่แล้ว แต่การสร้างโมดูลที่กำหนดเองก็เป็นตัวเลือกเช่นกัน
เพื่อช่วยแยกแยะโมดูลและวิธีการที่ไม่เหมาะกับงานนี่คือสถิติของไฟล์ที่ฉันใช้งาน:
- ประจำปีนำเข้า: 8,500,000 เส้นCSVไฟล์ (ล้างและโหลดใหม่ทุกปีมีคีย์หลัก)
- นำเข้ารายสัปดาห์: ไฟล์ความกว้างคงที่ 350,000 บรรทัด (ล้างและโหลดใหม่ทุกสัปดาห์ไม่มีคีย์หลัก )
- นำเข้ารายชั่วโมง: 3,400 บรรทัดCSVไฟล์ (ต้องการอัปเดตและซิงค์บ่อยที่สุดเท่าที่จะทำได้ แต่ไม่เกินทุก ๆ 20 นาทีมีคีย์หลัก)
- นำเข้ารายวัน: ไฟล์ XML 200 รายการ (ล้างและรีโหลดทุกวันมีคีย์หลัก)
การแปลงระหว่างสามรูปแบบไม่ใช่ปัญหาและสามารถทำได้หากจะปรับปรุงประสิทธิภาพการนำเข้าหรืออนุญาตให้ใช้เครื่องมือที่ดีกว่า ( AWKสำหรับความกว้างคงที่เป็น CSVและอื่น ๆ ) การดึงและการแปลงอัตโนมัติทำได้ง่ายผ่าน cron และshสคริปต์ แต่ยังคงต้องทำการรวมระบบ Drupal 7 โดยอัตโนมัติ การใช้ตารางที่กำหนดเองนั้นสามารถทำได้ตราบเท่าที่ vews สามารถอ้างอิงข้อมูลโดยใช้ความสัมพันธ์
อะไรคือวิธีปฏิบัติที่ดีที่สุดในการรวมข้อมูลประเภทนี้กับ Drupal 7 นอกจากนี้ฉันยังไม่ทิ้งรายละเอียดที่สำคัญเกี่ยวกับข้อมูลหรือสิ่งที่ฉันพยายามทำให้สำเร็จ
ต่อไปนี้เป็นโครงการบางอย่างที่ฉันกำลังมองหาเพื่อหาทางแก้ไข ฉันต้องการขยายตัวเพื่อช่วยผู้อื่นในการตัดสินใจว่าจะใช้เส้นทางใดเมื่อทำงานกับการนำเข้าข้อมูลที่ใหญ่ขึ้น
การนำเข้าข้อมูลไปยังโหนด:
- ฟีด (ปัจจุบันคืออัลฟ่าสำหรับ D7)
ฟีดจะนำเข้าข้อมูลได้อย่างน่าเชื่อถือ ความเร็วเหมาะสมสำหรับแหล่งข้อมูลขนาดเล็ก แต่ช้าเกินไปสำหรับ 300k + ตาราง
การทำงานอัตโนมัติพร้อมใช้งานโดยใช้ cron และJob Scheduler (ปัจจุบันคืออัลฟ่าสำหรับ D7)
การไม่มีดัชนีหรือคีย์เฉพาะในแหล่งข้อมูลทำให้ยากต่อการใช้งาน มันเร็วกว่าฟีด แต่ก็ยังช้าที่จะนำเข้าตารางที่มีขนาดใหญ่มาก
ระบบอัตโนมัติใช้ได้ผ่าน drush และ cron
ตารางที่กำหนดเองแทนโหนด
- โมดูลข้อมูล (ปัจจุบันเป็นอัลฟ่าสำหรับ D7)
โมดูลข้อมูลลักษณะสัญญาว่า แต่เป็นรถมากสำหรับ D7 ในขณะนี้ ความต้องการอัตโนมัติและความเร็วนำเข้านั้นสามารถทำได้ง่ายโดยใช้ข้อมูล แต่ขาดความน่าเชื่อถือ การรวมการดู (ลิงก์สำหรับ D6) ดูมีแนวโน้มมาก
- ตัวช่วยสร้างตาราง (ไม่พร้อมใช้งานสำหรับ D7)
เพิ่มสิ่งนี้สำหรับการอ้างอิง ไม่มีผู้สมัคร D7 ในตอนนี้ แต่สามารถทำหน้าที่เป็นจุดเริ่มต้นสำหรับโมดูลที่กำหนดเอง
- Schema การดู (ถูกทอดทิ้ง D6 เท่านั้น)
เพิ่มสิ่งนี้สำหรับการอ้างอิง ดูเหมือนว่าตารางดังกล่าวจะถูกดูดซับโดย Table Wizard ใน Drupal 6 อีกครั้งเพิ่มเพื่อการอ้างอิงเท่านั้น
- ผู้นำเข้า (RC2 สำหรับ D7)
ดูเหมือนว่าต้องการตัวช่วยสร้างตาราง (D6 เท่านั้น) สำหรับการรวมViews เพิ่มเพื่อการอ้างอิง แต่ไม่เป็นไปตามข้อกำหนดของ Views
@MPD - เพิ่ม "Custom Tables" เป็นวิธีแก้ปัญหาที่เป็นไปได้และขยายโมดูล ขอบคุณสำหรับการเพิ่มนี้