In Bezug auf "Dynamic" , das nicht komprimierte Barracuda-reine Format, hat sich von "Compact" nur wenig geändert, vor allem was die Speicherung von Blobs (und sehr dynamischen Feldern) betrifft . Ich hatte noch nie Probleme mit compact vs. dynamic, daher kann ich Barracuda's dynamic ohne Bedenken empfehlen. Denken Sie daran, dass Barracuda auch alte redundante und kompakte Zeilenformate unterstützt .
Der Artikel, den Sie erwähnen, ist wahrscheinlich zu alt (5.1) und, wie Peter Z., CEO von Percona, in den Kommentaren erwähnt, ist er möglicherweise etwas irreführend. Das bedeutet nicht, dass die Komprimierung abhängig von der Arbeitslast kein großer Gewinn sein kann. Ich würde Ihnen jedoch empfehlen, es mit Versionen> = 5.6 zu versuchen, da sowohl Facebook als auch Oracle zahlreiche Verbesserungen vorgenommen haben.
Als neueres Referenzmaterial empfehle ich Ihnen:
Insbesondere mag ich Facebook-Materialien, da sie von Drittanbietern stammen (keine Agenda erforderlich) und eine der größten MySQL-Bereitstellungen der Welt haben. Wie Sie sehen, waren die Setups sehr erfolgreich und kombinierten die SSD-Technologie mit der Komprimierung.
Wird es dir nützen? Das hängt von Ihrer Arbeitsbelastung, Ihrem Arbeitssatz und Ihrem Setup (IOPS, Speicher) ab . Abhängig davon, ob Sie an E / A, CPU oder Speicher gebunden sind, kann sich die Komprimierung in einigen Fällen negativ auswirken, indem Sie zusätzliche CPU- und Speicheranforderungen hinzufügen (sowohl komprimierte als auch nicht komprimierte Seiten werden im InnoDB-Pufferpool gespeichert) oder zu viele Komprimierungsfehler generieren die Latenz. Dies hängt auch von der Art der Daten ab: Die Komprimierung kann bei großen Textblobs sehr hilfreich sein, bei bereits komprimierten Daten kann sie jedoch unbrauchbar sein.
Nach meiner Erfahrung gibt es in der Praxis Menschen, für die die Komprimierung der heilige Gral der Leistung war und die damit sehr zufrieden sind. In anderen Fällen mussten wir jedoch auf unkomprimierte Daten zurückgreifen, da kein Gewinn erzielt wurde. Während eine sehr hohe Schreibarbeitslast wie eine schlechte Umgebung für die Komprimierung erscheint, ist sie in Ihrem speziellen Fall möglicherweise nicht an die CPU und den Arbeitsspeicher gebunden, aber an die E-Mails.
Im Allgemeinen ist es sehr schwierig, Ergebnisse vorherzusagen. In der Regel sollten Sie eine Testumgebung für das Benchmarking einrichten und dann herausfinden, warum Sie bessere oder schlechtere Ergebnisse erzielen (und auf diese Weise mit unterschiedlichen Blockgrößen usw. spielen können). Barracuda ist absolut sicher. Komprimierung kann für Sie sein oder nicht. Und Sie können immer mit anderen Komprimierungsmethoden experimentieren, wie der clientseitigen Komprimierung von Blobs (zum Beispiel wenn Sie CPU-gebunden sind) oder anderen Engines von Drittanbietern wie RocksDB und TokuDB , bei denen die Komprimierung eine große Priorität hat, da sie fokussiert ist bei der Leistung für größere Datensätze, als InnoDB verarbeiten kann.
Kurz gesagt: Hauptgründe für die Verwendung von Barracuda sind die BLOB-Verarbeitung, die innodb_large_prefix
Kompatibilität (große Indizes) und die Komprimierung. Dynamisch ist unter MySQL 8.0 nun das Standarddateiformat.