Ich entwerfe ein System, das 500 Indizes hat, von denen jeder eine Berechnung basierend auf Tabellen mit Millionen von Zeilen ist, und ich bin zwischen den Tabellen und alle Arten von ziemlich komplexen Logik tun, so oft eine einzelne Abfrage dauert 10 Minuten oder so. Ich mache das derzeit in MySQL und ich mache nichts parallel. Also 10 Minuten für die erste Indexberechnung, dann 10 Minuten für die nächste, und 10 Minuten für die 3., ... 10 Minuten für die 500. ... es dauert lange!500 Suchmaschinenindizes, die jeweils berechnet werden müssen. Wie skalieren?
Wie erstellen Menschen normalerweise viele Indizes, die auf komplexen Berechnungen vieler Tabellen und Zeilen basieren? machen sie sie nur parallel? Werfen sie mehr Hardware darauf? Gibt es Best Practices, denen ich folgen könnte?
Bitte geben Sie uns weitere Hinweise, was Sie tun. –
Ich habe Hunderte von Millionen von Objekten und jedes hat viele Attribute. Ich mache eine Reihe von Berechnungen an Menschen, abhängig von den Werten der einzelnen Attribute. Manchmal diktiert ein Attribut den Algorithmus, manchmal ist es eine Kombination von Attributen, die den Algorithmus bestimmen. In jedem Fall wird derzeit alles seriell ausgeführt, und es dauert sehr lange. Seit ich dies gepostet habe, habe ich versucht, einige Dinge parallel zu machen, und mit 16 Threads auf Orakel konnte ich die Zeit reduzieren, aber es ist immer noch sehr langsam. Wie beschleunigen Menschen diese Art von Berechnungen? – user4504267
Welche nimmt sich die Zeit? Das Holen der Daten oder die Berechnung? –