DB multicliente. Estrategia para la identificación y autorización de documentos

Estoy considerando tener bases de datos separadas (una por empresa) frente a una base de datos multiempresa (con todas las empresas). Criterios

Un usuario puede pertenecer a una sola compañía y no puede acceder a documentos de otras compañías.Un administrador del sistema necesita mantener bases de datos para todas las empresas.Número de empresas / inquilinos: de cientos a decenas de milesHay un punto de entrada con autenticación para todas las empresas / inquilinos (resolverá el inquilino y lo dirigirá a la base de datos correcta).

Pregunta 1. ¿Hay alguna "buena práctica" para diseñar una base de datos multiempresa en RavenDB?

Hay un similarPublicar para MongoDB. ¿Sería lo mismo para RavenDB? Más registros afectaráníndices, pero ¿podría hacer que algunos inquilinos sufran el uso activo de un índice por parte de otros inquilinos?

Si tuviera que diseñar una base de datos multiempresa paraRavenDB, entonces veo la implementación como

tener una etiqueta por empresa / inquilino, por lo que todos los usuarios de una compañía tienen permiso para la etiqueta de la compañía y todos los documentos de nivel superior tienen la etiquetaKB en paquete de autenticación)tener una etiqueta de ID de inquilino como prefijo para cada ID de documento (debido arecomendación oficial usar identificadores secuenciales y estoy contento con generar ID en el servidor)

Pregunta # 2.1. Es etiquetar la mejor manera de utilizar elPaquete de autorización para resolver los permisos de los usuarios y evitar el acceso a documentos de otros inquilinos?

Pregunta # 2.2. ¿Qué tan importante es tener la identificación del inquilino en el prefijo de identificación de los documentos de nivel superior? Supongo que la consideración principal aquí es el rendimiento una vez que los permisos se resuelven mediante etiquetas o me falta algo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta