Cómo aprovechar data warehouse para construir sólidas arquitecturas de aplicaciones
Separar el entorno de producción de las actividades de desarrollo y pruebas protege la aplicación activa de accidentes potenciales.
Como uno de los directores ACE de Oracle, Gurcan Orhan sabe mucho acerca de cómo mover datos. Él tiene más de una década de experiencia trabajando con los conceptos de almacenamiento de datos, incluyendo una considerable experiencia de integración. Orhan es realmente un tipo de datos, y sus preocupaciones en este proceso son que los datos de producción sean exactos y que pueden ser transferidos según sea necesario. Su conferencia durante el Oracle OpenWorld 2013 buscó aclarar las cuestiones en torno a mantener los datos de todos los proyectos de los equipos.
Los proyectos de desarrollo más simples se pueden construir con un solo repositorio de datos maestro. Se asienta en un servidor y cada uno de los tres grupos principales –desarrollo, pruebas y producción– tiene su propio contexto, o vista, dentro del código. Con este tipo de configuración, el equipo tiene que tener mucho cuidado con los cambios, ya que un pequeño paso en falso en el repositorio maestro puede romper la aplicación en vivo. Sin embargo, con pequeños equipos y proyectos sencillos, no es demasiado difícil evitar que los errores de repositorios surjan, y arreglarlos cuando surgen es igualmente factible. Los conceptos de almacenamiento de datos en realidad no entran en juego todavía.
Mientras los equipos y los proyectos se vuelven más complejos, dijo Orhan, rápidamente se hace necesario separar el entorno de producción de las actividades de desarrollo y pruebas. Esta separación protege la aplicación activa de accidentes potenciales que pueden ocurrir debido a la falta de comunicación entre los equipos. "En este momento", explicó Orhan, "tenemos nuestro repositorio de ejecución separado en un segundo servidor, pero el repositorio principal sigue viviendo en su propio servidor."
Esta segunda instalación hace uso de algunos conceptos de almacenamiento de datos (data warehouse), pero todavía no es lo suficientemente grande para la mayoría de las empresas. Se asume que hay un equipo de desarrollo limitado y no hay un equipo dedicado para el control de calidad de software. Los desarrolladores son responsables de sus propias pruebas.
Conceptos de data warehouse para la empresa
La mayoría de las empresas necesitan un equipo de calidad dedicado. Añadir un tercer equipo significa la adición de un tercer entorno con su propia versión de los datos. Hay otro servidor y un repositorio más. Orhan dice que aquí es donde la mayoría de los equipos de desarrollo de la empresa se encuentran en la actualidad.
Hay equipos de desarrollo empresariales, sin embargo, ello requiere un sistema aún más grande y más complejo. Cuando las empresas alcanzan un determinado tamaño, se hace difícil hacer un seguimiento de todos los cambios que se producen. Además, replicar una gran base de datos para múltiples equipos puede convertirse en un problema para el almacenamiento y la capacidad de cálculo.
Por lo general, cualquier equipo de desarrollo sólo funcionará con una pequeña parte de toda la base de datos. El entorno de prueba por lo general trabajará con una gama más amplia de los datos almacenados, pero de ninguna manera con toda la base de datos. Para las organizaciones que enfrentan barreras de este tamaño, Orhan sugiere invertir en un entorno de preproducción.
El entorno de preproducción replica lo más posible lo que realmente se ejecuta en los servidores de producción. Pero todavía no es el entorno de producción real, por lo que los errores pueden suceder allí sin causar graves consecuencias. Así que después de que el equipo de calidad ha probado todo y ha superado todas las comprobaciones, el equipo de operaciones puede implementar el código de la misma manera en que se ha planeado y asegurarse de que nada falle.
Personalice los almacenes de datos para un rendimiento óptimo
Orhan puede ser un poco parcial a causa de su condición como Consejero ACE de Oracle, pero recomienda el uso de Oracle Data Integrator (ODI) para la extracción de datos, transformación y carga de tareas. Cuando se le preguntó lo que específicamente hace ODI, Orhan era un poco vago, pero sí dijo que se trata de una herramienta middleware versátil. "ODI es un juguete con diferentes usos", dijo. "Depende de qué juego quieres jugar." A juicio de Orhan, ODI es la herramienta correcta para la aplicación de la mayoría de los conceptos de data warehouse para el equipo de desarrollo.
Orhan también mencionó que ODI puede no ser la mejor solución inmediata para cualquier organización en particular. Hay módulos de conocimiento que conforman un ODI más personalizable. Orhan afirmó que era capaz de modificar el módulo de conocimiento que Oracle utiliza regularmente para reducir una transferencia de datos que se habría tomado más de 10,000 segundos en menos de 200 segundos. Guarda en secreto los detalles de cómo lo hizo, pero dijo que ha divulgado algunos tips de los módulos de conocimiento de ODI en su blog.
Orhan admitió que su experiencia al trabajar integrando datos en Turquía le ha dado otro matiz a su punto de vista sobre la integración de datos. En Turquía, de acuerdo con Orhan, las grandes empresas nunca utilizan una solución de software tal cual se les ofrece. Afirmó que el alto índice de personalización en Turquía se debe, en parte, a que estas suites no ponen mucho énfasis en satisfacer las necesidades específicas de las empresas turcas, y en parte porque las leyes de comercio cambian con frecuencia –a veces los grandes cambios se producen con menos de dos años de diferencia. "Nunca tomarán una solución de SAP, Oracle o JD Edwards tal cual vienen en la caja", dijo. "Estas grandes suites siempre son personalizadas."