¿Cuál es el papel de un arquitecto de datos en una empresa? ¿Cómo se relaciona con un desarrollador de bases de datos o un administrador de bases de datos?

Estas funciones podrían ser realizadas por una persona en una tienda lo suficientemente pequeña, o por equipos de personas para cada función en tiendas más grandes. Pero una organización adecuada debe tener estos tres roles (y quizás incluso un cuarto (el DBA de Desarrollo) que pondré en las discusiones a continuación) interactuar y coordinar para obtener resultados óptimos.

Diferencias de alto nivel:

  • Data Architect modela los datos, realiza un análisis para comprender cómo los elementos de datos interactúan adecuadamente entre sí a través de una aplicación o la empresa, luego diseña los modelos de datos (conceptuales, lógicos, incluso físicos) con las relaciones definidas para mantener la integridad referencial con el comercio apropiado off-offs para el rendimiento (como se discutió con los DBA de desarrollo … ver más abajo). Los DA comunicarán sus modelos con su personal de desarrollo, pero rara vez interactuarán con los DBA de producción.
  • El DBA de desarrollo es el que crea una instancia del modelo físico y se basará en la experiencia para configurar adecuadamente las tablas físicas para hacer un uso óptimo del DBMS en cuestión. Los arquitectos de datos generalmente no diseñan estrategias de índice o estrategias de partición; será un “complemento” que harán los DBAs de desarrollo. Los DBA de Dev también abordarán problemas arquitectónicos en la base de datos, trabajarán en la instalación de otras características que necesita la empresa (seguridad, auditoría), realizarán revisiones de rendimiento y ajuste del código desarrollado por los desarrolladores de la base de datos y resolverán problemas difíciles que surjan en producción. Los DBA de desarrollo deben comprender los modelos generados por los arquitectos de datos y trabajarán con los DBA de producción cuando surjan problemas importantes.
  • El desarrollador de la base de datos será un especialista en SQL y desarrollará funciones, disparadores, paquetes, procedimientos almacenados para promulgar reglas comerciales y realizar tareas centradas en los datos. Deben ser expertos en la escritura de SQL que cumpla con los requisitos de Ansi, así como en el uso de extensiones específicas de RDBMS para realizar las tareas en cuestión. Trabajarán con los DBA de Dev para revisar el código y garantizar que estén accediendo correctamente al modelo de datos, y trabajarán con los DBA de Prod si su código tiene problemas en prod. Los roles Dev DBA y Developer Developer a menudo se combinan en uno.
  • Production DBA es responsable de instalar, configurar, monitorear, realizar copias de seguridad, parchar, operar y realizar la recuperación ante desastres de la base de datos de producción (tanto el producto de la base de datos como la aplicación instalada encima). Generalmente no están interesados ​​en los elementos de diseño que entraron en el producto que están monitoreando, pero están muy interesados ​​en el rendimiento del resultado final; código, modelo de datos, índices, etc. Con frecuencia trabajarán con Dev DBA en errores de aplicación y los desarrolladores en problemas de rendimiento y ajuste.

Así es como generalmente veo a las organizaciones dividiendo estos roles; Puede ver la consolidación. Las tiendas DevOps a menudo difuminan la línea entre los DBA de desarrollo y producción. Los arquitectos de datos a menudo también son Dev DBA y usan dos sombreros. Los DBA de desarrollo como se mencionó anteriormente a menudo se ven involucrados en el desarrollo de SQL de núcleo duro y son los desarrolladores de bases de datos de facto.

Sin embargo, los dos roles que casi nunca se ven juntos son los Data Architects y los DBA de producción: los arquitectos de datos generalmente son más trabajadores de TI que conocen el lado comercial más que el lado tecnológico, mientras que los DBA de producción son especialistas en productos que conocen un producto RDBMS particular (Oracle , MS SQL Server, DB2, etc.) dentro y fuera.

El papel del arquitecto de datos se extiende más allá de la creación de bases de datos. Participo en el gobierno de datos, la gestión de datos maestros, la gestión de metadatos y ayudo a los propietarios de sistemas operativos a diseñar taxonomías y otros sistemas de clasificación para garantizar que los datos sean confiables, precisos y comprensibles.

Extender esas tareas al contenido empresarial y la gestión de registros, y la gestión del conocimiento a menudo cambia el título de arquitecto de la información para reflejar el énfasis en algo más que solo datos sin procesar.

La mayoría de las empresas no van a construir su propia arquitectura de datos. Quizás si trabajas en Google; pero no en compañías normales como compañías de seguros o compañías petroleras. Hable demasiado al respecto y es posible que no consiga un trabajo. Solo prepárate para diseñar si tienes la oportunidad. Siempre salta sobre él e incluso toma menos dinero.