Veamos ciertos síntomas y anti patrones que nos dejan ver que nuestra base de datos está controlando nuestra aplicación:
- Las entidades son referenciadas a través de tu código mediante claves únicas generadas dentro de la base de datos.
- Tienes consultas SQL en tu código front-end.
- Los usuarios pueden ver los nombres de las columnas o tablas en el front-end.
- Unas de las tareas más comunes es mitigar el riesgo de inyección SQL desde las llamadas a APIs.
- Tienes un modelo de autenticación/autorización implementado dentro de la base de datos.
- Tu base de datos tiene un modelo de autenticación/autorización especifico para los desarrolladores o usuarios individuales.
- Tienes consultas SQL en cualquier lugar fuera de una capa de servicio aislada.
- Tienes consultas SQL más largas que secuelas de Rápidos y Furiosos.
- Tus consultas se asemejan a la piedra Rosetta, es decir, realizan un mapeo complejo y traducción de múltiples campos en una sola declaración larga.
- Estás utilizando la base de datos para realizar estadísticas avanzadas o ejecutar algoritmos comerciales más allá de la E/S.
- Has implementado un elaborado sistema de almacenamiento en caché porque tus consultas son demasiado lentas/complejas.
- Agregar o eliminar un índice da como resultado un rendimiento de front-end drásticamente mejorado.
- Agregar una nueva columna/tabla requiere una refactorización extensa del código base de la aplicación.
- Cambiar el nombre o el tipo de una columna/tabla requiere una refactorización extensa del código base de la aplicación.
- El cambio de una sola tabla en tablas de varios a uno y de uno a varios requiere una refactorización extensa del código base de la aplicación.
- La combinación de varias tablas en una sola requiere una amplia refactorización del código base de la aplicación.
- Cambiar el proveedor de la base de datos requiere una amplia refactorización del código base de la aplicación.
- Tienes objetos en la base de código de su aplicación con nombres explícitos de tablas o columnas en su base de datos, es decir, no nombrados para su propósito.
- Tienes copias impresas de alta calidad del diccionario/esquema de datos en una caja sellada herméticamente en una bóveda con bloqueo de tiempo que requiere dos personas para desbloquear girando las llaves al mismo tiempo.
- Tienes columnas tabulares que almacenan blobs JSON o XML.
- Tienes una versión JSON o XML estática de tu esquema de datos.
- Tienes campos de datos que almacenan código ejecutable.
- Tienes desarrolladores que pasan la mayor parte de su tiempo escribiendo y/o optimizando consultas de bases de datos.
- Estás considerando dejar tu organización por otra diferente que utilice una tecnología de base de datos a la que acabas de conocer en una conferencia.
0 Comentarios