Llegamos a ustedes gracias a:



Columnas de opinión

Modernización de bases de datos: Una aliada estratégica

Por: Hebert Gomez, arquitecto de Soluciones en AWS

[13/11/2020] Cada vez los clientes demandan más de sus instituciones financieras, buscando recibir constantemente valor de sus bancos, con un enfoque en la flexibilidad y sin perder la seguridad. Ganar la confianza de los usuarios es cada vez más difícil, pero perderla es muy fácil. Por ello, las instituciones trabajan siempre en brindar la mejor calidad en sus servicios de la manera más eficiente. Los datos han cobrado un valor de suma importancia para las entidades financieras, creciendo en volumen, velocidad y diversidad de fuentes. Por tal razón, las compañías invierten más recursos en el cuidado y recopilación de ellos, para así poder brindar mejores soluciones. Teniendo en cuenta lo anterior, es importante permanecer a la vanguardia, implementando herramientas que generen valor a los negocios para que así estos puedan diferenciarse de su competencia.

El diseño de las aplicaciones de las instituciones financieras se ha modernizado, cambiando con los años. Durante décadas, todas las compañías centraban sus aplicaciones y datos en un mainframe. Si bien, este tipo de arquitectura daba una buena respuesta a las necesidades del pasado, se ha ido quedando corta con el tiempo debido a los retos de escalabilidad, agilidad y confiabilidad que demanda la industria de hoy. Con esta arquitectura todas las aplicaciones y datos están en un solo sistema computacional, consumiendo y compitiendo por los recursos existentes, cuando es claro que no todos los servicios del negocio consumen lo mismo. De esta forma, si se llega a detectar un error en alguna aplicación o dato, este va a tener un impacto colateral en las demás aplicaciones, ya que están compartiendo recursos. Lo anterior, genera que la escalabilidad se vea afectada al no poder realizarla de forma independiente.

Con el tiempo, también apareció la arquitectura de cliente-servidor que separó la capa lógica y la capa de persistencia. Sin embargo, continuó heredando los retos que se presentaban con el mainframe. De igual forma, apareció la arquitectura de tres capas donde si bien mejoró la confiabilidad, agilidad y escalabilidad, no le permitía a los equipos de trabajo tener una completa separación de todos los servicios de negocio.

Todos estos retos se vieron completamente mitigados por la aparición de la arquitectura de microservicios. Esta permite que cada servicio de negocio, o dominio de servicio de negocio, viva en una capa diferente y en un stack (pila) diferente de la arquitectura. De esta manera, las aplicaciones y datos se pueden escalar de forma independiente, y evolucionarlos para que se puedan cambiar en el tiempo, sin tener que impactar a las otras aplicaciones.

La arquitectura ha evolucionado hacia los microservicios; sin embargo, no ha sido así en la capa de persistencia en donde aún hay retos para escalar y administrar los datos, requiriendo de tiempo de inactividad y manuales complejos. Estas bases de datos legadas son costosas, con lenguajes procedimentales, propietarios, licenciamiento punitivo, y siguen siendo monolíticas. Por lo cual, las empresas van a terminar con una arquitectura de cientos o miles de microservicios y todos apuntando a un solo repositorio, evitando que las empresas o las instituciones financieras generen valor.

Las bases de datos relacionales llevan décadas en la industria, pero los requerimientos de los negocios han cambiado y los patrones de acceso también. Se ha evidenciado que las bases de datos relacionales no están enfocadas en resolver una necesidad específica de la mejor manera posible, sino en resolver muchas necesidades de una buena manera.

En la actualidad hay muchas empresas que desconocen las nuevas tecnologías, rigiéndose por procesos tradicionales, ya que sus equipos financieros no son capaces de explorar herramientas que sean útiles para resolver las necesidades del negocio. Así, se aplica la metáfora del "martillo, es decir, muchas veces las empresas llevan tiempo usando un martillo para todo, para clavar un clavo, para fijar puertas, para zafar tornillos, y en general para todas sus necesidades. Por esto, nuestra labor es que se den cuenta de que hay más herramientas que un martillo, y que estas pueden servir mejor para cada necesidad específica.

La primera base de datos es la llave de valor, donde se provee latencia de milisegundos de un dígito y a una gran escala. La tabla puede tener un registro o billones de registros y el rendimiento va a ser el mismo.

Con el tiempo también se ha identificado que los datos están más interconectados y las compañías se han dado cuenta de esas conexiones, interesándose en analizarlas. Esto ha permitido tener una visión 360°de los clientes, analizar casos de fraude a partir de las relaciones que tienen los usuarios y utilizar esta información para marketing. Ya que, este tipo de análisis es muy costoso, se usan bases de datos de grafos. De esta forma, se pueden alojar datos relacionados y ejecutar diferentes tipos de consultas a partir de esas relaciones. Empresas como Nike utilizan este tipo de base de datos para sus redes sociales a una escala de millones de conexiones y de millones de nodos.

De igual forma, con el tiempo, las aplicaciones de Internet de las Cosas (IoT, por sus siglas en inglés) han impulsado fuertemente las bases de datos de tiempo. Los datos de series de tiempo son información que está ordenada cronológicamente. Para ello no tiene sentido usar una base de datos relacional para hacer este tipo de análisis, ya que no se requieren garantías. Es decir, a una base de datos de tiempo, solo le interesan las agregaciones, no le interesan las actualizaciones, o las relaciones de integridad. De esta forma, solamente se manejan una serie de eventos ordenados facilitando a los clientes la posibilidad de realizar análisis a partir de un periodo de tiempo como tal.

De esta forma, existe una base de datos para cada tipo de necesidad que se tenga. Esto no solo va a garantizar que su servicio de negocio se satisfaga mejor, sino que va a mejorar la confiabilidad y agilidad de sus servicios de trabajo. Sin embargo, llevar a cabo el procedimiento de transformación a través de bases de datos puede llegar a ser complejo y requiere de bastante esfuerzo. Por ello, hay algunos consejos que todas las empresas de la industria deberían seguir.

En primer lugar, dirija su foco a actividades que agreguen valor. Al usar servicios gestionados, no necesita que sus equipos se dediquen a actividades administrativas o de mantenimientos. Así, las compañías se pueden liberar de esas actividades de bajo valor y enfocarse en las que de verdad le brindan más oportunidades al negocio y lo diferencian de su competencia.  Asimismo, aproveche el poder de un API (Interfaz de programación de aplicaciones), ya que al tener una capa de APIs externa podrá tener una agrupación de conexiones y gestionar sus errores de forma independiente. Además, podrá realizar cambios a bases de datos sin necesidad de afectar los datos que se están consumiendo.

En resumen, la arquitectura del sector financiero ha evolucionado para tener una separación completa de responsabilidades, en donde cada microservicio tiene base de datos gestionadas y ajustadas a sus necesidades. De esta manera, las empresas de servicios financieros logran transformar sus negocios e innovar en la industria, con bases de datos que les brindan mayor dinamismo y mejoran su respuesta a las necesidades que demanda el mundo de hoy. Así, la escalabilidad, confiabilidad y agilidad pasan de ser un reto, a convertirse en los mejores aliados de estas compañías.