Nur ein kurzes Update. Dank der Arbeit einer unglaublich engagierten kleinen Gruppe sind wir fast fertig.
Ab nächsten Montag werden wir einige Testläufe auf einer Staging-Maschine starten, aber die Ergebnisse sind vielversprechend.
Dies sind die Gesamtzahlen, die wir haben:
Größenmäßig ist die Datenbank im vbulletin3-Format etwa 8 GB groß.
Und die Tests, die von lokalen Maschinen aus durchgeführt werden und sich remote mit der Quell-DB verbinden, dauern etwa 6 Stunden.
Das Skript migriert alle Foren/Unterforen und übersetzt sie in Kategorien und Unterkategorien. Es werden Unterkategorien der 3. Ebene benötigt, da wir ein ziemlich altmodisches Forum haben und dort einige “Clan”-Foren gehostet werden, die wirklich SEHR verschachtelt sind.
Alles, was über die 3. Ebene hinausgeht, wird automatisch in ein Tag umgewandelt, wobei die hierarchische Struktur, die es in Bezug auf die Eltern/Kind-Unterforenbeziehung hatte, beibehalten wird (mithilfe von Tag-Gruppen).
Jedes Unterforum, das entweder benutzerdefinierte Berechtigungen hatte (z. B. schreibgeschützt), nur für Mods/Admins zugänglich war oder einfach nur passwortgeschützt verborgen war, wird als “nur für Mitarbeiter zugänglich” migriert. Am Ende werden es etwa ein Dutzend sein, und wir können die Mitarbeiter sie manuell für die richtigen Benutzergruppen wieder aktivieren lassen.
Benutzer, Benutzergruppen und private Nachrichten werden ebenfalls migriert. Private Nachrichten werden auf die “Discourse-Art” migriert, was bedeutet, dass anstelle von N Themen mit 1 Nachricht, wie man es bei einer einfachen 1:1-Migration der Datenbank sehen würde (wirklich eine alberne Datenbankstruktur), es die Thread-organisierte Art und Weise haben wird, die Discourse verwendet.
Das Skript erledigt auch bereits das “Kochen” (Vorbereiten), um den Prozess für alle Beiträge zu beschleunigen.
Die Migration von Themen und Beiträgen erfolgt über mehrere parallele Verbindungen und wird immer versuchen, so viele Verbindungen wie möglich zu nutzen, die die Quell-DB zulässt.
Wir werden sehen, wie viel Zeit es im Durchschnitt auf einer kleinen Maschine mit 2 vCores/4 GB RAM in Anspruch nimmt, aber es ist bereits um mehrere Größenordnungen schneller als das aktuelle (unvollendete) Bulk-Migrationsskript, das verfügbar ist.
Mehrere Teile könnten besser optimiert werden und VIEL davon ist wirklich speziell für unser Forum entwickelt (wir haben sogar eine Zuordnung in JSON, um viele der Forenstrukturen neu zu organisieren, damit sie weniger chaotisch sind), daher bezweifle ich, dass es ohne einige Anpassungen von jemand anderem verwendet werden könnte, aber wir werden intern diskutieren, ob wir das Quell-Repository nach Abschluss unserer Migration öffentlich zugänglich machen wollen.
