Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Bevorzugte Methode für Materialized Views (Summary Tables) mit MySQL

Flexviews (http://flexvie.ws) ist ein Open-Source-PHP/MySQL-basiertes Projekt. Flexviews fügt inkrementell aktualisierbare materialisierte Ansichten (wie die materialisierten Ansichten in Oracle) zu MySQL hinzu, verwendet PHP und gespeicherte Prozeduren.

Es enthält FlexCDC, ein PHP-basiertes Dienstprogramm zur Erfassung von Änderungsdaten, das Binärprotokolle liest, und die gespeicherten Flexviews-MySQL-Prozeduren, die zum Definieren und Verwalten der Ansichten verwendet werden.

Flexviews unterstützt Verknüpfungen (nur innere Verknüpfungen) und Aggregation, sodass es zum Erstellen von Übersichtstabellen verwendet werden kann. Darüber hinaus können Sie Flexviews in Kombination mit dem Aggregationsdesigner von Mondrian (einem ROLAP-Server) verwenden, um Übersichtstabellen zu erstellen, die das ROLAP-Tool automatisch verwenden kann.

Wenn Sie keinen Zugriff auf die Protokolle haben (es kann sie übrigens aus der Ferne lesen, sodass Sie keinen Serverzugriff benötigen, aber Sie benötigen SUPER-Privilegien), können Sie die Aktualisierung „VOLLSTÄNDIG“ mit Flexviews verwenden. Dies automatisiert das Erstellen einer neuen Tabelle mit 'CREATE TABLE ... AS SELECT' unter einem neuen Tabellennamen. Dann verwendet es RENAME TABLE, um die neue Tabelle gegen die neue auszutauschen, und benennt die alte mit einem _old Postfix um. Schließlich lässt es die alte Tabelle fallen. Der Vorteil hierbei ist, dass das SQL zum Erstellen der Ansicht in der Datenbank (flexviews.mview) gespeichert ist und mit einem einfachen API-Aufruf aktualisiert werden kann, wodurch der Austauschprozess automatisiert wird.