PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zur MySQL-Volltextsuche


Sephirot
04.01.2007, 15:32
Ich spiele mit dem Gedanken auf die Volltextsuche von MySQL umzusteigen. Unser Forum hat 5,1 Mio Beiträge und wir haben schon von MyISAM auf InnoDB umgestellt, da bei Suchvorgängen das Forum schrecklich lahm und nicht gut nutzbar war.
Ich befürchte das sich das dann trotz der schnelleren, so sagt man, MySQl-Suche wiederholt, da die Tabelle wieder nach MyISAM konvertiert wird. Bei 800 - 1000 Usern (evtl. die 100 Bots abziehen ;)), macht da die MySQL-Volltextsuche sinn?

Als zweites interessiert mich, wie viel Platz (auf der Festplatte) für die Aktivierung/Erstellung benötigt würde. zum Vergleich, postindex war 4,4 GiB und word 750 MiB groß mit 131,x Mio und 2,1 Mio Einträgen jeweils.

Mystics
05.01.2007, 23:13
Ja, die MySQL-Volltextsuche macht Sinn und wird bei dieser Menge an Beiträgen auch schneller sein.

Der Volltextindex dürfte nach der Erstellung etwa 3-4 GB groß sein (je nach MySQL-Einstellung ft_min_length / ft_max_length). Die Erstellung dürfte mindestens eine Stunde dauern, je nach Systemleistung.

Sephirot
09.01.2007, 19:04
Kann während dessen das Forum eigentlich weiterlaufen? Da die post und word tabelle von InnoDB in MyISAM konvertiert wird eigentlich nicht, gelle? :confused:

pogo
09.01.2007, 19:28
Ich würde das Forum komplett per htaccess oder Umbenennung des Verzeichnisses schließen und dann ganz in Ruhe konvertieren.

Man muss Schwierigkeiten ja nun nicht herausfordern, selbst wenn es ohne Schließung gehen sollte.

Sephirot
11.01.2007, 23:18
hm, das wäre wohl die sicherste Methode aber nicht so toll, daß Forum schon wieder abzuschalten. Letzte Woche Samstag den halben Tag wegen dem Update auf vB 3.6.4 und von den Weihnachten will ich lieber erst gar nicht anfangen.

Ist es möglich die zu duplizieren und parallel die Änderungen in beiden durchzuführen (Lesen nur im Original, Updates usw. auch im Duplikat)? Dann könnte ich die in aller seelenruhe Indizieren lassen während das Forum läuft.

Mystics
11.01.2007, 23:27
Und den Index willst du dann im Duplikat erstellen und die Original-Tabellen später damit ersetzen? Dann kannst du auch gleich einfach vorher ein Backup erstellen (was sowieso ein Muss ist) und die Original-Tabellen "live" indexieren lassen.

Oder meintest du, den Index im Original erstellen zu lassen? Aber wie willst du dann die Beiträge wieder einfügen, die währenddessen erstellt wurden?

Entweder du lebst mit der Downtime, oder du riskierst es im Live-Betrieb. Eine andere sinnvolle Möglichkeit gibt es nicht.

Sephirot
11.01.2007, 23:38
Und den Index willst du dann im Duplikat erstellen und die Original-Tabellen später damit ersetzen?
Genau das war mein Gedanke.

Aber wie willst du dann die Beiträge wieder einfügen, die währenddessen erstellt wurden?
Deswegen frug ich, ob es möglich wäre Änderungen in beiden durchzuführen, statt nur in der Originalen.

Mystics
11.01.2007, 23:46
Wie gesagt, dann kannst du auch gleich alles im Live-Betrieb machen. Ob du nun durch eine Hintergrundfunktion Beides aktualisiert, oder ob das vBulletin durch neue Themen/Antworten macht, ist dann auch schon egal.