You are on page 1of 60

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA


DIRECCIÓN DE POSGRADO

“ANÁLISIS COSTO-BENEFICIO DEL ANÁLISIS


GIGANTE DE DATOS A TRAVÉS DEL USO DE
AMAZON REDSHIFT”

TRABAJO FINAL PRESENTADO PARA OBTENER EL CERTIFICADO


DE DIPLOMADO EXPERTO EN DESARROLLO DE APLICACIONES
VERSIÓN I
.

POSTULANTE : MARCOS BUSTOS JIMENEZ


TUTOR : M.Sc. JUAN MARCELO CLAURE SALINAS

Cochabamba – Bolivia
2018
ii

Quiero agradecer a mis dos amores mi

Esposa e hija por la comprensión, su apoyo y

el aliento que me brinda en cada momento

para cumplir mis objetivos.

A mis padres y hermanos por siempre ser una

fuente de inspiración y apoyarme en todo

momento.
ÍNDICE
TABLA DE CUADROS, GRAFICOS Y FIGURAS 5

RESUMEN 6

CAPITULO I 7

1. Introducción 7

1.1. Antecedentes 7

1.1.1. Antecedentes Generales 7

1.1.2. Antecedentes Específicos 8

1.2. Definición del problema 10

1.3. Objetivo General 11

1.4. Objetivo Especifico 11

1.5. Área de conocimiento 11

1.6. Alcance 12

1.7. Justificación 12

CAPITULO II 13

2. MARCO TEORICO 13

2.1 Soluciones on-premise 13

2.2. Data warehouse 13

3
4

2.3. Computación en la nube 17

2.4. Amazon Redshift 19

2.4.1. Características de Amazon Redshift 21

CAPITULO III 47

3. Experiencias en el uso Amazon Redshift 47

3.1 Docomo y su implementación de Amazon Redshift 48

3.2. Comparación entre Amazon Redshift contra una solución on-premise 50

3.3. Costos y beneficios en el uso de Amazon Redshift 56

CAPITULO IV 57

4. Conclusiones 57

5. Recomendaciones 58

6. Bibliografía 60
5

TABLA DE CUADROS, GRAFICOS Y FIGURAS

TABLA 1 TIPOS DE NODOS DE ALMACENAMIENTO DE ALTA DENSIDAD (DS) ............................................................. 25

TABLA 2 TIPOS DE NODOS DE COMPUTACIÓN DE ALTA DENSIDAD (DC) .................................................................... 26

TABLA 3 ESTADOS DE CLÚSTER AMAZON REDSHIFT ................................................................................................ 28

TABLA 4 OFERTAS DE NODOS RESERVADOS ............................................................................................................. 30

TABLA 5 TABLA REGISTRO AUDITORIA DE CONEXIÓN .............................................................................................. 38

TABLA 6 TABLA REGISTRO AUDITORIA DE USUARIOS ............................................................................................... 39

TABLA 7 TABLA AUDITORIA ACTIVIDADES DE USUARIO ........................................................................................... 40

TABLA 8 METRICAS AMAZON REDSIFHT ................................................................................................................. 46

TABLA 9 COMPARACIÓN ENTRE UNA SOLUCIÓN ON-PREMISE CONTRA AMAZON REDSHIFT ....................................... 56

FIGURA 1 MODELO SIMPLE DE DATA WAREHOUSE. .................................................................................................. 14

FIGURA 2 EJEMPLO ESQUEMA ESTRELLA DE DATA WAREHOUSE. .............................................................................. 16

FIGURA 3 ARQUITECTURA CLÚSTER AMAZON REDSHIFT ......................................................................................... 23


6

RESUMEN

Las organizaciones en el mundo van integrando sus sistemas a varios otros sistemas haciendo que

la información que almacenan sea cada vez más gigantesca, que ya no simplemente hablamos de

terabytes de información, sino que ya se habla de petabytes, que es una cantidad que muchos

almacenamientos de información ya no abastecen y se vuelve un gasto que al igual que la

información va creciendo para las organizaciones.

Muchas empresas grandes han estado estudiando la manera de minimizar este fenómeno, muchas

optan por mejorar sus almacenes de datos (uso data warehouse) debido a que la información que

contienen es confidencial y no tienen la confianza de migrar a otro tipo de servicio, por otro lado

algunas empresas con visión a mejorar sus servicios van migrando a almacenamientos en la nube,

uno de los más utilizado por ser el líder del mercado son los servicios en la nube de Amazon.

Los servicios Amazon Redshift que es un almacenamiento en la nube, el de mejor rendimiento y

mayor capacidad de almacenamiento, que nos brinda la seguridad que requerimos a la hora de

almacenar información confidencial, mediante el cifrado de información y generación de llaves de

encriptado que hacen que nuestra información este bien protegida y segura,

Amazon Redshift es utilizado por NTT DOCOMO una empresa Japonesa líder en

telecomunicaciones, que hasta el 2012 tenía información que supera más de 4 petabytes de data

donde ha visto de Redshift la mejor alternativa para el manejo de esta volumen de datos, teniendo

una experiencia satisfactoria con este servicio.

Los beneficios que nos presenta el uso Redshift desde el punto de vista del análisis beneficio costo

contra una solución on-premise son considerables y hacen que nuestras aplicaciones tengan un

mejor rendimiento, dando una respuesta oportuna a todas las solicitudes que se tienen.
7

CAPITULO I

1. INTRODUCCIÓN

1.1. Antecedentes

En la actualidad la mayor parte de las grandes organizaciones y entidades gubernamentales tienen

la necesidad de almacenar mayores volúmenes de información histórica y relevantes para toma de

decisiones (compras, visitas, ventas, etc.), que en un periodo tiempo corto significaría gigantescas

cantidades de información dependiendo de la cantidad de clientes y la concurrencia con sus

sistemas, que deben ser almacenadas y estar disponibles para consultarlas, estas consultas por la

cantidad de datos almacenados tendrán problemas en tiempos de procesamientos y el rendimiento

de las consultas, este tipo de soluciones son denominadas on-premise, adicionalmente requerirían

de servidores con gigantescos discos y muchos procesadores, con el fin de mejorar el rendimiento

y respuestas a las consultas, que puede llegar a significar un costo muy alto y que pocas empresas

pueden costearlos.

1.1.1. Antecedentes Generales

Las organizaciones a lo largo del tiempo han ido necesitando herramientas que coadyuven con el

almacenamiento de su información historia, y que esta información sea de fácil acceso y con una

respuesta rápida a las consultas que se realicen, esta es una constante y un requerimiento que va

creciendo exponencialmente.

Este fenómeno se ha vuelto uno de los gastos más altos que tienen las organizaciones, tomando en

cuenta que si la organización tuviera su propio servidor este representa un costo de manteamiento,

actualización, reparación y costos de servicios (Energía eléctrica e Internet), que puede variar

según las características de estos servidores, otra de las opciones seria adquirir un servicio de
8

hosting que también sería una inversión con un costo fijo mensual elevado que depende de las

características del host y los servicios que nos proporciona, otra opción no muy conocida por parte

de las organizaciones en la actualidad la adquisición de un servicio de almacenamiento en la nube,

que por el momento no es muy requerido, pero que se está volviendo una alternativa a las

tradicionales, que poco a poco se va haciendo más populares dentro del mercado por sus

características.

1.1.2. Antecedentes Específicos

El almacenado y procesamiento de gigantescas cantidades de datos son problemática constante en

la actualidad, se trata de mitigar con diversas técnicas, como ser la agregación de índices en bases

de datos relacionales, que permitan que las consultas sean eficientes y de rápida respuesta, que se

va volviendo más pesadas a medida que se requiera realizar consultas complejas, además que estos

índices representan otra cantidad gigante de datos que el disco debe soportar y un cache en

memoria que hace que los servidores estén al límite de su capacidad constantemente.

Otra alternativa que apareció y está siendo muy utilizada son las bases de datos NoSQL que son

bases de datos que tienen un mejor rendimiento a la hora de realizar consultas, pero al igual que

una relacional representan grandes cantidades de datos, además por sus características tienen un

gran uso de memoria, además del espacio en disco que son los problemas que se afrontan a la hora

de tener bases de datos gigantescas.

Como se puede ver el mayor problema en realidad no son los motores de base de datos, por el

contrario, cada versión nueva que sale al mercado trata de optimizar los recursos, y tener un mejor

rendimiento con mayores cantidades de datos, pese a estas optimizaciones la limitante llegan a ser

los servidores, es por ello que nace como una alternativa a este problema el uso de
9

almacenamientos en la nube que brindad soluciones al problema de espacien en disco y

rendimiento, brindando el servicio de almacenamiento con soporte a terabytes que ya es un salto

muy grande, siendo una solución al problema de infraestructura, que se vuelve una preocupación

latente de las organizaciones que almacenan cantidades gigantescas de datos y más aún que

necesitan procesarlas.

Una de las plataformas de servicios en la nube que más crecimiento ha tenido en estos años, son

los servicios de Amazon que tiene una gran gama de herramientas útiles para las organizaciones

que simplifican o minimizan cualquier tipo de problema informático que tengan, asiendo de la

experiencia de trabajo en la nube muy sencilla y amigable para los desarrolladores, administrador

de base de datos, devOps1 o cualquier persona relacionada en el desarrollo e implementación de

productos informáticos.

Para el problema de almacenamiento, rendimiento y velocidad en base de datos, Amazon tiene una

alternativa que es una de las más veloces y de mayor capacidad del mercado, este servicio se

denomina Amazon Redshift, que es un servicio de almacenamiento en la nube, que tiene un

rendimiento diez veces mayor a cualquier otro almacenamiento de datos en el mercado, tiene un

gran rendimiento debido a su ejecución de consultas en paralelo, se puede realizar consultas en

