La evolución de las bases de datos con propósito IA en entornos Cloud

Ismael Rihawi    10 mayo, 2021

En el primer post de esta miniserie dedicada a los datos abordamos aspectos fundamentales que definen el papel protagonista que estos adquieren en nuestros días. Enunciados los rasgos que posibilitan su categorización, así como un amplio abanico de fuentes de origen con los que aprovisionar productos y servicios digitales, dedicaremos un capítulo íntegro a los mayores almacenes de agrupación histórica y consulta universal conocidos en la era moderna: las bases de datos.

Fruto de la diversidad de contenidos que se generan actualmente, resultantes de la interacción entre seres humanos y máquinas, y de un cambio de paradigma en la toma de decisiones empresariales, es condición indispensable profundizar en los principales propósitos de su uso recurrente. Más adelante, enmarcaremos distintos motores de bases de datos, atendiendo a criterios de mutabilidad, organización y contenido a alojar sistemáticamente. En última instancia, se identificarán las nuevas tendencias de mercado y consideraciones en la correcta elección de un tipo u otro según finalidad específica.

Las bases de datos constituyen un elemento central clave en la generación de valor añadido para consumidores, operadores, empresas y organizaciones, cuya relevancia in crescendo ha calado en todos los estratos de la sociedad actual, con independencia del ámbito profesional y grado de competencias técnicas de partida. ¡A «consultar» nuestro artículo, que es gerundio!

“Ya no estamos en la era de la información.
Estamos en la era de la gestión de la información.”

(Chris Hardwick, actor)

Almacenamiento: un paradigma omnipresente

Figura 1: Todo proceso operativo lleva consigo un requerimiento de persistencia de la información resultante

Las bases de datos constituyen un componente primordial de todo entorno productivo que opera con activos, entendidos estos como entes representativos del consumo de un bien o servicio a objeto de prestación, y para los cuales es requerida una gestión eficaz de la información resultante. Su incorporación permite la captura organizada manual y/o automática de todos los datos relativos a las etapas que conforman su ciclo de vida, aportando un orden con finalidad de consulta y análisis, facilitando su conversión en información útil y de valor añadido. La elección del tipo de base de datos vendrá determinada por el grado de respaldo en términos de funcionalidad y rendimiento que nuestra aplicación de software esté destinada a realizar, cumpliendo con el objetivo de correspondencia ‘ad hoc’ frente a la misma, a destacar entre muchos factores:

  • Tipado, estructura, modelo o esquema y caso de uso previsto de los datos en el origen.
  • Mecanismo de consulta informacional.
  • Latencia o tiempo de entrega de servicio requerida.
  • Nivel de consistencia de datos.
  • Velocidad transaccional y/o procesamiento (Batch, Near Real-Time, Real Time).

¿Qué ejemplos de uso se presentan en las empresas? Los supuestos son innumerables: desde posibilitar la gestión de la organización de la propia entidad (detalle de empleados e inversores, contabilidad asociada) hasta el seguimiento del inventariado de productos (localización y estado), portfolio de servicios e histórico de clientes (pedidos realizados, preferencias de uso, grado de satisfacción). El aprovisionamiento ordenado de datos heterogéneos en soportes de almacenamiento masivo orientados a la analítica avanzada habilita a las corporaciones un espacio de nuevas oportunidades de negocio, acrecentadas de verse combinada con las capacidades de captura local de datos del Internet of Things.

Ocupando por tanto un lugar privilegiado en toda propuesta digital, el predominio cada vez mayor en el uso profesional de servicios «pay on demand» a través de proveedores de computación en la nube, posibilita enormemente la disponibilidad de una amplia selección de bases de datos personalizadas multipropósito. En la aproximación tradicional, su instalación (configuración, licenciamiento) sobre infraestructura propia es una labor de obligatorio cumplimento; en el supuesto del marco Cloud, la ecuación se traduce en reducción de costes y posibilitar de desarrollo de aplicaciones distribuidas de ámbito global, completamente administradas y con rendimiento a escala según el grado de cargabilidad en la demanda del servicio ofrecido.

Clasificación multivariante, idéntica finalidad

