- Siga el principio de menor privilegio. No solo las personas, sino también en su capa de aplicación. Las credenciales de sus servidores web no deberían poder acceder a sus registros financieros y de recursos humanos.
- Mantenga su servidor de base de datos dedicado. Debe ser robusto, mucho procesador, mucha RAM y mucho espacio en el disco duro.
- Si es una aplicación que requiere alta disponibilidad, configure la replicación.
- Establecer copias de seguridad. Para cuando tus datos se envenenan. Pruebe las copias de seguridad realizando una restauración una vez al mes.
- La replicación no es una copia de seguridad, que aprenderá si alguna vez se envenenan sus datos.
- Tenga un plan de recuperación ante desastres por escrito. Pruébelo una vez por trimestre. Consigue que otros administradores de SQL lo aprueben.
- Configure el monitoreo del espacio en el disco duro para que reciba una advertencia cuando las cosas comiencen a llenarse.
- Aprenda a ver y optimizar los planes de ejecución. Esto varía según el DBMS.
- En ocasiones, active la supervisión lenta de consultas y optimice sus peores consultas.
- Desde el punto de vista del desarrollador, diría que esto es lo más importante que puede hacer. Cuando escriba su esquema, siga una convención de nomenclatura. Por ejemplo, todas las claves externas en mis sistemas son {table_name} _id. Todas las claves principales en una tabla son {table_name} _id. Esto hace que unirse a muchas tablas sea mucho más fácil, y es mucho menos probable que los nuevos tipos exploten la base de datos.
- Al escribir consultas, asegúrese de que el 99.9% de su combinación y las condiciones están en claves externas o enteros, y al menos en un campo indexado.
¿Cuáles son algunas prácticas básicas de administración de bases de datos relacionales que un desarrollador de software debe adoptar desde el principio?
Related Content
¿Qué desafíos de programación puedo usar para involucrar a mi equipo en Coding Dojo?
Cómo definir una obra maestra en el desarrollo de software
¿Por qué los desarrolladores lanzan aplicaciones gratuitas para iOS y otros sistemas operativos?
Existen múltiples áreas donde es gris entre un desarrollador y un administrador cuando se trata de bases de datos, por ejemplo:
- Índices: diseño e implementación de índices generalmente realizados por el dba, sin embargo, nunca dejaré mis tablas sin indexar correctamente para dar un impulso de rendimiento a la mayoría de mis consultas.
- Seguridad: roles, inicios de sesión y permisos
- ETL
- Diseño de informes complejos a partir de datos de tablas existentes
- Automatizar algunas tareas, como copias de seguridad, reconstrucción de índices
- Configuraciones complejas y ajustes
- Alta disponibilidad (dependiente del proveedor): replicación, duplicación, agrupamiento
Mantener el currículum actualizado.
Los desarrolladores no administran bases de datos. Si la compañía espera que usted haga ambos trabajos (desarrollo de software y administración de bases de datos), busque un trabajo que tenga algunos días libres al mes. (Dejé los trabajos que demandaban menos, más de lo que se podía esperar que hiciera cualquiera, pero menos de 2 trabajos de tiempo completo por un salario).
More Interesting
¿Cuántos programadores se necesitan para este tipo de proyecto?
¿Cuál es el proceso de desarrollo de un software ERP?
Cómo conseguir un trabajo de desarrollador iOS con seis meses de experiencia
¿Cuál es el futuro de un desarrollador de software después de un MBA con 6 años de experiencia?
¿Puede un recién graduado de ingeniería mecánica administrar un rol de desarrollador de software?
¿Los desarrolladores de software inteligente cometen errores en sus primeros días?
Como desarrollador de software, ¿tiene miedo de envejecer?
¿Qué hace a un buen programador OCaml?
¿Qué es mejor, desarrollador de software o ingeniería de TI?