es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estructura de la base de datos CouchDB

Estamos creando una aplicación de Capacitor para barcos de pesca para registrar capturas, etc. Estamos contemplando el uso de PouchDB/PouchDB-authentication con una configuración de peruser de CouchDB en el servidor remoto. Solo he trabajado con bases de datos sql antes, nunca con bases de datos basadas en documentos. He leído toda la documentación, pero todavía tengo dificultades para entenderlo y planificar la estructura de la base de datos.
Requisitos principales:
– Para cada barco, habrá un pequeño número de usuarios (<9) que deberán tener credenciales de inicio de sesión separadas.
– Para cada barco, se agregarán viajes de pesca a medida que ocurran. Cada viaje consistirá en varios mensajes de captura que se pueden almacenar fácilmente en formato json.
– No hay necesidad de leer datos de varios barcos a la vez. Hay otros mecanismos que se encargan de eso (no controlados por nosotros).

Lo que necesitamos saber/decidir:
– Configuración de peruser. ¿Pueden los usuarios de un barco en particular compartir los datos de ese barco aunque tengan bases de datos separadas? Si no, ¿podemos hacer que peruser sea “por barco” y mantener a los usuarios del barco en un documento? Supongo que los usuarios tendrían que compartir las credenciales del barco entre ellos y no tener credenciales personales. Podría ser una opción viable, aunque no ideal.
– Autenticación. No estoy contento de almacenar las credenciales de administrador en los dispositivos de los usuarios, no es seguro. Estoy pensando en crear un segundo usuario “admin-light” y reducir sus derechos de acceso con un documento de diseño, es decir, solo permitiendo la creación de nuevos usuarios (barcos). También podría ser una opción que creemos las credenciales de cada barco por nuestra cuenta, entonces no tendríamos que almacenar ninguna credencial de administrador en los dispositivos de los usuarios en absoluto.
– Para simplificar, preferiríamos evitar tener un script proxy entre http y CouchDB. Pero si no se puede evitar para este caso de uso, ¿no veo ninguna razón por la cual deberíamos usar una base de datos basada en documentos en absoluto? En tal caso, prefiero una solución de sql en su lugar.

¡Se agradecen los comentarios de desarrolladores experimentados en bases de datos basadas en documentos!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en CouchDB, PouchDB y Capacitor, recomendaría lo siguiente:

    Configuración por usuario: Es posible configurar la configuración de Peruser para cada barco, de modo que los usuarios a bordo de un barco específico puedan compartir los datos de ese barco incluso si tienen bases de datos separadas. Para lograr esto, puede crear un documento para cada barco y, dentro de ese documento, crear un subdocumento para cada usuario con sus respectivas credenciales. Esto permitirá que cada usuario tenga sus propias credenciales, mientras aún puede acceder a los datos del barco. Sin embargo, tenga en cuenta que esto puede no ser la solución más eficiente, ya que puede aumentar el tamaño y la complejidad de la base de datos.

    Autenticación: No es una práctica segura almacenar las credenciales de administrador en los dispositivos de los usuarios, por lo que crear un segundo usuario “admin-light” con derechos de acceso reducidos es una buena solución. Este usuario puede estar limitado a solo crear nuevos usuarios (barcos) y no tener acceso a otra información confidencial. Alternativamente, puede crear credenciales de barco por su cuenta y evitar almacenar cualquier credencial de administrador en los dispositivos de los usuarios por completo.

    Script de proxy: Si bien puede ser más simple evitar el uso de un script de proxy entre http y CouchDB, puede ser necesario en algunos casos. Si decide utilizar un script de proxy, aún es posible usar una base de datos basada en documentos como CouchDB. Las bases de datos basadas en documentos ofrecen varias ventajas sobre las bases de datos SQL, como escalabilidad, flexibilidad y la capacidad de almacenar datos no estructurados.

    En general, es importante considerar sus requisitos y limitaciones específicos para determinar la mejor estructura de la base de datos y el método de autenticación para su aplicación de pesca. Consulte con desarrolladores experimentados de bases de datos basadas en documentos si es necesario para obtener más orientación.

Comments are closed.