El camino del Cloud generalmente se inicia en migraciones a plataformas de Infraestructura como Servicio (IaaS); en donde realizamos un espejo virtual de nuestra estructura física, sobre la que desplegamos nuestras aplicaciones.

El siguiente paso llega cuando reconocemos que el verdadero valor y productividad de la Nube está en la Plataforma como Servicio (PaaS); y nos enfrentamos a nuevos retos en forma de la transformación y reconstrucción del software, en la búsqueda de la óptima relación coste/beneficio.

Y una de las decisiones iniciales que más impacto tiene, es adoptar el almacenamiento de nuestra información en Bases de datos como Servicio, al seleccionar cual vamos a utilizar en nuestro software; siendo las soluciones NoSQL, un primer paso asequible, de notable sencillez, potente y de coste contenido.

¿Por qué transformar hacia la sencillez?

Lo primero que hay que tener claro es que la adopción de este tipo de servicio no es una “bala de plata” que valga para todos los casos de uso. Es más, las bases de datos relacionales de toda la vida, tiene ventajas y desventajas inherentes, estudiadas y reconocidas sobre este tipo de servicios de almacenamiento.

Sin embargo, para aplicaciones que requieran una forma especialmente económica de almacenar los datos, que se adapten a las características de estos servicios WCS y que permitan cambiar la lógica de persistencia – la capa de almacenamientos de datos – de forma sencilla para migrar a las API de conexión, pueden ser una solución con un ratio de eficiencia excelente.

La clave está en la complejidad de la estructura de datos y de las operaciones relacionales que tengamos que realizar sobre el conjunto de tablas.

Las tres que vamos a analizar en este artículo, son del tipo Wide Column Store (WCS), herederas de este paper de BigTable, que define un almacenamiento en tablas bidimensionales en donde las primeras columnas son los índices (entre una y tres columnas) que identifican de forma inequívoca las filas horizontales que almacenan los registros. A continuación, se define un número indeterminado de columnas en donde se construye la estructura de campos de los registros, de forma totalmente flexible, basado en un formato clave/valor.

Esta aproximación dinámica de la estructura de datos permite evolucionar y transformar la persistencia de la información, sin estar constreñida por las rígidas convenciones de los sistemas relacionales.

También son plataformas con un rendimiento especialmente bueno, tanto en operaciones de lectura como de escritura, al tener un motor de base de datos muy sencillo, orientado a realizar solo lo que se necesita (Listar, Insertar, Actualizar y Borrar), sin pesados lenguajes de explotación como es SQL, y evitando tener que dar soporte a comandos complejos como pueden ser JOIN, GROUP, ORDER, etc.

En resumen, son ligeras, sencillas y rápidas. Y, al ser un servicio Cloud, nos permiten olvidarnos de gestionar el escalado, la alta disponibilidad y la partición de datos; siendo la propia plataforma quien se encarga de asegurar unos acuerdos de servicios (SLA) de más del 99.99%.

En estos momentos, se está consolidando un monopolio tricefálico en las tecnologías Cloud, estando Amazon en cabeza con una presencia en el mercado de casi el 47%, seguido desde muy de lejos por Microsoft Azure con el 10%, y Google cerrando el club al estar rozando el 4%. El grupo genérico perseguidor está encabezado por IBM y su SoftLayer, que obtiene cerca de un 3%; completándose el restante 36% con una miríada de pequeñas plataformas.

Apache Cassandra es la base de datos WCS que reina de forma indiscutible en este segmento del mercado; pero no la hemos incluido en el análisis al no existir un servicio cloud que nos permita consumirla en formato PaaS.

Sin embargo, SimpleDB de Amazon, Azure Tables de Microsoft y Cloud BigTable de Google, sí que son servicios cloud de base de datos NoSQL, que representan el primer eslabón a la persistencia de información más allá del almacenamiento binario.

 

Publicado (fuente y derechos – foto-) por: www.genbetadev.com