Al igual que sucede con la unidad mínima de información, existen múltiples aproximaciones a la hora de catalogar a las bases de datos, partiendo del hecho de la flexibilidad en términos de utilidad, estructura organizativa y volumen, motivos estos que evidencian la inexistencia de un criterio estándar de partida. Cabe destacar por una parte la organización teórica establecida según grado de acceso a los datos que almacenan entorno a dos principales tipos generalistas:

  • Estáticas: También conocidas como bases de datos de solo lectura (en inglés OLAP, «On Line Analytical Processing«), de naturaleza consultiva, no posibilitando operaciones de escritura, al recoger información veraz (sucesos históricos plenamente contrastados) con una finalidad de estudio a posteriori como apoyo en análisis predictivos.
  • Dinámicas: Uso más generalizado (en inglés OLTP, «On Line Transaction Process«), en donde la información almacenada puede ser además de consultada, modificable en tiempo real.

A partir de aquí, otros puntos de vista conviven en la clasificación de las bases de datos; por ejemplo, atendiendo a la forma en la que se organizan los datos para eficientar su posterior consumo, distinguiéndose entonces:

  • Jerárquicas: Con apariencia de árbol invertido y estructura conformada por nodo padre o raíz y nodos hijos u hojas. Especialmente útiles en caso de aplicaciones que requieren de un gran volumen de información y datos muy compartidos, permitiendo estabilidad y gran rendimiento operacional. Por el contrario, no presentan características de gestión eficiente en la redundancia de datos.
  • Red: Evolución respecto al modelo jerárquico, posibilitando el establecimiento de relaciones adicionales entre elementos y optimizando la gestión de la redundancia. En desuso por su elevada complejidad.
  • Relacionales: Surgidas al comienzo de la década de los 70, representan el patrón más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. La base de su operativa se sustenta en el almacenamiento de acuerdo a un esquema predefinido «en tiempo de diseño«, propiciando una disposición de los mismos entorno a tablas con filas (registros) y columnas (tipado de atributos que los definen) que respetan los principios de integridad referencial. De fácil comprensión, la información pueda ser recuperada a través de consultas que ofrecen una amplia flexibilidad en la administración de la información. El lenguaje utilizado en dicho procedimiento es SQL («Structure Query Language»), estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales (RDBMS), brindando funcionalidades de creación, actualización, consulta y eliminación de los datos persistentes.
  • Orientadas a objetos: Más modernas y con mayor capacidad de procesamiento. En ellas no se almacena información sobre un objeto, sino el objeto entero (estado y comportamiento), dotándole de ciertas características que lo definen y diferencian frente a otros similares. Mayor flexibilidad en escritura e inmediatez en lectura.
  • Deductivas: Basados en lógica matemática, permiten realizar deducciones a través de inferencias. Se basa principalmente en el implementación de sistemas basados en reglas y hechos, los cuales son almacenados en la base de datos. Empleadas en el desarrollo de motores de búsqueda.
  • Distribuidas: Bases de datos almacenadas en varias computadoras conectadas en red, de gestión independiente, surgen debido a la existencia física de organismos descentralizados.
  • Multidimensionales: estructura de múltiples niveles, alojando según valor y dimensiones los datos a objeto de consulta. Sin jerarquía establecida, poseen un alto rendimiento en tiempo de búsqueda. Son un tipo de base de datos optimizada para Data Warehouse que se utilizan principalmente para crear aplicaciones OLAP.

Perspectivas académicas aparte, la evolución en la tipificación de las bases de datos se centra en dar respuesta a las necesidades de negocio según tipo de contenido a albergar y propósito específico del caso de uso que la aplicación software asociada demande. Este nuevo escenario da pie a enunciar a las bases de datos NoSQL, popular alternativa a las bases de datos relacionales, surgidas a raíz de la explosión de las redes sociales, motores de búsqueda, tiendas online, plataformas de pago y aplicaciones mobile durante la segunda ola tecnológica proyectada por Steve Case. Su aplicabilidad concede una mayor flexibilidad al no requerir de un esquema de definición de la composición de los datos previa a su explotación, permitiendo almacenar y manipular datos no estructurados y semiestructurados.

¿Cuál es entonces la realidad actual de mercado en términos de relevancia y aplicabilidad?

La elección del tipo de base de datos vendrá determinada por el grado de respaldo en términos de funcionalidad y rendimiento que nuestra aplicación de software esté destinada a realizar, cumpliendo con el objetivo de correspondencia ‘ad hoc’ frente a la misma.

