En el contexto del desarrollo web, ¿quién diseña las bases de datos? A pesar de una gran cantidad de información que asocia el desarrollo web de back-end con el procesamiento del lado del servidor, el modelado de datos y similares, el aspecto del diseño de la base de datos de la ecuación parece estar misteriosamente ausente.
No estoy hablando de quién configura la base de datos física, me refiero a quién diseña el modelo lógico de la base de datos, realiza entrevistas de historias de usuarios para obtener información sobre qué campos son necesarios, cuáles son esas especificaciones de campo, etc. .
Me di cuenta de que el diseño ( ADECUADO ) de una base de datos no es una tarea pequeña (estoy leyendo este localizador 672) y podría ser fácilmente una profesión completa. Sin embargo, la búsqueda en Internet ha dado resultados sorprendentemente pequeños para quién se espera que maneje esta tarea en el contexto del desarrollo web.
fuente
what those field specifications are
, si su proyecto tiene una especificación, debería poder identificar su modelo.Respuestas:
Su pregunta no solo es pertinente para las aplicaciones web, sino también para todo tipo de aplicaciones que utilizan un backend de base de datos.
En mi experiencia
Línea de fondo:
ACTUALIZAR:
Hay 3 tipos de DBA:
La mayoría de los DBA son DBA de producción, lo cual es bueno porque son los tipos que recuperan bases de datos perdidas de matrices de discos fallidas en las primeras horas de la noche. Pero no participan activamente en el proceso de diseño.
fuente
Depende de para qué se utiliza la base de datos.
En muchas aplicaciones (aplicaciones web o no), la base de datos está íntimamente ligada a esa aplicación porque sirve como almacén permanente para ella. Entonces, la base de datos es conceptualmente parte de la aplicación, por lo que está diseñada en conjunto (y presume que ningún otro programa accedería o actualizaría significativamente esa base de datos). Por cierto, la persistencia podría lograrse por otros medios que no sean una base de datos, por ejemplo, archivos de texto sin formato, archivos binarios (especialmente archivos indexados a la GDBM ), repositorios git (u otro VCS), directorios o árboles de archivos, particiones de disco sin procesar, hardware dedicado (por ejemplo flash), sistemas de archivos remotos, puntos de controltécnicas Para las bases de datos diseñadas para y con una aplicación, debe preocuparse por los patrones comunes de recuperación y actualización y diseñar el esquema de la base de datos (¡y la indexación!) Teniendo en cuenta estos.
En algunas situaciones, la base de datos es en sí misma un activo importante e independiente, y está diseñada a priori para ser utilizada por varias aplicaciones diferentes (e incluso futuras). Entonces debe diseñarse de forma independiente (y mucho más cuidadosamente).
En particular, algunas aplicaciones web son solo interfaces web para bases de datos existentes.
En muchos casos (piense en algunos wiki como ejemplo), los datos son más importantes y más valiosos que las aplicaciones que los usan. Puede que le interese cómo hacer que sea a prueba de futuro y poder evolucionarlo fácilmente (por ejemplo, utilizando o definiendo formatos textuales y versátiles, preferiblemente estandarizados y documentados, para hacer una copia de seguridad y restaurarlo).
Lea también sobre NoSQL , bases de datos orientadas a documentos , bases de datos de valores clave , la gestión del conocimiento , representación del conocimiento , ontologías , sistemas expertos , las reglas de negocio se acercan , ERP , CMS . Quizás considere usar REDIS , MongoDB , etc.
fuente