petabytes, con lo cual planteamos que podrá ser una gran alternativa a la problemática de

infraestructura que están presentando las organizaciones.

1
DevOps es una respuesta a la interdependencia del desarrollo de software y las operaciones
IT. Su objetivo es ayudar a una organización a producir productos y servicios software más
rápidamente, de mejor calidad y a un coste menor.
10

1.2. Definición del problema

A medida de que este fenómeno se ha ido incrementando la empresas han ido implementando

algunas técnicas como ser el diseño y la implementación de Data warehouses para sus soluciones

on-premise, donde puedan tener información historia, estructurada y de fácil acceso, pero la mayor

limitante para estas son la infraestructura que se requiere, para poder almacenar estas gigantescas

cantidades de datos y que nos proporcionen un espectro amplio de respuesta que pueda soportar

mucha concurrencia, y nos brinde la seguridad a la hora de almacenar y consultar esta información,

siendo un problema latente para todas la organizaciones que tenga gigantescas cantidades de

información y con constante crecimiento y concurrencia, teniendo a sus servidores al límite de su

capacidad e incluso yendo incrementando las características de sus servidores en periodos muy

cortos, representándoles costos elevados.

Algunas nuevas alternativas en el mercado de almacenamientos de datos, son los almacenamientos

en la nube, que en la actualidad existe bastantes de este tipo, entre ellos podemos mencionar a

Amazon Redshift que actualmente es uno de los almacenamientos de mejor rendimiento y

velocidad del mercado, pero que no son vistas como opción por parte de las organizaciones, por el

poco conocimiento que tienen sobre ellas, las desconfianza de tener toda su información en la

nube, que pueda ser vulnerada o filtrada, el costo que les representa el mantener este tipo de

servicios y muchas otras circunstancias que hacen que las organizaciones no vean con buenos ojos

el uso de esta nueva tecnología.

El principal problema es la poca información sobre el beneficio y el costo de usar un

almacenamiento en la nube, contra una solución on-premise, durante el análisis gigantescas

cantidades de datos, que permita una respuesta oportuna para lo toma de decisiones.
11

1.3. Objetivo General

Realizar un Análisis del costo-beneficio del análisis gigante de datos a través del uso Amazon

Redshift.

1.4. Objetivo Especifico

 Analizar la implementación de un data warehouse para análisis de gigantescas cantidades

de datos.

 Analizar e implementar un data warehouse como una soluciones on-premise.

 Analizar el incremento de información almacenada en el data warehouse en soluciones on-

premise.

 Analizar beneficios en el uso de Amazon Redshift versus una solución on-premise.

1.5. Área de conocimiento

 Características de Amazon Redshift que nos presenta para la implementación y uso en

nuestras soluciones de toma de decisiones, el rendimiento que tendrá con grandes

volúmenes de datos.

 Principales características de computación en la nube manejando gigantescas cantidades

de información.

 Soluciones on-premise, su implementación y sus desventajas a la hora de procesar

gigantescas cantidades de información, los costos de mantenimiento y reparación o

actualización.

 Uso de data warehouse para la toma de decisiones dentro de las organizaciones, los criterios

necesarios para definir qué tipo de modelo utilizar a la hora de su diseño.


12

1.6. Alcance

Con este documento tratamos de aportar a que los lectores puedan identificar el beneficio y los

costos que pueden tener al usar esta Amazon Redshift a diferencia de una aplicación on-premise,

dando un panorama claro y preciso donde los lectores puedan apreciar si es la mejor opción que

requiere el trabajo que vayan a desarrollar, es claro que no siempre puede llegar a ser la mejor

opción para un problema específico, pero si puede ser de gran utilidad si es que se manejaran

gigantescas cantidades de datos.

1.7. Justificación
Teniendo este Análisis las organizaciones pueden identificar la mejor opción a sus necesidades,

teniendo en cuenta el costo-beneficio que tendrá aplicando un almacenamiento en la nube, contra

una on-premise, del cual tiene que encargarse periódicamente para poder brindar un buen servicio,

mientras que usando un servicio en la nube únicamente podría requerir de un nuevo cluster o nodo

para almacenar mayor cantidad de información, sin necesidad de pensar en una actualización o

alguna otra medida correctiva.

Este documento trata de ser una herramienta de toma de decisiones que nos ayude a comprender

sobre las nuevas tendencia que se presentan en la actualidad para el desarrollo de aplicaciones de

tomas de decisiones que cada año son más requeridos por parte de las organizaciones que desean

mejorar sus servicios o productos tomando medidas oportunas sobre sus productos o servicios.
13

CAPITULO II

2. MARCO TEORICO

2.1 Soluciones on-premise

Solución On Premise son aquellos sistemas que son instalados en dentro las instalaciones de la

organización. Se trata de tener una infraestructura para los servidores y el software que

proporcionan un determinado servicio a la organización.

Estos sistemas son actualizados y mantenidos mediante un equipo de expertos que organización

debe contratar para administrar esta clase de soluciones, y tener la disponibilidad necesaria para

poder activar los servicios en caso de que estos inicien a fallar.

Generalmente dependiendo del tipo de solución es necesario la compra de licencias, para el

software que vayan a utilizar, no tenga problemas de esta índole.

Este tipo de soluciones son óptimas cuando nuestras organizaciones son pequeñas y la información

que vaya a manejar no tendrá un incremento considerable durante su puesta en producción, de esta

forma tener el control de nuestros datos y poder configurar o instalar los complementos que

requiramos en nuestros servidores.

2.2.Data warehouse

Un data warehouse es un sistema que recupera y consolida información periódicamente desde el

sistema principal registrando esta información en contenedor dimensional o normalizado, tiene

almacenada información histórica de años y es consultado para realizar inteligencia de negocio u

otras actividades analíticas, generalmente se actualiza por lotes en un periodo especifico, y no cada

que se realiza una transacción.


14

Figura 1 Modelo simple de data warehouse.


Fuente: (Rainardi, 2008)

Un data warehouse es un repositorio unificado para todos los datos que recogen los diversos

sistemas de una empresa u organización. El repositorio puede ser físico o lógico y hace hincapié

en la captura de datos de diversas fuentes sobre todo para fines analíticos y de acceso. Como se

puede apreciar en la Figura 1, tenemos un o varias bases de datos de sistema que a través de un

proceso ETL (Extract, transform and load), transfiere la información a nuestra dataware house.

Los periodos de transferencia de información al data warehouse se realiza dependiendo de la

necesidad del cliente, generalmente se realizan en horarios donde el o los sistemas de los que

vamos a obtener la información estén con poco tráfico o inactivos y puede realizarse una o las

veces que se necesite, es necesario que una vez se realice la migración de la información desde la

base de datos de los sistemas tengamos un registro de que esta información ya fue migrada, de esta

forma evitar que se realicen migraciones con información repetida.

Podemos mencionar algunas características generales de los Data warehouses:

 Los datos son organizados por área temática éstas representan una recopilación de todos los

datos en la organización que pertenecen a un tema que puede ser de importancia para el

tomador de decisiones.

 Los datos son integrados, a fin de ser útiles, los datos deben ser transformados a formatos

comunes de medida, referencia y almacenamiento, generando así su integración.


15

 Los data Warehouses no son volátiles, la información se carga en el data warehouse, y

posteriormente se accede para la toma de decisiones. Esto difiere de un sistema transaccional

dado que este es actualizado, tan pronto como ocurre un nuevo evento.

 La información está orientada al tiempo, el data warehouse es una secuencia de snapshots

(fotografías instantáneas) de información corporativa tomadas a intervalos.

 El modelo que utilizan las data warehoueses son el modelo estrella que está compuesta de una

tabla principal llamada hecho, donde se almacena la información central que usaremos como

criterios de análisis para la toma de decisiones, esta tabla de hechos está relacionada 1:1 con

una o más dimensiones que son las descripciones textuales de las entidades a analizar, como

podemos apreciar en la Figura 2, tenemos una tabla de hechos que son las ventas que se

realizan en la organización y está relacionada con las dimensiones que intervienen en una

venta, es decir la fechas de venta, el cliente al que se vende, el producto que se vendió y el

área en donde se vendió.


16

Figura 2 Ejemplo esquema estrella de data warehouse.


Fuente: (Rainardi, 2008)

La ETL es un proceso que nos permite la migración de nuestra base de datos a la data warehouse,

como su nombre menciona se encarga de extraer toda la información de las bases de datos que

vamos a analizar, esta información puede tener datos que no están alineados a lo que requerimos

almacenar en la data warehouse, por ello el segundo paso es la transformación donde se transforma

la información que requerimos, puede ser tipo de dato, formato, etc, por ejemplo si en nuestra base

de datos de nuestro sistemas registramos las ventas y alguna de ellas tienen descuento, esta

información se registra como un tipo de dato binario en nuestras bases de datos de los sistemas,

pero en nuestra data warehouse necesitamos que nos indique directamente texto (tiene descuento,
17

no tienes descuento), esos datos se transforman a dato que requerimos, posterior a la trasformación

tenemos el último paso del proceso que es la carga de información al data warehouse, repitiendo

este proceso en cada sincronización de información.

2.3.Computación en la nube

La característica básica de la computación en la nube es que los recursos y servicios informáticos,

tales como infraestructura, plataforma y aplicaciones, son ofrecidos y consumidos como servicios

a través de la Internet sin que los usuarios tengan que tener ningún conocimiento de lo que sucede

detrás. Esto debido a que los usuarios no tienen idea alguna sobre la infraestructura que opera para

ofrecer los servicios es que se llama Computación en las Nubes.

Podemos dividir la Computación de las Nubes en las siguientes capas:

 Software como Servicio (SaaS): Esta en la capa más alta y consiste en la entrega de una

aplicación completa como un servicio. El proveedor SaaS dispone de una aplicación estándar