La tendencia NoSQL y hacia lo ‘purpose build’

Figura 2: Diferentes distribuciones de bases de datos relacionales y no relacionales (Fuente: alooma.com)

Los patrones de diseño e implementación software han evolucionado con el paso de los años, iterando desde sistemas monolíticos tradicionales como Mainframe, posteriormente hacia la arquitectura Cliente-Servidor, evolucionado hacia el modelo estratificado Modelo-Vista-Controlador o MVC (Base de datos, aplicación de negocio e interfaz de presentación) y recientemente, convergiendo hacia las arquitecturas de microservicios con el uso de las aplicaciones distribuidas. Es en este escenario en donde las bases de datos se encuentran evolucionando a la par, tratando de satisfacer los nuevos requerimientos en demanda, conformando una visión global que ejemplifica el grado de personalización de los tipos de bases de datos actuales, ejemplos de casuísticas de implementación y los servicios de aplicación más recurrente:

TipologíaCasos de usoDistribuciones populares
RelacionalAplicaciones tradicionales
ERP
CRM
e-commerce
Oracle
MySQL
Microsoft SQL Server
PostgreSQL
DB2
Amazon Aurora
Amazon RDS
Amazon Redshift
Azure SQL Database
Azure SQL Managed Instance
SQL Server on Virtual Machines
Azure Database for PostgreSQL
Azure Database for MySQL
Azure Database for MariaDB
Google Bare Metal Solution
Google Cloud SQL
Google Cloud Spanner
Clave-ValorAplicaciones web
Aplicaciones mobile
e-commerce
Redis
Amazon DynamoDB
Azure CosmosDB
Google Cloud Bigtable
En memoriaAlmacenamiento en caché
Gestión de sesiones de usuario
Rankings de juegos
Aplicaciones geoespaciales
Redis
Memcached
Amazon ElastiCache
Azure Cache for Redis
Google Cloud Memorystore
DocumentalGestión de contenidos (CMS)
Catálogos
Perfiles de usuario
MongoDB
Couchbase
Amazon DocumentDB
Google Cloud Firestore
Google Firebase Realtime Database
ColumnarAplicaciones industriales
Administración de flotas
Optimización de rutas.
Cassandra
Scylla
HBase
Amazon Keyspaces
GrafosDetección de fraudes
Redes sociales
Motores de recomendación
Neo4j
Datastax Enterprise Graph
Amazon Neptune
Series temporalesAplicaciones IoT
DevOps
Telemetría industrial
Amazon Timestream
Figura 3: Detalle de tipología de bases de datos relacionales y no relacionales, casos de uso y distribuciones

Por último, es conveniente destacar ventajas e inconvenientes de ambos tipos de bases de datos:

Razones por las que decantarse por una bases de datos relacional

  • Estándar SQL definido, comúnmente aceptado como estándar universal.
  • Tecnologías maduras, documentadas y con una amplia comunidad de desarrollo.
  • Compatibilidad ACID, satisfaciendo los requisitos de atomicidad, consistencia, aislamiento y durabilidad.
  • Gran número de proveedores ofreciendo sistemas de gestión de bases de datos relacionales (RDBMS).

Razones por las que decantarse por una base de datos no relacional

  • Soporte de grandes volúmenes de datos sin una estructura definida de antemano, contexto idóneo en productos y servicios de Big Data e Inteligencia Artificial.
  • Requerimiento de menor administración al contar con capacidades de distribución (‘Sharding’) y replicación de datos como factores habilitadores de un sistema tolerante a fallos.
  • Modelos de datos simplificados (‘Schemaless‘).
  • Alta escalabilidad horizontal, ampliando la capacidad sin interrumpir la usabilidad y/o disponibilidad del servicio.
  • Sin necesidad de servidores con gran cantidad de recursos para operar, pudiendo partir de una inversión baja, extensible a medida de ampliarse las necesidades.

Damos por completado el reto de profundizar en uno de los elementos esenciales de toda solución tecnológica que más renglones ha llenado. ¡Espero con ello haber avivado tus ganas de nuevo conocimiento!

Para mantenerte al día con el área de Internet of Things de Telefónica visita nuestra página web o síguenos en TwitterLinkedIn YouTube

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *