Spain Cloud Computing

Todo sobre Computación en La Nube (Cloud Computing) en español.

domingo, 15 de junio de 2014

SISTEMAS OLAP EN EL ENTORNO CLOUD


Spain Cloud Computing
http://spaincloudcomputing.blogspot.com
Resumen:

La nueva necesidad surgida a partir del aumento de la cantidad de datos que se generan en las aplicaciones informáticas, han supuesto un reto para los responsables de gestionar las bases de datos que dan soporte a un entorno empresarial. Por un lado el aumento del volumen de datos con los que trabajar, y por otro lado la necesidad de cruzar estos datos de manera que se genere información que aporte valor a la empresa, han obligado a buscar nuevas formas de procesar la información, una de ellas son las siglas inglesas OLAP (Online Analitical Analytical Processing), o lo que es lo mismo, procesamiento analítico en línea. Esta nueva técnica se emplea para ganar rapidez de respuesta en las consultas sobre bases de datos (BD). Estos sistemas suelen emplearse en la lógica de muchas empresas, es lo que se denomina Business Intelligence.

Desde el punto de vista de la infraestructura necesaria para dar soporte a estos sistemas, existen variadas posibilidades, desde las tradicionales como es desplegar un entorno a nivel local, hasta las más novedosas como pueden ser las que se despliegan en un entorno Cloud Computing.



Sistemas OLAP:

Los sistemas OLAP, literalmente significan procesamiento analítico en línea. Se utilizan para poder realizar consultas multidimensionales de una forma más óptima, ya que designa un conjunto de técnicas software para el análisis interactivo y veloz de grandes cantidades de datos, que permiten analizar los datos de una manera más compleja. Por ejemplo esta tecnología es la base empleada en los Data Warehouse o Almacenes de Datos. Permitiendo por ejemplo al negocio analizar resultados de las ventas, métricas para valorar el alcance de una campa de marketing, etc.

El origen de los sistemas OLAP se encuentra en los sistemas OLTP, que significan procesamiento de transacciones en línea. Pero a diferencia de su predecesor, OLAP se marca como objetivo funcional la investigación y búsqueda de variables que permitan obtener conclusiones sobre una amplia cantidad de datos. Frente a los sistemas OLTP cuyo objetivo principal es garantizar la integridad y la seguridad de las transacciones. La principal característica que potencia a OLAP es que lo más rápido a la hora de ejecutar sentencias SQL de tipo Select, frente a OLTP que es mejor opción para operaciones Insert, Delete o Update.

La creación de bases de datos OLAP, consiste en efectuar una fotografía de la información (por ejemplo, de una BD relacional) en un determinado momento y transformar este caso individual en datos multidimensionales. De manera que permite obtener resultados en tiempo más reducido con respecto a las mismas operaciones efectuadas sobre otros tipos de bases de datos.

Las estructuras OLAP creadas con el objetivo de ofrecer el valor de un dato en un momento concreto, se denominan “Cubos multidimensionales”. Existen diferentes vías para crear estos cubos, pero la forma más común de hacerlo es mediante los esquemas denominados de Estrella, que facilita la definición de jerarquías y de mediciones calculadas. En el centro se colocan los hechos, que agrupa los principales elementos sobre los que se construirá la consulta, y a partir de ella se reparten las dimensiones que especificarán como serán agregados los datos. El cálculo de las posibles combinaciones de estas agregaciones forma una estructura OLAP que puede contener todas las respuestas para cada combinación individual.
Un sistema OLAP permite estudiar una gran cantidad de datos, ver los datos desde diferentes perspectivas y apoyar los procesos de decisión de una organización.


Sistemas Cloud Computing:

Bajo el término de Cloud Computing o Computación en la Nube, nos referimos a los sistemas que centran su actividad en ofrecer servicios de un proveedor a sus clientes. Generalmente el proveedor satisface las necesidades Hardware o Software de sus clientes, logrando así, que el cliente solo deba preocuparse por el negocio, de manera que la infraestructura de tecnologías de la información que necesite para dar soporte a su actividad, no se convierta en una limitación.