desarrollada en algunos casos por él mismo que se encarga de operar y mantener y con la que

da servicio a multitud de clientes a través de la red, sin que estos tengan que instalar ningún

software adicional. La distribución de la aplicación tiene el modelo de uno a muchos, es decir,

se realiza un producto y el mismo lo usan varios clientes. Los proveedores de SaaS son

responsables de la disponibilidad y funcionalidad de sus servicios no dejando de lado las

necesidades de los clientes que son, al fin y al cabo, los que usaran el software.

 Plataforma como Servicio (PaaS): PaaS es la siguiente capa. La idea básica es proporcionar

un servicio de plataforma que permita desarrollar software a través de la red. El proveedor es

el encargado de escalar los recursos en caso de que la aplicación lo requiera, del rendimiento

óptimo de la plataforma, seguridad de acceso, etc. Para desarrollar software se necesitan,


18

BBDD, servidores, redes, y herramientas de desarrollo. Con PaaS uno se olvida del personal

para su uso y te centras en innovar y desarrollar ya que el hardware necesario para el desarrollo

de software es ofrecido a través de Internet, lo que permite aumentar la productividad de los

equipos de desarrollo.

 Infraestructura como Servicio (IaaS): IasS corresponde a la capa más baja. La idea básica es

la de externalización de servidores para espacio en disco, base de datos, routers, swtiches y/o

tiempo de computación en lugar de tener un servidor local y toda la infraestructura necesaria

para la conectividad y mantenimiento dentro de una organizaron. Con una IaaS lo que se tiene

es una solución en la que se paga por consumo de recursos solamente usados: espacio en disco

utilizado, tiempo de CPU, espacio en base de datos, transferencia de datos. Las IaaS permiten

desplazar una serie de problemas al proveedor relacionado con la gestión de las máquinas

como el ahorro de costos al pagar sólo por lo consumido y olvidarse de tratar con máquinas y

su mantenimiento. Por otro lado IaaS puede permitir una escalabilidad automática o

semiautomática, de forma que podamos contratar más recursos según los vayamos

necesitando.
19

2.4.Amazon Redshift

Según la definición de la página oficial de Amazon Web Services 2 (AWS, Servicios web de

Amazon) en la sección de Redshift “Es un servicio de almacenamiento de datos ágil y escalable

que permite analizar todos los datos de su almacén de datos y lago de datos de manera simple y

rentable. Redshift ofrece un rendimiento diez veces superior al de cualquier otro almacenamiento

de datos gracias al uso de aprendizaje automático, la ejecución masiva de consultas en paralelo y

el almacenamiento en columnas en un disco de alto rendimiento (Amazon, 2012)”.

Al ser un almacenamiento ágil y escalable nos permite mantener la calidad de nuestros productos,

sin importar la que en un futuro nuestra información vaya a incrementarse repentinamente o se

requiera consultas más compleja y de periodos de tiempo prolongados, la agilidad que maneja

redshift nos permite que cualquier cambio en nuestros contenedores que pueden ser muy costosos

en tiempo de procesamiento para otros almacenamientos de datos, con redshift será rápidos y

oportunos, y esto para cualquier organización es un punto a favor, debido a que muchas veces al

correr scripts post deploy tenemos la necesidad de dar de baja todo el sistema por periodos de

tiempo prolongados, debido al tiempo que tomara la ejecución de nuestro script, que dependiendo

de la data puede llegar a ser días, lo que representa un costo muy algo para las organizaciones.

Las consultas complejas es decir con muchas sub consultas o consultas anidadas y que recuperan

mucha información son siempre un dolor de cabeza para desarrolladores y administradores de base

2
Es una plataforma de servicios de nube que ofrece potencia de cómputo, almacenamiento de
bases de datos, entrega de contenido y otra funcionalidad para ayudar a las empresas a escalar
y crecer.
20

de datos, que tienen mucho trabajo para poder optimizar este tipo de consultas, con un caso como

este es necesario realizar una verificación de la normalización de la base de datos que se va a

consultar, que cumpla a cabalidad cada forma normal, una vez verificada se pasa a crear los índices

que permitirán que las consultas sean más rápidas, pero este proceso con datos gigantescos puede

llegar a tomar un tiempo prolongado para la creación de nuevos índices, posterior a la creación de

índices la optimización de las consultas que puede ser un proceso complejo si no se tienen la

experiencia necesaria a la hora de realizar optimización de consultas.

Con el uso de Redshift este trabajo será un poco más liviano, porque gracias al aprendizaje

automático, que hace que un registro automático de las consultas con más recurrentes que hace

que se hagan más rápidas, no es necesario esperar la cola de ejecución de gestores de base de datos

porque Redshift maneja consultas en paralelo, con esto se evita la cola de consultas que esperan

que las tablas sean liberadas, de este modo las consultas que sean más pequeñas irán liberando

rápidamente y no esperar que las consultas que pueden demorar sean un cuello de botella en

nuestros procesos, Redshif también tiene lo que se denomina el almacenamiento de columnas en

discos de alto rendimiento, que es una nueva forma de almacenado en disco que permite que las

consultas sean más rápidas, siendo que una consulta no debe cargar toda la data de un registro,

sino simplemente una columna para realizar las operaciones he ir agregando las demás columnas

que se necesiten posterior al proceso, esta nueva técnica de almacenaje reduce sustancialmente el

tiempo de consulta y uso de disco lo que haces que las consultas sean más eficientes y rápidas.

A grandes rasgos Amazon Redshift nos brinda la seguridad que es un almacenamiento de datos,

que nos brindara un servicio veloz y eficiente, que podemos almacenar gigantescas cantidades de

datos, realizar consultas que tendrán respuestas oportunas y brindar un buen servicio a nuestros
21

clientes, los cuales se van quejando a menudo del rendimiento de los sistemas a la hora de obtener

reportes con información muy grandes. Para resolver muchas veces este tipo de impases las

organizaciones optan por mejorar sus servidores, o rentar nuevos servidores con mejores

características, que les proporcionara mayor rendimiento en sus consultas, por el contrario si estas

organizaciones optaran por la utilización de Redsifht estas no necesitan adquirir un nuevo servicio,

hacer nuevos contratos, o migrar su información a otro servidor, simplemente van almacenando la

información que se requiera y realizar las consultas que requiera, redshift no tiene limitaciones en

cuanto a almacenamiento, cantidad de consultas y espectro, lo único que se requiere es la

información que se va a almacenar, redshift nos ofrece un cobro por cantidad de datos utilizados

similar a una empresa telefónica que te cobra por minutos de llamada, para dar un ejemplo, muchos

pensaran que esto representara un costo demasiado alto y que podemos a llagar a pagar una

cantidad significativa por mes, pero no es tan cierto es por ello que vamos a ahondar en este detalle

en una sección dentro de este documento y el en cual nos centraremos en el análisis del costo que

representar su implementación y utilización.

2.4.1. Características de Amazon Redshift

Iremos desglosando las características más importantes que presenta Amazon Redshift que nos

permitirá conocer mejor este almacén de datos en la nube.

2.4.1.1.Administración de clúster
El motor Amazon Redshit funciona sobre un clúster, que puede contener uno o varias bases de

datos. Un clúster es un conjunto de nodos computacionales (colección de recursos informáticos)

que incluye un nodo principal y uno o más secundarios dependiendo de la necesidad que se tenga,

el tipo y la cantidad de nodos depende del tamaño de los datos, el número de consultas que se

realizaran y el rendimiento que esperemos obtener en la ejecución de las consultas.


22

Los clúster pueden iniciar siendo pequeños de un solo nodo, que puede ir incrementando nodos a

medida de que se requieran, también se puede eliminar algún nodo que no sea requerido sin que

esto cause la interrupción del servicio.

Cuando creamos un clúster este viene por defecto en la versión primaria de Redshift, y nosotros

podemos actualizar a la versión que vemos, también se puede actualizar la revisión de base de

datos del Amazon Redshift, Amazon nos informa cada que sale una nueva versión de alguna de

estas, la consola de Amazon Redshift nos indica que existe una nueva versión y consulta si se

desea actualizar, la actualización no se ejecuta inmediatamente, se realiza durante el periodo de

manteamiento del clúster.

El periodo de mantenimiento es una ventana de tiempo de 8 horas según zonas horarias, que

simplemente duran 30 minutos durante dentro de la ventana de tiempo, que se puede ejecutarse de

forma automática o manual realizando una programación a través de la consola de Amazon, este

tiempo de mantenimiento termina todas las consultas o procesos que no hayan concluido, el

mantenimiento en caso de no terminar se seguirá ejecutando dependiendo, en caso de no existir

ninguna tarea de mantenimiento, el periodo de mantenimiento no se ejecuta hasta la próxima

ocasión.
23

Figura 3 Arquitectura clúster Amazon Redshift


Fuente: (Amazon, 2012)

La ejecución dentro de un clúster sigue la siguiente arquitectura (Figura 1) tomando en

cuenta que Amazon Redshift es considera como un data warehouse, el nodo principal es el

encargado de recibir las peticiones de los clientes, el cual se encarga de crear los planes de

ejecución y distribuir entre los nodos que contiene nuestro clúster, los clústeres

interactuaran entre sí mediante el nodo principal al cual envían resultados parciales y sigue

el proceso hasta tener el resultado final.

Los clústeres nodos con de dos tipos distintos que se definen a la hora de crearlos, estos

tipos son los encargados de determinar la capacidad del CPU, la RAM, el almacenamiento

y el tipo de unidad.
24

Nodo de Almacenamiento de alta densidad (DS Dense Storange), son optimizados para el

almacenamientos de datos. Existe una versión extendida que es la DS2 la cual esta optimizada para

