De acuerdo, de varios comentarios he reunido la siguiente información sobre sus limitaciones y requisitos. Avísame si tengo algo mal aquí.
- Cifrado para satisfacer las reglas de seguridad de HIPAA
- Cumplimiento con el plan de recuperación ante desastres que cumple con HIPAA de su empresa
- Capaz de escalar a múltiples máquinas bajo una carga creciente del servidor
- Permitir la tenencia múltiple como parte de un producto PaaS.
- Los datos actuales se almacenan en múltiples archivos con formato JSON
- Los archivos de datos actuales son muy jerárquicos, y cada JSON tiene datos lógicamente similares (uno con información de muchos médicos, un archivo separado para los datos de las pruebas médicas de cada médico, etc.)
PaaS multi-tenancy puede brindarle la forma más fácil de distribución. Puede segmentar sus datos según el inicio de sesión de sus clientes. Mantenga una tabla en el nivel de API de inicio de sesión que le indique qué servidor aloja los datos de cada cliente. Esto probablemente no tendría casi ningún impacto en su arquitectura actual, aparte del enrutamiento inicial de las solicitudes de API.
Si cree que un solo cliente aún requeriría escalabilidad más allá de un solo servidor, elija algunos objetos raíz de alto nivel y particione en ellos. Esto puede ser tan simple como la primera letra del apellido de un médico. O el primer número en su número NPI. O quizás segmente por región, nombre del hospital o especialidad. Puede segmentar fácilmente sin divulgar información de salud protegida, por lo que las reglas de HIPAA no deberían ser un obstáculo.
- ¿Qué se puede esperar de una clase universitaria de informática?
- ¿Cómo debo prepararme para un rol de ingeniería de software en Freshworks?
- Cómo postularse para trabajar en Europa o Londres como ingeniero de software con 2 años de experiencia
- ¿Es útil una certificación A + o una certificación Linux + para alguien que intenta entrar en el desarrollo de software con antecedentes que no son CS?
- ¿Cómo se hizo el primer software de programación?
En cuanto a las reglas de recuperación de desastres de HIPAA, probablemente no sean tan estrictas como cree. Por lo general, solo necesita un plan de recuperación ante desastres razonable y apropiado. A menos que esté construyendo un sistema en el que estar inactivo durante tres minutos le costará vidas, puede estar exagerando sus necesidades de conmutación por error. He trabajado en sistemas que cumplen con HIPAA para el almacenamiento y la recuperación de medicamentos y registros médicos programados, y ninguno de ellos tenía un requisito de tiempo de actividad de tres nueves.
El cumplimiento de la recuperación ante desastres de HIPAA tiene más que ver con un plan detallado de cómo se recuperará, a quién se le notificará y cuándo, y cómo se asegurará de que la información de salud protegida se mantenga segura durante el proceso. Sí, se le pedirá que se recupere “rápidamente”, pero eso será muy subjetivo.
De cualquier manera, la replicación básica maestro-esclavo probablemente resolverá sus necesidades de replicación. La implementación puede no ser trivial, pero las decisiones arquitectónicas se entienden bien en la industria, por lo que puede encontrar mucho material sobre esto.
En cuanto a la teoría del nivel de implementación de aprendizaje, sugiero los Principios de los sistemas de bases de datos distribuidas (Ozsu, Valduriez). Lo compré dos veces después de que la encuadernación se cayera de mi edición anterior, y creo que se extiende muy bien entre la teoría y los detalles de implementación. Es bastante largo, pero está estructurado de tal manera que solo necesita leer las secciones que sean apropiadas para sus necesidades.
FYI: edité esta respuesta en gran medida después de leer los comentarios proporcionados por el autor de la pregunta.