replicacion replica configuration

configuration - replicacion - replica set en mongodb



Configuración en un archivo o una base de datos? (3)

Realmente no estoy preguntando si debo usar un RDBMS o archivos de configuración para el 100% de la configuración de mi aplicación, sino qué tipo de configuración es la mejor abordada por cada método.

Por ejemplo, he escuchado que "cualquier tipo de configuración que no sea modificable por el usuario final" debería estar en archivos de configuración en lugar de en la base de datos. Es esto exacto? ¿Cómo abordas la configuración?

(Principalmente me interesan las aplicaciones web para muchos usuarios aquí, pero no una plataforma en particular).


Me parece que durante el desarrollo es de gran beneficio tener la configuración almacenada en un archivo.

Es mucho más fácil consultar un archivo (web.config, app.config o algún archivo personalizado) y realizar cambios que se recogen al instante cuando se ejecuta el código. Hay un poco más de fricción involucrada al trabajar con la configuración almacenada en una base de datos. Si su equipo usa una única base de datos de desarrollo, usted puede fácilmente impactar a otros miembros del equipo con su cambio, y si tiene bases de datos individuales, se necesita más que un "último lanzamiento" para estar en funcionamiento con la última configuración. Además, la flexibilidad de XML hace que sea más natural para almacenar la configuración que es más que simplemente pares de "nombre-valor" en un archivo que en una base de datos relacional.

El inconveniente es que desea reutilizar la configuración en varias aplicaciones o instancias de sitios web. En mi caso, tenemos un único archivo de configuración en una ubicación conocida a la que cualquier aplicación puede hacer referencia.

Al menos, así es como almacenamos la configuración "estática" que no tiene que ser actualizada por el sistema en tiempo de ejecución. La configuración del usuario probablemente sea más adecuada para el almacenamiento en la base de datos.


Una cosa a considerar es la cantidad de datos de configuración que hay, y tal vez con qué frecuencia es probable que cambie. Si la cantidad de datos es pequeña, guardarla en una base de datos (si no está usando una base de datos para otra cosa), sería excesivo, igualmente mantener una base de datos para algo que se cambia una vez cada 6 meses probablemente sería una pérdida de tiempo. recursos.

Dicho esto, si ya está usando una base de datos para otras partes de su sitio, agregar una tabla o dos para datos de configuración probablemente no sea un gran problema, y ​​puede encajar bien con la forma en que está almacenando el resto de sus datos. Si ya tiene una clase para guardar sus datos en un archivo db, ¿por qué escribir uno nuevo para guardar en un archivo de configuración?


Principio general: es más probable que los datos de configuración cambien, mejor colocarlos en db.