grandes cargas de trabajo de datos y contiene un almacenamiento de disto duro (HDD, Unidad de

disco duro), que hace que disponga de una gran cantidad de almacenamiento. Cabe aclarar que los

nodos tipos DS1 están entrando en desuso, y pronto dejaran de ser parte de la oferta de Amazon

Redshift.

Nodo de Computación de alta densidad (DC Dense Compute), están optimizados para realizar

tareas computacionales. Al igual que la DS, también tenemos una versión extendida de DC que es

la versión DC2, ambas trabajan con carga de datos concurrentes, utilizan un disco de estado sólido

(SSD Solid State Driver), como es de conocimiento este tipo de disco tiene muy poca capacidad,

pero un rendimiento excelente, que permite que DC1 y DC2 nos proporcione una entrada y salida

de datos más óptima.

La capacidad de almacenaje del clúster se define sumando las capacidades de discos de nuestros

nodos, adicional a ello es muy importante tomar en cuenta que tipos de nodos vamos a necesitar

según la cantidad de información, la complejidad que nuestras consultas tendrán y las necesidades

que nuestros clientes tendrán.

En las siguientes tablas (tabla 1 y tabla 2), se resumen las especificaciones de cada tipo y tamaño

de nodo. En las dos tablas que se muestran más abajo, estos encabezados significan lo siguiente:

 vCPU es la cantidad de CPU virtuales para cada nodo.


25

 ECU es la cantidad de unidades de computación de Amazon EC2 3 para cada nodo.


 RAM es la cantidad de memoria en gibibytes (GiB) para cada nodo.
 Sectores por nodo es la cantidad de sectores en la que está particionado un nodo de
computación.
 Almacenamiento es la capacidad y el tipo almacenamiento de cada nodo.
 Rango de nodos es la cantidad mínima y máxima de nodos que admite Amazon Redshift según
el tipo y tamaño de nodo. Se puede tener restricciones de cantidad de nodos según la cuenta de
AWS que tengamos.
 Capacidad total es la capacidad total de almacenamiento del clúster si implementa la cantidad
máxima de nodos especificada en el rango de nodos.

Tamaño del vCPU ECU RAM Sectores Almacenamiento Rango Capacidad


nodo (GiB) por nodo por nodo de total
nodos
ds2.xlarge 4 13 31 2 HDD de 2 TB 1–32 64 TB
ds2.8xlarge 36 119 244 16 HDD de 16 TB 2–128 2 PB
Tabla 1 Tipos de nodos de almacenamiento de alta densidad (DS)

Tamaño del vCPU ECU RAM Sectores Almacenamiento Rango Capacidad


nodo (GiB) por nodo por nodo de total
nodos
dc1.large 2 7 15 2 SSD de 160 GB 1–32 5.12 TB
dc1.8xlarge 32 104 244 32 SSD de 2,56 TB 2–128 326 TB

3
EC2 (Amazon Elastic Compute Cloud) es un servicio web que proporciona capacidad
informática en la nube segura y de tamaño modificable. Está diseñado para facilitar a los
desarrolladores el uso de la informática en la nube a escala de la Web.
26

dc2.large 2 7 15.25 2 SSD NVMe de 1–32 5.12 TB


160 GB
dc2.8xlarge 32 99 244 16 SSD NVMe de 2–128 326 TB
2,56 TB
Tabla 2 Tipos de nodos de computación de alta densidad (DC)

Los clúster tiene un opción de consola que nos sirve para monitorizar el rendimiento de las

consultas y también podemos tener las métricas con Amazon cloudwatch4, que es una herramienta

especializada en métricas de Amazon.

Cuando es necesario incrementar el tamaño de un clúster es tenemos que tomar en cuenta que

Amazon Redshift realiza una migración en los clústeres durante ese periodo se realiza un bloqueo

de escritura del clúster, quedando únicamente disponible para poder realizar consultas mientras

termina el proceso de migración. Este proceso puede tardar entre unas horas o varios días

dependiendo de la cantidad de información que se vaya a migrar.

Otra herramienta útil que nos presentan los clústeres de Amazon son las alarmas de espacio de

disco a través de Amazon SNS5, que tiene temas predeterminadas para este fin o se puede realizar

personalizaciones en los temas para las alertas de espacio de disco según veamos convenientes.

4
Amazon CloudWatch es un servicio de monitoreo y administración, le ofrece datos e
información procesable para monitorear sus aplicaciones, comprender cambios de rendimiento
que afectan a todo el sistema y tomar acciones, optimizar el uso de recursos y lograr una vista
unificada del estado de las operaciones.
5
Amazon Simple Notification Service (Amazon SNS) envía una notificación a destinatarios
específicos para advertirles que se ha alcanzado el límite de porcentaje
27

Los clústeres predeterminadamente se crean con un nombre por defecto, este nombre se lo

denomina identificador del nodo, este identificador nos permite conectar nuestra base de datos a

las distintas herramientas que proporciona Amazon, entre ellos es por ello la necesidad de que el

cambio se aplique en las demás herramientas que Amazon, adicionalmente se realizan cambios en

los nombres de los snapshots que se hayan realizado, asociándolo al nuevo nombre del clúster cada

uno de los snapshots que se hayan realizado. Todas estas acciones se realizan por los medio de la

consola de Amazon, que nos permita realizar este tipo de cambios.

Para la eliminación de un clúster tenemos la opción de sacar un snapshot final del clúster que

Amazon lo realiza de forma manual y que está disponible para cuando se dese reestablecer el

clúster, de lo contrario si es que no fuera necesario se procede a realizar la eliminación y no se

podrá recuperar nada después de este proceso. También se eliminaran todas las asociaciones a

otras herramientas de Amazon que tenga nuestro clúster, además que se eliminaran los snapshot

que se haya sacado previamente del snapshot final.

Los clúster tienen distintos estados que en la tabla 3 vamos a ir viendo cada uno de los estados a

detalle.

Estado Descripción
available El clúster se está ejecutando y está disponible.
creating Amazon Redshift está creando el clúster.
deleting Amazon Redshift está eliminando el clúster.
final-snapshot Amazon Redshift está realizando una snapshot final del clúster antes de
eliminarlo.
hardware-failure Se detectó un error de hardware en el clúster.
28

incompatible-hsm Amazon Redshift no puede conectarse al módulo de seguridad de


hardware (HSM). Compruebe la configuración del HSM entre el clúster
y el HSM.
incompatible- Hay un problema con la configuración de red subyacente. Asegúrese de
network que la VPC en la que lanzó el clúster exista y de que está bien
configurada.
incompatible- Hay un problema con uno o más valores de parámetros en el grupo de
parameters parámetros asociados y no se pueden aplicar los valores del parámetro.
Modifique el grupo de parámetros y actualice todo valor que no sea
válido.
incompatible- Hubo un problema al restaurar el clúster desde la snapshot. Vuelva a
restore restaurar el clúster con una snapshot diferente.
modifying Amazon Redshift está aplicando cambios en el clúster.
rebooting Amazon Redshift está reiniciando el clúster.
renaming Amazon Redshift está aplicando un nombre nuevo en el clúster.
resizing Amazon Redshift está cambiando el tamaño del clúster.
rotating-keys Amazon Redshift está rotando las claves de cifrado del clúster.
storage-full El clúster alcanzó su capacidad de almacenamiento. Cambie el tamaño
del clúster para añadir nodos o elija un tamaño de nodo diferente.
updating-hsm Amazon Redshift está actualizando la configuración del HSM. .
Tabla 3 Estados de clúster Amazon Redshift

Amazon redshift nos permite actualizar a una nueva versión de clúster cuando se vea conveniente,

también nos da la opción de volver a una versión anterior, a estas opciones se denomina pista de

mantenimiento el cluster, y se tiene dos tipos:

 Current (Actual): el clúster se actualiza a la versión aprobada más reciente de Amazon


Redshift.
 Trailing (Anterior): el clúster se actualiza a la versión aprobada de Amazon Redshift
anterior a la más reciente.
29

Para cualquiera que sea la decisión que tomemos para la versión de nuestro clúster, es muy sencillo

de definir a través de la consola de Amazon, que nos permite una administración por interfaz de

usuario, pero adiciona tenemos la opción de administración mediantes una API, como se puede

apreciar al tener mayores opciones tenemos más control sobre nuestro clúster.

2.4.1.2. Adquisición de nodos Amazon Redshift

Las tarifas que maneja Amazon Redshift están basadas en nodos que tienen los clúster, cada nodo

se factura según la tarifa por hora, y varía según el tipo, la región y si fue reservado o si el nodo es

bajo pedido.

Los nodos reservados tienen el menor costo, y se facturar los nodos por hora con descuento y

también varía dependiendo de los tipos, la región y el periodo de tiempo reservado, esta nodos

generalmente se hacen las reservas bajo oferta donde se establece el descuento que se tendrá por

cada nodo.

Los nodos bajo pedido son los más costosos, pero nos ofrecen mejores características y mayor

flexibilidad, solamente se facturan los nodos que están en un clúster de ejecución, si el clúster se

cierra o se elimina ya no se cobrara por los nodos que este en el clúster, y las tarifas también

dependen de los tipos y la región donde se encuentre el nodo.

Para adquirir un nodo reservado con planes de descuento estos deben ser con un compromiso de

que se pagara por un año o tres años, independientemente si el nodo este en uso o no, estos nodos

solo se iniciaran a cobrar si es que el nodo paso a un estado activo, en la Tabla 4 realizaremos una

comparación de ofertas de nodos reservados.


30

Opción Cronograma de Comparación de Duración Cargos Cargos


