it-swarm.com.de

Migration von Nicht-WordPress-CMS zu WordPress, viele Daten müssen verschoben werden - mögliche Lösungen?

Ich habe ein benutzerdefiniertes CMS, das wir in Wordpress portieren möchten. (Ich kann sehen, wie du dich fragst:

Warum nicht einfach beim benutzerdefinierten CMS bleiben?

Nun, es ist veraltet, klobig und es wird zu mühsam, es zu warten. Es gibt auch viele Funktionen von WordPress, die wir wirklich gerne nutzen würden.

Also hier ist das Problem- Wir haben einen Haupttyp von Inhalten (nennen wir sie Tours ). Jeder Tour sind ungefähr 30 Metadaten zugeordnet (alle derzeit unterschiedlichen Spalten in der Tabelle Tours). Wir haben derzeit ca. 600.000 Touren.

Jeder Tour sind verschiedene Arten von Bildern zugeordnet, von Innenbildern bis Außenbildern bis Grundrisse usw. Mit jedem Bild sind ungefähr 10 Metadaten verknüpft (wiederum alle aktuellen Spalten in der Tabelle Images). Wir haben derzeit ungefähr 7 Millionen Bilder in unserem System.

Sie können wahrscheinlich unser Problem erkennen: Wenn wir alle Touren und Bilder in die Standardtabellen wp_posts und wp_postmeta einfügen, werden in wp_posts und Millionen von Zeilen angezeigt weit mehr als das in der wp_postmeta Tabelle. Ich bin nicht sicher, wie viel mySQL bis zur Anzahl der Zeilen verarbeiten kann, aber es scheint wahrscheinlich, dass wir einen Verlangsamungspunkt erreichen, insbesondere wenn wir die wp_postmeta -Tabelle abfragen.

Meine Fragen:

  1. Eine Möglichkeit, die wir besprochen haben, besteht darin, "aktive" Tourenim wp_posts zu halten und ältere Touren in einer separaten Tabelle zu archivieren. Kennt jemand irgendwelche Plugins, die so etwas tun?

  2. Eine andere Möglichkeit besteht darin, die Touren in die wp_posts-Tabelle einzufügen und die Bilder davon getrennt zu halten. Eine Sache, die wir wirklich gerne verwenden würden, ist der Wordpress-Bild-Uploader. Gibt es sowieso zu überschreiben, wo die Bilddaten gespeichert sind?

  3. Irgendwelche anderen Vorschläge, wie wir so viele Daten am besten in Wordpress implementieren könnten?

3
user19856

Ich würde vorschlagen, Ihre Touren als Posts (oder benutzerdefinierte Posts) einzufügen und eine benutzerdefinierte Referenztabelle zu verwenden, deren ID mit der Post-ID des Tour-Posts übereinstimmt.

Sie können die in Wordpress integrierten Meta-Box-Funktionen verwenden, um jede Tour auf der Seite "Beiträge bearbeiten" zu bearbeiten.

Sie können Ihre Referenztabelle aktualisieren, indem Sie die Aktion 'save_post' aktivieren.

Die Suchgeschwindigkeit wird erheblich verbessert, wenn Sie diese Referenztabelle als MYISAM erstellen und feste Spaltenbreiten zusammen mit der Indizierung durchsuchbarer Spalten verwenden.

Mit dieser Datenmenge können Sie mit dieser Option nicht nur einen Großteil der in Wordpress integrierten Funktionen nutzen, sondern auch die zusätzlichen Daten schnell nachschlagen.

1
Douglas.Sesar

Sehen Sie sich http://podsframework.org/ an. Es handelt sich um einen benutzerdefinierten Post-Type-Enhancer, mit dem Sie sogar eine eigenständige Tabelle für jede Art von Objekt erstellen können, die Sie benötigen.

1
Bakaburg