Dans la situation d'une application Web à laquelle les entreprises peuvent s'inscrire et utiliser pour gérer les données, quels sont les avantages et les inconvénients des deux options suivantes?Plusieurs bases de données par rapport à une base de données avec des ID utilisés pour séparer les organisations
Une base de données par organisation où les données pour chaque organisation est entièrement séparés en bases de données individuelles, avec une (très petite) base de données centralisée qui tient une liste de base des organisations et de leurs identifiants de base de données.
Une base de données pour l'ensemble de l'application où toutes les entités sont stockées dans une grande base de données et séparées à l'aide d'une colonne d'identificateur d'organisation sur chaque table.
D'autres aspects à considérer:
- Les données ne seront jamais partagées entre les organisations dans la base de données, ni ne les informations de connexion.
- Certaines organisations permettront au grand public d'enregistrer un compte auprès de l'application pour soumettre des données, d'autres non.
- Nous prévoyons d'exposer une API publique pour que les organisations puissent intégrer leurs processus actuels à notre application. Les organisations pourront générer des clés API pour autoriser l'accès à leurs données, mais il n'y aura pas d'API publique couvrant les organisations.
- Les entreprises stockent des données potentiellement sensibles dans l'application.
D'après votre expérience et/ou de connaissances, ce qui est la bonne façon de s'y prendre cette décision de conception (ou est-il un « droit » chemin du tout?)
Une excellente lecture. –