de pago pagos ahorros iniciales mensuales
recurrentes
Sin pagos Cuotas Aproximadamente, Término Ninguno Sí
iniciales mensuales para un 20% de descuento de un año
la duración de la sobre tarifas bajo
reserva. Sin pedido.
pagos iniciales.
Pago Pago inicial Hasta un 41% a un Término Sí Sí
inicial parcial y cuotas 73% de descuento de un año o
parcial mensuales por la según la duración. tres años
duración de la
reserva.
Pago Pago inicial Hasta un 42% a un Término Sí Ninguno
inicial completo para la 76% de descuento de un año o
completo reserva. Sin según la duración. tres años
cargos
mensuales.
Tabla 4 Ofertas de nodos reservados

2.4.1.3. Creación de Snapshots de un clúster


Los snapshots son archivos de respaldo que se generan en un formato especifico, también se los

conoce como Backups que traducido al español significa copia de seguridad, este término es más

usado cuando se hablan de respaldos de base de datos, y Amazon Redshift no podía ser la

excepción, tiene la opción de sacar opciones de forma manual o automatizada, esta se almacenan
31

internamente en Amazon Simple Storage Service (Amazon S3) 6 mediante una conexión Secure

Sockets Layer7 (SSL, Capa de conexión segura) cifrada. Para restaurarlo Amazon Redshift crea

un nuevo clúster y solo lo realiza de la información que deseamos recuperar.

El proceso de restauración puede ser monitorizado por la consola de Amazon, o algunas opciones

extendidas para desarrolladores mediante API, estas herramientas nos mostraran la información

del backup que se está ejecutando la tasa de transferencia, el tiempo que tomara su restauración y

el estimado para terminar.

Los snapshots son almacenados gratuitamente mientras no sobrepase la capacidad del clúster que

se tienen adquirido, en caso de excedernos se procede a realizar cobros con la tarifa establecida,

por ello es recomendable definir los días que se ejecutaran los snapshots automatizados he ir

eliminando los que veamos que ya no son necesarios.

Para la creación de los snapshots Amazon Redshift nos da una opción que pocos motores de base

de datos nos proporciona que son la exclusión de algunas tablas que no contienen información

relevante o tablas de provisionales, de esta forma ahorramos espacio en nuestro almacenamiento

y la restauración se realice en menor tiempo posible.

6
Amazon S3 es un servicio de almacenamiento de objetos creado para almacenar y recuperar
cualquier volumen de datos desde cualquier ubicación: sitios web y aplicaciones móviles,
aplicaciones corporativas y datos de sensores o dispositivos IoT.
7
Secure Sockets Layer SSL es un protocolo estándar para mantener segura una conexión a
Internet, así como para proteger cualquier información confidencial que se envía entre dos
sistemas e impedir que los delincuentes lean y modifiquen cualquier dato que se transfiera,
incluida información que pudiera considerarse personal.
32

2.4.1.4. Accesos y seguridad de Amazon Redshift

Amazon Redshift como cualquier gestor de base de datos tiene características de seguridad, que

pueden ser configuradas a partir del usuario administrador de la base de datos, restringiendo

características según vea conveniente, creando perfiles, que pueden tener acceso restringido a

algunos esquemas y tablas, similar a cualquier motor de base de datos comercial que se tenga en

el mercado.

Entre las características de seguridad que podemos destacar tenemos:

 Credenciales de inicio de sesión: El acceso a la Consola de administración de Amazon

Redshift es controlado por los privilegios de la cuenta de AWS.

 Administración de acceso: Para controlar el acceso a recursos específicos de Amazon

Redshift, defina cuentas de AWS Identity and Access Management (IAM) 8.

 Grupos de seguridad de clúster: Para conceder acceso entrante a un clúster de Amazon

Redshift defina un grupo de seguridad de clúster y asócielo con un clúster.

 VPC: Para proteger el acceso al clúster mediante un entorno de redes virtuales, puede lanzar

el clúster en una Amazon Virtual Private Cloud (VPC)9.

8
Es un servicio web que le ayuda a controlar de forma segura el acceso a los recursos de
AWS. Utilice IAM para controlar quién está autenticado (ha iniciado sesión) y autorizado (tiene
permisos) para utilizar recursos.
9Aprovisiona una sección de la nube de AWS aislada de forma lógica, en la que puede lanzar
recursos de AWS en una red virtual que defina.
33

 Cifrado de clúster: Para cifrar los datos de todas las tablas creadas por el usuario, puede

habilitar el cifrado de clúster cuando lance el clúster.

 Conexiones SSL: Para cifrar la conexión entre el cliente SQL y el clúster, puede utilizar

cifrado de capa de conexión segura (SSL).

 Cifrado de datos de carga: Para cifrar los archivos de datos de carga de la tabla al cargarlos

en Amazon S3, puede usar el cifrado de servidor o el cifrado de cliente. Cuando carga datos

cifrados en el servidor, Amazon S3 maneja el descifrado de manera transparente. Cuando

carga datos del cliente, el comando COPY de Amazon Redshift descifra los datos conforme

se carga la tabla.

 Datos en tránsito: Para proteger los datos en tránsito en la nube de AWS, Amazon Redshift

usa SSL con aceleración por hardware para comunicarse con Amazon S3 o Amazon

DynamoDB10 para las operaciones de COPY, UNLOAD, backup y restauración.

Cuando uno de los usuarios crea un objeto en la base de datos, será el propietario de forma

predeterminada, es decir que tiene el control total sobre ese objeto y puede asignar privilegios a

otros usuarios o grupos, los únicos que podrían tener control de este objeto serían los súper

usuarios que tienen privilegios totales sobre todo los objetos de la base de datos que haya sido

10
Es una base de datos no relacional que ofrece rendimiento fiable a cualquier escala. Es una
base de datos completamente administrada, con varios nodos maestros y distribuida en varias
regiones que ofrece una latencia estable con milisegundos de un dígito y almacenamiento caché
en memoria, backup y restauración, y seguridad incorporada.
34

creados por ellos o por otros usuarios, también se puede quitar los privilegios a un usuario o grupo

según sea necesario.

Los súper usuarios son los que se crean a la hora de lanzar el clúster, estos tienen privilegio total

en la bases de datos que se creen, solo se crea uno por defecto, pero uno puede crear los súper

usuario que uno desee, es muy importante tener cuidado cuando se use un súper usuario, esto

debido a que a los controles o validaciones que se tienen son obviados cuando se realiza alguna

consulta o actualización.

La creación de súper usuario, usuarios normales y grupos, se realiza a través de comando SQL,

de esta forma nos coadyuva a que el proceso de aprendizaje e implementación de Amazon

Redshift no sea complicado cuando sea necesario.

Por ejemplo si quisiéramos crear un nuevo usuario con nombre de usuario ‘MARCOS’ con

contraseña ‘password’ tendríamos que ejecutar el siguiente comando:

CREATE USER MARCOS WTH


PASSWORD { 'password' | 'md5hash' }

Los contraseña debe tener una longitud de 8 a 64 caracteres, también podríamos usar una cadena

hash en encriptación MD511 como contraseña, para obtener este valor en md5 podemos usar la

función md5 de Amazon Redshift, que nos retorna una cadena convertida a formato MD5, cuyo

resultado podremos usar como parámetro para nuestra contraseña.

11
Algoritmo de Resumen del Mensaje 5 (Message-Digest Algorithm 5) es un algoritmo de
reducción criptográfico de 128 bits.
35

Para gestionar seguridad de muchos usuarios que tendrán los mismos privilegios, tenemos a los

grupos, donde podemos agrupar a ciertos usuarios con características específicas, que tengan

permisos adecuados a su rol.

Redshift como cualquier motor de base de datos relacional utiliza esquemas que nos permite

agrupar objetos de la base de datos, tablas, vistas, procedimientos, etc., los esquemas nos permite

organizar nuestra base de datos según comportamientos específicos agrupando los objetos, por

ejemplo si quisiéramos crear una tabla Facturación podríamos crear un esquema llamado

Contabilidad donde agruparíamos todas las tablas que tenga que ver con la contabilidad, siendo

una forma más ordenada de agrupas nuestras tablas y que a los desarrolladores facilitaría el

encontrar y entender una tabla especifica.

Como mencionamos podemos utilizar lenguaje SQL para poder gestionar nuestras bases de datos

en redshift, podemos usar comandos como CREATE, ALTER, DROP, para poder gestionar

usuarios, grupos, esquemas que son comandos que nos permiten crearlos, modificarlos y

eliminarlos respectivamente.

Sobre el clúster solo la cuenta de acceso a AWS que creo el clúster de Amazon Redshift tiene

acceso a él, si requerimos más usuarios podemos utilizar el servicios Administración de identidad

y acceso (IAM)12 pata crear usuarios y administrar permisos en el clúster, mediante la consola,

12
AWS Identity and Access Management (IAM) le permite administrar el acceso a los servicios
y recursos de AWS de manera segura. Con IAM, puede crear y administrar usuarios y grupos de
AWS, así como utilizar permisos para conceder o denegar el acceso de estos a los recursos de
AWS.
36

API, interfaz en línea (CLI) 13 y el SDK que tienen Amazon, pero también podemos obtener acceso

a la base de datos mediante JDBC y ODBC, pero es necesario grupos de seguridad que nos permite

especificar un rango de direcciones IP/CIDR o un grupo de seguridad EC2, y tambien poder definir

las reglas de acceso de entrada para las conexiones externas.

Cuando se aprovisiona un clúster de Amazon Redshift este tiene la opción de cifrado para tener

mayor seguridad, cuando se tiene habilitada esta opción toda los datos que tiene almacenadas en

las tablas estarán cifradas, adicionalmente también Amazon nos brinda un servicio para poder

definir el tipo de cifrado que vamos a utilizar mediante su servicio de administración de llave

(AWS KMS)14, cuando los datos son cifrados, son imputables es decir que no se podrán quitar el

cifrado, solo se podrá des encriptar únicamente creando un nuevo clúster y migrando la

información, cabe aclarar si el backup que vamos a restaurar estaba cifrada, la información que se

