¿Está retando MongoDB a Oracle?

Todos sabemos que Oracle domina el mercado de bases de datos sin embargo el mundo del negocio va cambiando rápida y constantemente. Cada vez aparecen nuevos requisitos, funcionalidades, necesidades… que las bases de datos relacionales no pueden cubrir. Y han empezado a surgir también nuevas alternativas como MongoDB para pequeñas empresas y también no tan pequeñas. Este artículo trata sobre un caso de éxito de Telefónica con la colaboración de MongoDB.

Contexto

Telefónica es una de las cinco mejores compañías en telecomunicación mundial, opera en 7 países europeos,  15 en Latinoamérica y  también con presencia en Estados Unidos.

El departamento de I+D es el encargado del desarrollo de servicios y productos, investigación, estrategia tecnológica, user experience… Y por lo tanto también se encarga de todo lo relacionado con bases de datos.

Primer problema – Irlanda

Irlanda requería de un nuevo modelo SQL Oracle de datos capaz de integrar diferentes servicios, usuarios, perfiles. Telefónica ofreció una solución SQL sin embargo tenía problemas de integración, batch problems y  un rendimiento nefasto (más de 24h para cargar el Data Warehouse entero). En consecuencia Irlanda denegó la solución proporcionada por Telefónica.

Telefónica lo intentó de nuevo y aunque mejoraron los procesos Batch de las bases de datos seguía teniendo unos tiempos enormes e Irlanda volvió a denegar la solución. Sin embargo, la tercera versión ofrecida por la empresa de telecomunicación fue un éxito, siguieron mejorando los procesos batch e Irlanda finalmente aceptó la solución ofrecida.

Segundo problema – Reino Unido

El siguiente país a mejorar su modelo de datos era el Reino Unido. Telefónica utilizó la misma solución que le dió éxito en Irlanda y les funcionó. La siguiente tabla muestra una comparativa de rendimiento en tiempo y el tamaño de las bases de datos en cada país.

Imagen

Tercer problema – México

El siguiente país a implantar la solución era México, sin embargo dado la gran cantidad de datos a tratar (más de 20 millones de clientes) se veía claramente que la solución SQL de Oracle era inviable.

Solución NoSQL – MongoDB

La gran empresa de telecomunicaciones no podía echarse atrás ya que si desistía en México, perdería credibilidad y la oportunidad de mantener como clientes a los demás países Latinoamericanos.

En ese momento se cambia de estrategia y se decide utilizar como base de datos MongoDB en lugar de Oracle. Se modifica el modelo datos ya que se basa en MongoDB y se prueba con éxito en Irlanda y Reino Unido con éxito. El rendimiento es increíble en comparación con la solución SQL de Oracle y se decide utilizar también en México. La siguiente tabla muestra la comparación entre la versión de MongoDB (NoSQL) y la versión de Oracle (SQL):

 Imagen

Conclusión

¿Es mejor MongoDB (NoSQL) que Oracle (SQL)? La respuesta  es no. Como ya comenté en un artículo anterior, cada base de datos se creó para solucionar  un tipo de problema específico En este caso particular MongoDB es la solución. Este problema estaba asociado básicamente a grandes cantidades de datos y datos no estructurados, características idóneas para bases de datos NoSQL como MongoDB.

Aún así, no todo es perfecto en el mundo de MongoDB. De la misma manera que las bases relacionales de Oracle, MongoDB tiene sus contras e inconvenientes pero ya se comentará más adelante…

Autor: A. Balagot

Big Data, ¿cambio generacional en las bases de datos?

El término Big Data es un concepto rebautizado que ya existía, algo que tiene mucho de tradicional y a su vez mucho nuevo. En primer lugar, un problema de Big Data es un problema de procesamiento de datos en el cuál estaría incluido en alguna de las siguientes problemáticas:

  • Volumen: considerables cantidades de información
  • Variedad: información no estructurada de diferentes fuentes
  • Velocidad: información en movimiento, necesidad de procesar y analizarlo en tiempo real

Estas problemáticas no son nada nuevas, desde hace más de 40 años ya existían estos entornos. Sin embargo ahora hay mejor tecnología que antes, hardware más eficiente, mayor capacidad y velocidad en almacenamiento. La gente de Marketing no habla de “hacer DataWarehouses”, ahora según ellos se habla de “hacer Big Data”.

Respecto a la pregunta inicial, Big Data NO reemplazará a otros sistemas de tradicionales de bases de datos. No desaparecerán ni se convertirán en un cementerio de elefantes. Big Data de la misma manera que otras bases de datos se ha creado para cubrir una serie de necesidades (las problemáticas mencionadas) y que en épocas pasadas era imposible realizarlo pero con la tecnología actual es posible ahora.

Los sistemas tradicionales de bases de datos funcionan muy bien para lo que han sido pensados y van a seguir mejorándose. El SQL va a seguir mucho tiempo y como otras bases de datos trabaja perfectamente para determinados tipos de problemas.

Un claro ejemplo es IBM con su producto DB2 con soporte NoSQL. Un sistema híbrido capaz de trabajar en SQL, procesamiento xml, json, tuplas, etc. Una plataforma de valor que soporta cualquier cosa.

Es cierto que Big Data ha traído consigo nuevas tecnologías y bases de datos como MongoDB, HBase, Hadoop… Pero creo en el futuro próximo no aparecerá un nuevo MongoDB sino todo lo contrario. Es más probable ver casos como el de IBM, un concentramiento de funcionalidades en plataformas únicas.

Autor: A. Balagot