Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel est l'équivalent du trou noir ?

Avec PostgreSQL 9.1, vous pouvez créer des déclencheurs de la même manière que vous pouvez le faire avec MySQL. Notez qu'il n'est pas possible de créer des déclencheurs sur les vues dans les versions antérieures à 9.1.

Utilisez-vous le moteur de stockage BLACKHOLE pour votre trou noir tables dans MySQL ou est-ce juste un nom ? Il n'y a pas de moteurs de stockage enfichables dans PostgreSQL, mais vous pouvez obtenir le même comportement qu'avec le moteur de stockage BLACKHOLE dans MySQL avec des déclencheurs INSTEAD OF sur une vue dans PostgreSQL. Je ne comprends pas tout à fait votre point concernant la connaissance des données contrôles :autant que je sache, vous n'avez aucune conscience des données dans une table BLACKHOLE (le moteur de stockage), mais d'un autre côté vous pouvez bien sûr par ex. mapper une entité hibernate à une vue de base de données.

Que ce soit une bonne ou une mauvaise idée d'utiliser des déclencheurs pour simplifier le code de l'application dépend du cas d'utilisation réel. Par exemple, je préfère les déclencheurs à la logique d'application pour la journalisation et l'audit, car cette approche offre une solution unique pour différentes applications se connectant à la base de données ainsi que pour les requêtes/instructions ad hoc d'un administrateur. Mais d'après mon expérience, les déclencheurs ne suppriment pas la complexité, mais la déplacent simplement vers la couche de base de données. Cela rend généralement une application multicouche plus difficile à étendre et à maintenir.