restaure en un clúster estará cifrada.

Otra opción de seguridad que Amazon Redshift nos presenta es la utilización de una conexión SSL

(Cifrado de capa de conexión segura) entre el cliente SQL y el clúster. Los certificados SSL deben

ser creados a través del (AWS ACM) en cada clúster que deseamos tener este certificado.

13
La interfaz de línea de comandos (CLI) es una herramienta unificada para administrar los productos
de AWS.
14
AWS Key Management Service (KMS) es un servicio administrado que facilita la creación
y el control de claves de cifrado que se utilizan para cifrar los datos.
37

2.4.1.5. Monitoreo de clústeres

Amazon Redshift nos brinda herramientas para gestionar nuestros clústeres que nos permite

monitorearlos, gestionar notificaciones cuando existe algún cambio de información de interés,

configuración de eventos y el uso de métricas, que nos permite tener una visión constante del

estado y rendimiento de nuestros clústeres y de la base de datos.

La bases de datos de Amazon Redshift tienen un característica adicional que es bastante útil para

poder monitorear el cambio dentro de nuestro base de datos, son las auditorias que se realizan a la

base de datos, donde podemos identificar las conexiones, desconexiones, cambios en la data, las

consultas que fueron ejecutadas, que nos será muy útil para la seguridad y tener siempre un registro

de las actividades que realizan nuestros usuarios además de poder identificar algún tipo de

problemas de redshift mediante logs que son almacenados en el buckets de Amazon S3.

Principalmente la información que se registra son la siguiente:

 Registro de conexión: Registra los intentos de autenticación y las conexiones y

desconexiones. Registra los intentos de autenticación y las conexiones y desconexiones. En la

Tabla 5 se describe la información del registro de conexión.

Nombre de la columna Descripción

event Evento de conexión o de autenticación.

recordtime Hora cuando se produjo el evento.

remotehost Nombre o dirección IP del host remoto.

remoteport Número del puerto para el host remoto.


38

pid ID del proceso asociado a la instrucción.

dbname Nombre de la base de datos.

nombre de usuario Nombre de usuario.

authmethod Método de autenticación.

duration Duración de la conexión en microsegundos.

sslversion Versión de la capa de conexión segura (SSL).

sslcipher Cifrado SSL.

mtu Unidad de transmisión máxima (MTU).

sslcompression Tipo de compresión de la SSL.

sslexpansion Tipo de expansión de la SSL.

Tabla 5 Tabla registro auditoria de conexión

 Registro de usuario: registra la información acerca de los cambios en las definiciones del

usuario de la base de datos. En la tabla 6 podemos identificar la información que se registra.

Nombre de la columna Descripción

userid ID de usuario afectado por el cambio.

nombre de usuario Nombre del usuario afectado por el cambio.

oldusername En el caso de una acción de cambio de nombre,

el nombre de usuario original. Para el resto de

las acciones, este campo está vacío.


39

action Acción que ocurrió. Valores válidos:

Modificación

Creación

Eliminación

Cambio de nombre

usecreatedb Si es true (1), indica que el usuario ha creado

privilegios de base de datos.

usesuper Si es true (1), indica que el usuario es un super

usuario.

usecatupd Si es true (1), indica que el usuario puede

actualizar los catálogos de sistema.

valuntil Fecha de vencimiento de la contraseña.

pid ID de proceso.

xid ID de transacción.

recordtime Hora en UTC en que comenzó la consulta.

Tabla 6 Tabla registro auditoria de usuarios

 Registro de actividad de usuario: registra cada consulta antes de su ejecución en la base de

datos, en la tabla 7 podemos apreciar la información de las actividades de auditoria del

usuario.
40

Nombre de la columna Descripción

recordtime Hora cuando se produjo el evento.

db Nombre de la base de datos.

usuario Nombre de usuario.

pid ID del proceso asociado a la instrucción.

userid ID de usuario.

xid ID de transacción.

query Prefijo de LOG: seguido del texto de la

consulta, incluidas las líneas nuevas.

Tabla 7 Tabla auditoria actividades de usuario

Las características de auditoria no están habilitadas por defecto, por lo que los usuarios deben

configurar y habilitar estas opciones para cada una de las auditorias.

Las notificaciones de eventos puede ser personalizados por los usuarios, mediante filtros que

permiten restringir que no todos los eventos que se generen sean notificados, de esta forma

Amazon redshift verifica los filtros y envía las notificaciones a través de Amazon Simple

Notification service (SNS) mediante mensajes, de esta forma tener siempre el control de nuestros

clústeres, claro está de la información de lo que es relevante.

Amazon nos brinda métricas y rendimientos de datos, para poder validar el rendimiento y el estado

de nuestro clúster y base de datos, existen dos categorías de rendimientos que podemos usar a

través de la consola de Amazon Redshift que son:


41

Métricas de Amazon CloudWatch: Ayudan a monitorear los aspectos físicos del clúster, como la

utilización de la CPU, la latencia y el rendimiento. Los datos de métricas se muestran directamente

en la consola de Amazon Redshift. También puede verlos en la consola de Amazon CloudWatch.

De modo alternativo, puede consumirlos de cualquier otra forma en la que trabaje con métricas,

como en la AWS CLI o en uno de los SDK de AWS.

Datos de rendimiento de cargas/consultas: los datos de rendimiento le ayudan a monitorear la

actividad y el rendimiento de la base de datos. Estos datos se acumulan en la consola de Amazon

Redshift para ayudarle a correlacionar de forma sencilla lo que ve en las métricas de Amazon

CloudWatch con los eventos de cargas y consultas específicos de la base de datos. También puede

crear sus propias consultas de rendimiento personalizadas y ejecutarlas directamente en la base de

datos. Los datos de rendimiento de cargas y consultas se muestran únicamente en la consola de

Amazon Redshift. No se publican como métricas de Amazon CloudWatch.

Las métricas que podemos obtener con Amazon redshift son las que se presentan en la tabla 8,

donde identificaremos e indicaremos que tipo de métrica obtenemos con ella.

Métrica Descripción

CPUUtilization El porcentaje de utilización de CPU. Para los

clústeres, esta métrica representa la suma de los

valores de utilización de CPU de todos los nodos

(principales y de computación).

Unidades: porcentaje

Dimensiones: NodeID, ClusterIdentifier


42

DatabaseConnections El número de conexiones de base de datos a un

clúster.

Unidades: recuento

Dimensiones: ClusterIdentifier

HealthStatus Indica el estado del clúster. Cada minuto el clúster

se conecta a su base de datos y realiza una consulta

sencilla. Si puede realizar esta operación

correctamente, se considera que el clúster está en

buen estado. De lo contrario, se considera que el

clúster está en mal estado. Un estado incorrecto se

puede producir cuando la base de datos del clúster

está sobrecargada en exceso o cuando hay un

problema de configuración con una base de datos del

clúster.

Unidades: 1/0 (HEALTHY/UNHEALTHY en la

consola de Amazon Redshift)

Dimensiones: ClusterIdentifier

MaintenanceMode Indica si los datos del clúster se encuentran en modo

de mantenimiento.

Unidades: 1/0 (ON/OFF en la consola de Amazon

Redshift).

Dimensiones: ClusterIdentifier
43

NetworkReceiveThroughput La velocidad a la que el nodo o el clúster reciben

datos.

Unidades: bytes/segundo (MB/s en la consola de

Amazon Redshift)

Dimensiones: NodeID, ClusterIdentifier

NetworkTransmitThroughput La velocidad a la que el nodo o el clúster escriben

datos.

Unidades: bytes/segundo (MB/s en la consola de

Amazon Redshift)

Dimensiones: NodeID, ClusterIdentifier

PercentageDiskSpaceUsed El porcentaje del espacio en disco usado.

Unidades: porcentaje

Dimensiones: NodeID, ClusterIdentifier

QueriesCompletedPerSecond Esta métrica se utiliza para determinar el desempeño

de la consulta. La métrica es el número medio de

consultas completadas por segundo que se registran

en intervalos de cinco minutos.

Unidades: recuento/segundo

Dimensiones: latencia

QueryDuration Tiempo medio que tarda en completarse una

consulta. La información se envía en intervalos de 5

minutos.
44

Unidades: microsegundos

Dimensiones: latencia

QueryRuntimeBreakdown Tiempo que todas las consultas activas han invertido

en diferentes fases de la ejecución durante los cinco

minutos anteriores.

Unidades: milisegundos.

Dimensiones: fase

ReadIOPS El número medio de operaciones de lectura en disco

por segundo.

Unidades: recuento/segundo

Dimensiones: NodeID

ReadLatency Tiempo medio de cada operación de E/S de lectura

en disco.

Unidades: segundos

Dimensiones: NodeID

ReadThroughput El número medio de bytes leídos del disco por

segundo.

Unidades: bytes/segundo (GB/s en la consola de

Amazon Redshift)

Dimensiones: NodeID

WLMQueriesCompletedPerSecond Esta métrica se utiliza para determinar el desempeño

de una consulta de administración de carga de


45

trabajo. La métrica es el número medio de consultas

completadas por segundo en una cola de

administración de carga de trabajo (WLM)

registradas en intervalos de cinco minutos.

Unidades: recuento/segundo

Dimensiones: wlmid

WLMQueryDuration Tiempo medio que tarda en completarse una

consulta en una cola de Workload Management

(WLM). La información se envía en intervalos de 5

minutos.

Unidades: microsegundos

Dimensiones: wlmid

WLMQueueLength El número de consultas en la cola para una cola de

Workload Management (WLM).

Unidades: recuento

Dimensiones: service class

WriteIOPS Número medio de operaciones de escritura en disco

por segundo.

Unidades: recuento/segundos

Dimensiones: NodeID

WriteLatency Tiempo medio de cada operación de E/S de escritura

