
Guide complet de l’historique de l’activité des données dans YugabyteDB

Introduction
Dans le paysage en constante évolution de la gestion des bases de données, le maintien d’un historique complet de l’activité des données est essentiel pour les organisations cherchant à surveiller et sécuriser leurs interactions avec la base de données. YugabyteDB, une base de données SQL distribuée haute performance, offre des mécanismes de suivi des activités de la base de données, garantissant ainsi une visibilité sur les performances du système, la sécurité et la conformité.
Capacités natives d’historique de l’activité des données
Contrairement aux bases de données relationnelles traditionnelles, YugabyteDB est construit sur une architecture distribuée et ne supporte pas l’extension pgAudit
. Cependant, la mise en place de l’audit peut être réalisée à l’aide de tables personnalisées et d’outils de surveillance intégrés tels que yb_stat_statements
et yb_admin
.
Implémentation de tables d’audit personnalisées
CREATE TABLE audit_log (
log_id SERIAL PRIMARY KEY,
user_name TEXT,
action_type TEXT,
object_name TEXT,
operation_details JSONB,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE FUNCTION log_event() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO audit_log (user_name, action_type, object_name, operation_details)
VALUES (current_user, TG_OP, TG_TABLE_NAME, row_to_json(NEW));
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER insert_audit
AFTER INSERT ON user_interactions
FOR EACH ROW EXECUTE FUNCTION log_event();
CREATE TRIGGER update_audit
AFTER UPDATE ON user_interactions
FOR EACH ROW EXECUTE FUNCTION log_event();
Surveillance des performances à l’aide des outils intégrés de Yugabyte
Utiliser yb_stat_statements
YugabyteDB fournit l’extension yb_stat_statements
, similaire à pg_stat_statements
de PostgreSQL, qui suit les requêtes exécutées.
CREATE EXTENSION IF NOT EXISTS yb_stat_statements;
SELECT query, calls, total_time, rows
FROM yb_stat_statements
ORDER BY total_time DESC
LIMIT 10;
Utiliser yb_admin
pour la surveillance du cluster
# Vérifier l'état des serveurs de tablettes
./yb-admin -master_addresses <master-ip> list_tablet_servers
Exemple de sortie pour yb_stat_statements
Requête | Appels | Temps total (ms) | Lignes retournées |
---|---|---|---|
SELECT * FROM audit_log | 1500 | 32000 | 4500 |
UPDATE user_interactions SET action_type=‘MODIFIED’ WHERE user_id=102 | 500 | 20000 | 500 |
Historique avancé de l’activité des données avec DataSunrise
Bien que YugabyteDB propose un suivi natif de l’activité via des tables d’audit personnalisées et des outils de surveillance intégrés, les organisations ayant des besoins plus complexes en matière de sécurité et de surveillance peuvent renforcer leurs capacités d’audit grâce à des solutions telles que DataSunrise.

- Suivi en temps réel de l’activité de la base de données


Bonnes pratiques pour une surveillance fiable
- Optimiser les performances
- Utiliser une journalisation sélective pour capturer uniquement les événements nécessaires
- Examiner et ajuster régulièrement les paramètres d’audit
- Éviter une journalisation excessive susceptible d’affecter les performances
CREATE ROLE activity_analyst WITH LOGIN;
GRANT SELECT ON audit_log TO activity_analyst;
- Renforcer la sécurité et la conformité
- Mettre en œuvre des contrôles d’accès basés sur les rôles
- Maintenir des politiques de rétention appropriées pour les journaux
- Sécuriser les données d’audit sensibles
- Réaliser des audits périodiques de l’historique de l’activité
Conclusion
La gestion efficace de l’historique de l’activité des données dans YugabyteDB nécessite un équilibre entre un suivi rigoureux et les performances du système. En tirant parti des tables d’audit personnalisées et des outils de surveillance intégrés de YugabyteDB, les organisations peuvent obtenir une visibilité sur les interactions avec la base de données tout en maintenant la conformité et la sécurité. Des solutions avancées telles que DataSunrise renforcent encore ces capacités.
Pour obtenir des conseils supplémentaires, consultez la documentation de sécurité de YugabyteDB ou explorez