El origen del Cloud Computing se encuentra en el Grid Computing, pero pretende ir un paso más allá, ya que en una arquitectura Grid tendríamos una infraestructura capaz de dar soporte a una demanda concreta, pero inflexible ante picos de demanda e infrautilizada cuando baje esta demanda. El Cloud en cambio, tiene como pilar, garantizar que el cliente tiene a cada momento los recursos que necesita. Con el Cloud se impone el concepto de pay-as-you-go, que se refiere a pago por uso, solo se paga por los recursos utilizados, lo cual evita al cliente los gastos de desplegar una infraestructura, mantenerla y evolucionarla.

Generalmente la clasificación del Cloud Computing según el tipo de servicios se divide en tres apartados.
  • SaaS (Software como Servicio): Consiste en la utilización de aplicaciones o programas instalados sobre un servidor remoto, y que el usuario se conecta a ellos desde su navegador el cual conecta con un servidor web, de manera que el usuario no precisa de ninguna instalación en su equipo y por tanto tampoco tiene dependencia de ellos.
  • PaaS (Plataforma como Servicio): En lugar de contratar el uso de un software determinado, en este caso el proveedor ofrece todo el conjunto de herramientas que podrían necesitar su clientes para implementar sus propios programas. Es decir, se ofrece una plataforma de desarrollo que integra todo lo necesario.
  • IaaS (Infraestructura como Servicio): Estos servicios están centrados en la parte más relativa al Hardware, aunque también podrían incluir elementos Software. Los clientes podrán contratar los recursos Hardware-Software que necesiten y que den soporte a su negocio, de manera que los servidores, redes... que precise para poder llegar a todos sus clientes, serán provistos de manera externa, y además el solo deberá pagar por lo que consuma, de manera que abarata costes dado que se evita infrautilizar recursos. También garantiza la continuidad del negocio ante picos de demanda que no estuvieran contemplados.

Estas son las tres clasificaciones clásicas del Cloud Computing pero existen más, una que resulta especialmente interesante para el objeto de este trabajo es la conocida como DaaS (Data as a Service). Con este servicio vienen provistos vía web el almacenamiento y las operaciones de gestión sobre Bases de Datos, de manera que para el usuario será como si pudiera almacenar los datos en un disco local.


Sistemas OLAP y el Cloud:

La propuesta de este trabajo es estudiar las relaciones, productos y ventajas que se podrían obtener, mediante la combinación de sistemas OLAP en un entorno de Cloud Computing.

Actualmente en el mercado del Cloud Computing existe un gran abanico de posibilidades en lo referido a las Bases de Datos, su gestión, integración y mantenimiento. Como se ha explicado en el punto anterior, dentro de los diferentes modelos de servicio, el relativo a los datos cuenta con una denominación propia, el DaaS (Datos como servicio), en realidad el DaaS se considera una extensión del SaaS. Ya que toda la parte relativa al almacenamiento y gestión de datos se considera software.
Las posibilidades que pueden surgir de implantar una infraestructura en el que un sistema OLAP esté alojado en un proveedor de servicios en Cloud, es enorme. Por un lado supone un ahorro considerable y por otro lado supone disponer de los datos desde cualquier parte.

Es un ahorro ya que de entrada el cliente de estos servicios se ahorra desarrollar una infraestructura en la que alojará su sistema de bases de datos. A menudo, una organización cuya lógica de negocio reside en el valor de sus datos, genera una gran cantidad de estos para posteriormente analizarlos y sacar conclusiones para tomar decisiones empresariales. Esto hace que el volumen de datos con los que trabajan es alto, además necesitaran cruzar estos entre varias bases de datos. Si el despliegue de toda la infraestructura que da soporte a estas circunstancias, debe correr de mano del cliente, supone un gran desembolso económico en ellas, además si busca seguridad, seguramente tendrá replicados los datos y necesitará de una arquitectura aun más compleja, y por tanto más cara. Además deberá mantenerla, necesitará contratar expertos y personal cualificado. Frente a todo esto. El proveedor Cloud será el encargado de implementar él la infraestructura, de mantenerla y de correr con los gastos de todo ello. Mientras que el cliente solo pagará por las operaciones que realice sobre ellos. También supone un ahorro el hecho de que al pagar el cliente solo por los recursos que consume, no asume el coste añadido de tener una infraestructura planificada sobre una demanda habitual, pero que ante picos de demanda inesperados (pensemos en una promoción que lleva a cabo la empresa) no serán capaces de asumir todos los posibles clientes, ya que su infraestructura no es flexible y no podrá evolucionar, en el caso extremo, mientras la demanda sea inferior que el tope que es capaz de asumir la infraestructura se estarán infrautilizando recursos, y por tanto perdiendo dinero. Por tanto el Cloud puede asegurar la continuidad del negocio, y además al precio exacto en función de la demanda que tenga. Estos conceptos quedan reflejados en la siguiente gráfica.