en disco.
46

Unidades: segundos

Dimensiones: NodeID

WriteThroughput Número medio de bytes que se escriben en el disco

por segundo.

Unidades: bytes/segundo (GB/s en la consola de

Amazon Redshift)

Dimensiones: NodeID

Tabla 8 Metricas Amazon Redsifht

2.4.1.6. Base de datos de Amazon Redshift

Amazon redshift al crear un clúster automáticamente se crea una base de datos, esta base de datos

la podemos utilizar para almacenar y ejecutar consultas de nuestros datos, también dentro del

clúster se pueden crear bases de datos adicionales, todos los objetos que se necesitan en nuestra

base de datos, son creados a través de comandos SQLs, el usuario que crea el clúster es el súper

usuario de la base de datos, pero se puede agregar muchos más usuarios como explicamos con

anterioridad.
47

CAPITULO III

3. Experiencias en el uso Amazon Redshift

Amazon redshift tiene muchos clientes que actualmente utilizan esta base de datos para mejorar

sus expectativas como empresa y para sus clientes, generalmente en la actualizad tiene varias

empresas globales y gigantescas que tenían carga de trabajo críticas y que con el uso de este

servicio de Amazon dejaron de ser críticos, entre alguna de las empresas podemos mencionar,

Docomo, Finra, Johnson & Johnson, Yelp, Nasdaq, Periscope Data, Civis Analytic y Betterment,

entre otros, que generalmente tiene una cantidad gigantesca de datos, con concurrencia continua y

necesidad de toma de decisión eficiente, es por ello que todos ellos viendo en Amanzon Redshift

un aleado estratégico que les ha simplificado la sus problemas a la hora de gestionar su

información, para entender mejor como lo hacen vamos a analizar la implementación de Docomo

uno de los clientes, que tiene una cantidad poco convencional de información, en la actualidad

maneja cuatro (4) petabytes.

Para que entendamos mejor la magnitud de esta información vamos a hacer una comparación

practica a nuestra realidad y país, en nuestro mercado tenemos actualmente discos de 2 terabytes

a la venta, si necesitaríamos almacenar toda esa información considerando que un petabyte son

1024 terabytes, necesitaríamos aproximadamente dos mil (2000) discos duros de 2 terabytes, pero

no es solo tener discos duros sino necesitamos CPU y memoria, por lo que es necesario tener PCs,

en ese caso considerando que cada computadora que necesitaríamos tenga 2 discos duros

necesitaríamos mil (1000) PCs interconectadas, a simple vista suena a poco probable que podamos

conseguir un tipo de infraestructura que nos proporcione todo ese espacio y además que tenga un

costo accesible, como son tantas computadoras necesitamos un ambiente refrigerante que permita
48

que las PCs no se sobrecaliente, es una tarea titánica que será muy difícil de mantener, algunos

dirán y porque no calcula con un servidor, pero cabe aclara que es solo un ejemplo que nos dé un

pantallazo del problema que tenía la empresa Docomo, antes de la utilización de Amazon Redshift.

3.1 Docomo y su implementación de Amazon Redshift

Docomo es una empresa de servicios móviles más grandes de Japón, que tiene alrededor de

68 millones de clientes en la actualidad, brinda servicios de internet, telefonía, video

conferencias, y es uno de los impulsores de la evolución de los teléfonos móviles inteligentes,

entre las soluciones que tiene incluyen sistemas de servicios web, sistemas comerciales de

análisis de datos, entre otros.

El desafío de Docomo fue cuando su data que provienen de servicios internos y externos que

almacenan fue creciendo a múltiples petabytes, lo que produjo un problema a su modelo de

depósito de datos que volvió insostenible el procesar esa cantidad de data, por lo que la

empresa abordo el desafío de trasladar su carga de trabajo de análisis de datos a una solución

basada en la nube.

El requisito más importante para la organización es la seguridad para el almacenamiento de

sus datos, porque es necesario garantizar la confidencialidad de sus datos, para ello buscaron

algún servicio de almacenamiento en la nube que maneje todos los niveles de seguridad que

manejan ellos en sus soluciones locales.

En esta búsqueda tan importante la organización se decidió a usar los servicios de Amazon,

desde el año 2012, por ser el líder del mercado de servicios en la nube, además que ningún

otro proveedor les proporcionaba la seguridad y la escalabilidad que brinda Amazon, la

migración no fue inmediata por la cantidad de datos que se maneja, hasta el 2014 seguían con
49

la migración de su plataforma de análisis de datos a AWS, contratando un clúster masivo de

125-8xl nodos con más de 4500 CPU virtuales y 30 terabytes de RAM en Amazon Redshift.

La organización opera de una forma hibrida, recopila datos externos e internos, los procesa de

manera local, encripta los datos procesados y los envía a través de AWS Direct Connect y la

pasarela de Amazon Virtual Private Cloud (Amazon VPC) al servicio de almacenamiento

simple de Amazon (Amazon S3). Desde Amazon S3, los datos fluyen a Amazon Redshift.

Delega algunos análisis estadísticos al Amazon Relational Database Service (Amazon RDS),

y algunos de los científicos de datos de la compañía acceden a los datos en Amazon RDS.

También utiliza Amazon Elastic MapReduce (Amazon EMR) para procesar algunas cargas de

trabajo, como modelado y ajuste de parámetros para el aprendizaje automático.

Entre los beneficios se puede apreciar el rendimiento de la plataforma de análisis de datos de

la compañía mejoró significativamente después de que se migró desde una solución de

almacenamiento de datos local a Amazon Redshift, brindando a los científicos de datos de

Docomo las capacidades analíticas más rápidas, siendo las consultas 10 veces más rápidas

desde el uso de Amazon Redshift brindándoles análisis más oportunos. También puede

cumplir sus requisitos de seguridad a un nivel equivalente a sus soluciones locales, utilizando

funciones tales como registro completo, controles de acceso y administración y control de

usuarios.

La compañía también aprovechó AWS para desarrollar rápidamente sus servicios web y

sistemas comerciales y desarrollar esos sistemas para satisfacer sus necesidades comerciales

y espera que las próximas implementaciones sean aún más rápidas.


50

Yuki Moritani, gerente del Departamento de Gestión de la Innovación de Docomo tiene como

conclusión al uso de AWS lo siguiente, “El tiempo es dinero, y definitivamente estamos

ahorrando mucho tiempo administrativo al usar AWS”.

Como se puede apreciar, Docomo no solo lo vio como un reto el migrar todos sus sistemas de

gestión de datos a la nube, sino que en la actualidad tiene una visión a incrementar su

capacidad de almacenamiento, lo que nos deja como conclusión que es al usar servicios de

Amazon tendríamos productos de muy buena calidad, que sin importar la cantidad de datos

que se maneje, tendremos un rendimiento óptimo, que nos reducirá los tiempos de respuesta

además que tendremos la garantía de Amazon una de las empresas más grandes que brinda

servicios en la nube.

3.2. Comparación entre Amazon Redshift contra una solución on-premise

Para tener un análisis más preciso del costo-beneficio de las soluciones realizaremos un cuadro

con las diferencias que existen entre una solución en la nube aplicando Amazon redshift y otra

on-premise, de esta forma ver las diferencias entre ambas soluciones.

Mejor
Característica On-premise Amazon Redshift
opción

Experiencia en Los mejores talentos de Amazon al ser el proveedor Amazon

administrar la recursos humanos para del servicio en la nube es el Redshift

infraestructura manejar estos servidores responsable de administrar sus

representan costos altos, las recursos humanos y los

habilidades que se requieren talentos de estos, contando


51

para la administración y con personal con la

mantenimiento de estos experiencia necesaria para

servidores pueden ser muy brindar un servicio de calidad,

costoso de conseguir y retener desligando a los clientes de

por la gran demanda que tiene. esta responsabilidad.

Soporte y Los sistemas de monitoreo Amazon tiene un servicio Amazon

monitoreo trabajan 24x7, pero el personal específico que nos permite Redshift

24x7x365 que debe realizar este trabajo realizar el monitoreo de

durante las 24 hora nuestros clúster y poder

distribuidas en turno son definir los cambios en sectores

demasiado costosos, debido a críticos que nosotros

que se tiene que pagar horas definamos como importantes

extras o extraordinarias. para nuestra monitorización.

Escalable La escalabilidad en las Amazon redshift con los Amazon

soluciones on-premise si bien distintos planes que se tiene Redshift

pueden realizar cualquier tipo puede satisfacer cualquier

de actualización pero esto necesidad que se requiera, con

representa un cotos, que una gama y ofertas que puede

muchas veces no es rentable el hacer accesible cualquier tipo

realizar este tipo de acciones. de mejora escalable.

Confianza Generalmente las La confianza muchas veces On

organizaciones como las por más que todo el entorno premise


52

persona tiene más confianzas sea de confianza, al no sentir

cuando tiene el control del que se tiene el control de todo

entorno y habiente. lo que se requiera, causa un

poco de desconfianza entre los

usuarios de esta tecnología.

Conformidad Generalmente cuando la data Amazon nos brinda Amazon

inicia a incrementarse de sobre características que hacen que Redshift

manera, inicia a existir una siempre nuestro rendimiento

inconformidad con los sea el esperado, teniendo

clientes, debido a que los respuestas oportunas a

sistemas tienen un tiempo de consultas, gracias a su forma

respuesta más prolongado, de manejo de data, por lo que

siendo necesario mejorar los por más que nuestra data

servicio y bases de datos, pero incremente Redshift seguirá

esto no garantiza que el teniendo el mismo

rendimiento sea el esperado. rendimiento y calidad,

haciendo que nuestros clientes

se sientan conformes con

nuestros servicios.

Acuerdos de En caso de algún tipo de corte Cuando algún servicio se cae o Amazon

