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

Was ist das Äquivalent von Blackhole?

Mit PostgreSQL 9.1 können Sie Trigger erstellen genauso können Sie es mit MySQL machen. Beachten Sie, dass es in Versionen vor 9.1 nicht möglich ist, Trigger für Ansichten zu erstellen.

Verwenden Sie die Speicher-Engine BLACKHOLE für Ihr Blackhole? Tabellen in MySQL oder ist es nur ein Name? Es gibt keine austauschbaren Speicher-Engines in PostgreSQL, aber Sie können das gleiche Verhalten wie mit der Speicher-Engine BLACKHOLE in MySQL mit INSTEAD OF-Triggern für eine Ansicht in PostgreSQL erzielen. Ich verstehe Ihren Standpunkt bezüglich datenbewusst nicht ganz Kontrollen:Afaik, Sie haben kein Datenbewusstsein in einer BLACKHOLE-Tabelle (der Speicher-Engine), aber andererseits kann man natürlich z.B. eine Hibernate-Entität einer Datenbankansicht zuordnen.

Ob es eine gute oder schlechte Idee ist, Trigger zur Vereinfachung des Anwendungscodes zu verwenden, hängt vom tatsächlichen Anwendungsfall ab. Zum Beispiel bevorzuge ich Trigger gegenüber Anwendungslogik für Protokollierung und Auditing, da dieser Ansatz eine einzige Lösung für verschiedene Anwendungen bietet, die sich mit der Datenbank verbinden, sowie für Ad-hoc-Abfragen/Anweisungen eines Administrators. Aber meiner Erfahrung nach entfernen Trigger die Komplexität nicht, sondern verlagern sie nur auf die Datenbankschicht. Dies erschwert im Allgemeinen die Erweiterung und Wartung einer mehrschichtigen Anwendung.