Como se ha dicho, otra de las ventajas de un sistema OLAP en un entorno Cloud es la ubicuidad. El Cloud da la posibilidad de acceder e interactuar con los datos desde cualquier lugar, ya que bastará un navegador que lance las peticiones de BD. Lo cual hace que cualquier empleado disponga en cualquier momento de la información que necesite. Además el Cloud ofrece el servicio centralizado, de manera que si disponemos de varias BD para el usuario será transparente y no tendrá que preocuparse con cada una de ellas. Como ejemplo si se trata de una organización que desarrolla su negocio en un marco internacional, y cruza varias bases de datos de diferentes países, será el proveedor de servicios el encargado de hacer que esto se produzca, y para los usuarios será transparenta la forma en la que este proceso se lleve a cabo.

Por último, un punto muy fuerte por el que decantarse por el Cloud suponga una buena elección, es que muchos proveedores han desarrollado herramientas específicas para la minería de datos. Es decir, cuando disponemos de un gran volumen de datos, y queremos que estos datos tengan valor, que cobren sentido, hay que llevar a cabo operaciones que permitan descartar información relevante de otra más superflua, pues son estas operaciones las que en muchos casos, ya vienen implementadas o podrían implementar bajo demanda los productos de Cloud.


Opciones OLAP en el mercado Cloud:

El mercado Cloud ofrece una gran variedad de servicios relativos a las Bases de Datos, a menudo agrupa los servicios en dos bloques, servicios de Base de Datos Relacional, y servicios de Bases de Datos No Relacionales. Las primeras se refieren a las bases de datos tradicionales, con una estructura fija, con tablas y con las relaciones entre estas, y que se consultan con SQL. Las No relacionales son las que se conocen como NoSQL, y en ellas no hay estructuras fijas y usan su propio lenguaje de consulta. Se detallan un poco más sus características en la siguiente imagen.


Dentro de estas dos categorías de servicios de Bases de Datos. Vamos a fijarnos por un lado para BD Relacional en proveedores que ofrecen servicios de bases de datos del modelo entidad relación.