nivel de servicio en nuestros servicios, las tiene problemas Amazon es el Redshift

(SLA) organizaciones deben reparar encargado de reparar dicho


53

estos inconvenientes, que inconveniente, y nosotros

dependiendo de la gravedad debemos cancelar por un

puede llegar a representar un servicio que no se ha

servicio. consumido, teniendo una

respuesta inmediata sin

necesidad de costo adicional

Seguridad Si bien muchas veces tenemos Con los servicios de Amazon Amazon

implementado muchos redshift tenemos todas las Redshift

mecanismos de seguridad garantías de seguridad que

durante nuestro desarrollo, es requiere proyectos de gran

importante este aspecto, no es envergadura, pudiendo

del cien por ciento seguro configurar el cifrado de la

debió a que los servidores información que hace que por

están en nuestros habientes y más que se filtre la

por cualquier razón puede información será muy

llegar a perderse la complejo des encriptar,

información o filtrarse por además de sus prestar

terceras personas siendo un servicios de auditoría que

grave perjuicio para las permite tener un control

institución. estricto de cada cambio que se

realice
54

Personalización Cuando uno pone a Con las soluciones en la nube On

producción una solución on- uno puede realizar algunas premise

premise, puede realizar lo que configuraciones e instalar

requiera con el servidor, características, etc. Pero

agregar complementos, siempre se encuentra uno

personalizar características limitado a lo que te permita

del servidor, red, etc., se tiene realizar el servicio que tiene,

el control total sobre el Amazon tiene muchas

servidor. herramientas útiles, pero no se

tiene un control sobe el

servidor, sino solamente sobre

el clúster que tenga y los

nodos que está presente.

Costo Las soluciones on-premise Con una soluciona en la nube Amazon

Infraestructura necesitan infraestructura, un no requiere que la Redshift

lugar donde pueden ser organización disponga de un

montados los servidores que ambiente para sus servidores,

requieren que cumplan simplemente la organización

algunas características y debe tener previsto el monto

algunas dimensiones, que debe cancelar por el

especiales para un óptimo servicio, Amazon Redshift

montaje, adicionalmente una de las características


55

servidores de alta capacidad y importantes es que se paga por

rendimiento, acceso a internet consumo, es decir que por

con buen ancho de banda y cantidad de datos en tráfico

servicios de electricidad. que hace sé que el costo vaya

Representando un costo muy variando según la cantidad de

alto. información que vayamos a

usar.

Costo de Como se puede apreciar si es Amazon redshift tiene una Amazon

mantenimiento que montar la infraestructura tarifa que si bien no son muy Redshift

tiene un costo elevado económicas, podemos llegar a

también requiere de optimizar nuestros recursos a

mantenimiento, pagos a través de la reserva de un

proveedores de energía, clúster, mediante esta reserva

internet, licencias, mejoras obtendremos un descuento,

constantes de hardware o además que dependiendo de la

remociones y entre otros, región los costos de los nodos

también se requiere de puede llegar a ser más

personal disponible y listo económico o costoso, además

para cualquier eventualidad, que redshift nos cobra por

que es un monto muy elevado almacenamiento de

teniendo en cuenta que nuestra información, que dependiendo

infraestructura debe soportar de la cantidad se realizara un


56

mucho tráfico y gigantescas el cargo del servicio, pudiendo

cantidades de ser una inversión muy

almacenamiento, siendo un conveniente para cualquier

costo mensual muy alto organización.

Tabla 9 Comparación entre una solución on-premise contra Amazon Redshift

3.3.Costos y beneficios en el uso de Amazon Redshift

Como se puedo apreciar en la experiencia de Docomo, ante un problema tan complejo de procesar

inmensas cantidades de datos, Amazon Redshift fue una de las mejores soluciones que pudieron

aplicar y que les está siendo de bastante utilidad en la actualidad y también las la tabla 9 donde

comparamos a Amazon redshift versus una solución on-premise, donde pudimos apreciar que la

mayor de las características que evaluamos para realizar la comparación es favorable a Amazon

Redshift, siendo una de las mejores opciones a la hora de optar por entre ambas soluciones,

brindando una servicio constante, con garantía, evitando a las organizaciones tener otros costos

adicionales, simplemente el pago por el servicio, evitar tener infraestructura y servidores

gigantescos en sus instalaciones, personal adicional y todos los costos que influyen el tener que

pagar por su trabajo, horas extras, bonificaciones etc.

Entre las desventajas podemos mencionar que quizás podamos tener algunas limitantes a la hora

de administrar el servicio, o las organizaciones se sientan que no tienen el control sobre este debido

a que no tiene el control físico de estos servicios, el costo que puede implicar si es que nos

excedemos al almacenar información siendo un gasto extra que no se tiene contemplado.


57

CAPITULO IV

4. Conclusiones

 El análisis de costo-beneficio nos indica que la mejor opción para el uso de gigantescas

cantidades de datos en la actualidad es Amazon Redshift, en comparación a cualquier otra en

el mercado, o aplicaciones on-premise, por las características que esta presenta, haciéndola

una herramienta escalar, de fácil aplicación y de costo por uso de datos.

 La mejor opción para análisis de gigantescas cantidades de datos son los data warehouse, pero

es necesario tomar en cuenta que es muy importante el diseño a la hora de definir las

dimensiones para tener los resultados que se espera obtener, porque esta base de datos ya

contienen toda la información que se requiere para un análisis rápido de toda la formación

histórica.

 Dependiendo de la cantidad de información que se vaya a almacenar y los recursos que

podamos tener en nuestros servidores para nuestras aplicaciones on-premise, podría trabajar

sin ningún problema siempre y cuando no se supere el 80% de la capacidad de nuestro servidor

para evitar un mal rendimiento.

 Cuando hablamos de analizar grandes cantidades de datos como ser terabits en una aplicación

on-premise viendo que la capacidad de nuestros servidores ya supera los 80% es necesario

realizar una mejora en el servidor o tenemos que pensar en migrar la información a algún

almacenamiento en la nube, debido a que por ahora son los únicos que nos brindan superar

esa capacidad de almacenamiento, con un rendimiento óptimo de respuesta, siendo la mejor

opción para trabajar con esta cantidad de datos.


58

 Como se puedo apreciar durante toda la monografía vinimos explicando los beneficios y

costos que representa el tener un servicio en la nube a diferencia de soluciones on-premise,

que si bien nos brindan la seguridad de que tenemos el control sobre ellas, a medida de que la

data va en aumento, su mantenimiento se vuelve mucho más costoso que el uso de un servicio

en la nube como Amazon Redshift, que por su gran rendimiento y velocidad de respuesta, es

una gran opción para poder migrar nuestra información, si desea analizas gigantescas

cantidades de información no dude en tener como alternativa el uso de Amazon Redshit, y

todos los servicios de Amazon que simplifican muchos problemas gracias a su gran gama de

servicios en la actualidad.

5. Recomendaciones

Esta monografía es simplemente un pequeño análisis del costo beneficio que se tiene al

implementar Amazon redshift en la actualidad, dicha información puede variar a medida que pase

el tiempo, puede llegar a variar el costo de los servicios o aparecer nuevas herramientas o servicios

que brinden una opción más accesible para el proyecto que requieran, es importante tener en cuenta

si los proyectos que vamos a desarrollar manejara una cantidad gigantesca de datos para evitar un

gasto que no sea necesario.

Este análisis está basado en la documentación de Amazon Redshift como principal fuente de

conocimiento y análisis, generando una hipótesis y comparación sobre el rendimiento, contra otras

posibles opciones como ser una aplicación on-premise las cuales por experiencia en algunos

proyectos trabajados llegan a tener como limitante los recursos de los servidores donde son

instalados.
59

Es necesario ampliar y aplicar este análisis teniendo una aplicación en la nube y otra on-premise,

creando un almacenamiento en la nube y otro en un servidor propio, considerando que ambas

opciones tengan las mismas características de recursos (procesadores, discos, memoria, etc.), para

comprobar si efectivamente el rendimiento es el esperado por parte de los almacenamiento en la

nube como Amazon Redsift, someter a ambas a estrés y concurrencia, de esa forma ver las

respuestas y sacar una conclusión más efectiva a partir de las pruebas que se realicen, de esta forma

tener una mejor comparación y de una forma más práctica.

El hecho de usar un almacenamiento en la nube no garantiza el que las aplicaciones que vayan a

implementar con estas herramientas sean las más óptimas, simplemente nos garantiza que todo el

hardware tenga el mejor rendimiento para el manejo de grandes cantidades de datos, teniendo que

nosotros como desarrolladores o administradores de base de datos, seguir todas las normas y reglas

a la hora de modelar e implementar una base de datos, teniendo que aplicar normalización y todos

los tipos que usemos a la hora del modelado puesta en producción, siendo de gran ayuda Amazon

Redshift porque maneja SQL nativo la creación de las tablas y la realización de consultas.

Cada una de los proyectos tienen distintos requerimientos y muchas veces no se adaptan o son

necesario el uso almacenamientos en la nube, con este documento no queremos hacer que las

personas que lean esta monografía piensen que esta es la única opción pese al costo o lo tentador

que puede ser el tratar de implementarlo por las características que presenta, es necesario tener un

estudio y un análisis del crecimiento de los datos para tomar este tipo de decisiones y optar por la

mejor opción.
60

6. Bibliografía

Amazon. (2012). Redshift. www.Amazon.com.

Bauer, S. (2013). Getting Started with Amazon Redshift. Livery Place: Packt Publishing.

Jaime, P. (2005). DATA WAREHOUSING. Buenos Aires.

Rainardi, V. (2008). Building a Data Warehouse. Apress.

Software, G. (s.f.). On-premise vs. cloud-based.

Verdugo, H. B. (2009). COMPUTACION EN LA NUBE.