En el caso de las BD conocidas como NoSQL, los datos no tienen una definición de atributos fija. Son una forma de estructurar los datos muy interesante ya que somo no siguen una estructura fija, los datos se almacenan en “bruto”, por tanto cuando hay que almacenar gran cantidad de información, se almacena granularmente y generalmente mediante técnicas de minería de datos se puede obtener la información que interesa. La estructura está dividida en nodos, cada uno opera sobre una porción de datos, reúne los resultados y los devuelve al cliente. Aumenta el rendimiento y los recursos, añadiendo recursos según demanda. Las consultas son más rápidas ya que las operaciones son directamente sobre memoria, volcando los datos cada cierto tiempo. Además generan redundancia en diferentes nodos. Pueden manejar gran cantidad de datos, lo que se conoce como Big Data y que va estrechamente relacionado con la minería de datos.

  • Microsoft: En Windows Azure, el proveedor de servicios de Miscrosoft, existe el servicio “MS SQL”, en el cual permite desplegar un entorno de Base de Datos para el modelo relacional, que trabaja igual que la aplicación de escritorio de Microsoft SQL Server. Permitiendo crear cubos de datos. En lo relativo a NoSQL, Microsoft no tiene un servicio específico para ello, si bien permite almacenes de tablas NoSQl. Existe la opción de contratar versiones Web, Business y Premium, y para cada una de ellas permite un máximo de almacenamiento de información y su precio oscila entre 346.29€/mes y 692.58€/mes para la versión Premium, que admite más de 150Gb de almacenamiento. Estas tecnologías son empleadas por Samsung para su Smart TV.

  • Amazon: En el caso de Amazon, que actualmente es el que domina el mercado del Cloud, y a su vez es el que va marcando las pautas desarrollando nuevos servicios, ofrece una gran cantidad de productos para BD. Se puede contratar el servicio denominado “Amazon Relational DB” que ofrece una BD relacional donde poder implementar un cubo de un sistema OLAP. Tambien tiene para las aplicaciones de escritorio el “SQL Server Express” que permite crear escritorios virtuales que contienen BD relacionales de manera que el usuario podrá llevar a cabo operaciones conectándose a este escritorio remoto, que tendrá la configuración necesaria. De cara a los servicios de BD NoSQL, tiene el producto “Amazon Simple DB”. Para usar el Cloud de Amazon existe la opción de registrarse gratis durante un periodo de prueba o bien una opción Premium. El precio varía en función de cada producto, entorno a 0,275$/Gb que se almacene al mes. La famosa red social de profesionales LinkedIn emplea estos servicios.

  • Google: Los productos Cloud de Google se conocen como “Google App Engine”. En principio para los sistemas OLAP, Google es una buena opción ya que ofrece muchos servicios orientados a estas nuevas formas de estructurar la información de BD. Para BD relacionales existe un servicio llamado “Google Cloud SQL”. En Engine el producto Cloud para NoSQL es “Big Table”. Un producto muy interesante que ofrece este proveedor es el “Big Query”, que está pensado expresamente para el Big Data (Alta cantidad de datos). Ofertan versión de prueba y Premium con un coste entorno a 0,26€/Gb por mes. La desarrolladora de videojuegos Ubisoft gesiona sus datos con App Engine.

  • Mongo DB: Mongo es un proveedor de servicios centrado únicamente en los servicios de BD, aparte de proveer BD tradicionales destaca sobre todo por las no relacionales. Para los casos de Big Data, este proveedor almacena las grandes cantidades de valores en tablas similares a las “Hashtable” de Java, donde establece tablas clave-valor. Otra opción que ofertan es sobre BD no estructuradas, mapean la información simulando una estructura similar a la que tendría una BD de SQL. Una característica muy importante es que es Open Source, con dos tipos de licencias, no comercial y para un uso comercial. La empresa Foursquare emplea BD de este tipo.

  • Rackspace: Rackspace es una empresa de servicios Cloud, para las BD tiene el servicio “MySQL Cloud Database”, para las del tipo relacional y con las que crear el cubo. Además tiene el servicio “Big Data Platform” que como su nombre indica es para realizar consultas sobre BD con gran volumen de datos. Al tratarse de un proveedor especializado, no hay un precio concreto ya que depende de diversos factores. Si bien ofrece una versión de prueba es necesario una versión de pago para acceder a la mayoría de su funcionalidad.

A modo de resumen, la mayoría de proveedores de servicios de Bases de Datos para Cloud Computing, se podrían clasificar en el siguiente cuadro:



Conclusiones:

Los sistemas OLAP que optimizan y aceleran las consultas sobre bases de datos, permiten cruzar información entre diferentes bases de datos para dotar de más lógica a las consultas, lo cual en entornos empresariales permite la toma de decisiones en función de los datos consultados a la BD. Los sistemas OLAP en combinación con la computación en el Cloud, pueden ser una herramienta importante en el futuro, ya que ambas se complementan y fruto de ello son más potentes. Además al nivel de empresas que gestionan un gran volumen de datos, migrar sus sistemas de Bases de Datos a un sistema Cloud puede suponer un ahorro importante, además de permitir acceder a la información desde cualquier punto.
Además y a pesar de que la tecnología en Cloud es relativamente nueva, existen ya en el mercado una amplia oferta de proveedores de servicios especializados en servicios de bases de datos, con productos muy especificos.


José Ramón Gil Cotaina.

Second Menu

Popular Posts