Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server...

41
Presentación Big Data – HPE Vertica Ing. Daniel Robins

Transcript of Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server...

Page 1: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

PresentaciónBig Data – HPE Vertica

Ing. Daniel Robins

Page 2: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Agenda

• Arquitectura de Soluciones de Big Data

• Google, Hadoop, Oracle, HP

• 2 Visiones de Bases de Datos Columnares para Big Data (VerticaHP vs Oracle)

• POC Telco

Page 3: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Pionero de Big Data

Page 4: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Arquitectura de Software Google (circa 2005)

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

Google File System

Map Reduce Big Table

Google Applications

Page 5: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Arquitectura Hadoop

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

Hadoop Distributed File System (HDFS)

Map Reduce/ YARN HBase

Pig Hive Sqoop Flume

Page 6: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Estrategia de Oracle para Big Data

Page 7: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Oracle RAC

Page 8: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Escalar la Arquitectura requiere agregar otro Exadata

Page 9: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Key notes predictions – Oracle Open World 2015

Page 10: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Oracle Big Data en el Cloud

Big Data Platform

FastData

DataFactory

DataLab

Data Management

Page 11: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Arquitectura HP Haven

Page 12: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HPE Big Data in the Cloud or On-premises

Page 13: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HPE Vertica Cluster

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

Network switch

Page 14: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HPE Vertica Cluster escala agregando commodityservers

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

DISK

CPU

Network switch

DISK

CPU

DISK

CPU

DISK

CPU

Page 15: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

La evolución de las bases de datos

Magnetic tape

“flat” (sequential) files

Pre-computer technologies:

Printing pressDewey decimal systemPunched cards

Magnetic Disk

IMS

Relational Model defined

Indexed-Sequential Access Mechanism (ISAM)

Network Model

IDMS

ADABAS

System R

Oracle V2

Ingres

dBase

DB2

Informix

Sybase

SQL Server

Access

Postgres

MySQL

Cassandra

Hadoop

Vertica

Riak

HBase

Dynamo

MongoDB

Redis

VoltDB

Hana

Neo4J

Aerospike

Hierarchical model

1960-701940-50 1950-60 1970-80 1980-90 1990-2000 2000-2010

Page 16: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Michael Stonebraker”La base de datos Oracle y otras están obsoletas y Facebook está luchando contra el mayor problema de datos del mundo”

BIRTH October 11, 1943 in Newburyport, Mass.

EDUCATIONBachelor’s degree in Electrical Engineering (Princeton University, 1965); M.Sc. in Electrical Engineering (Universityof Michigan, Ann Arbor, 1967); Ph.D. in Computer Science & Engineering (University of Michigan, Ann Arbor, 1971).

EXPERIENCEAssistant Professor of Computer Science (University of California at Berkeley, 1971--1976), Associate Professor (1976-1982), Professor (1982-1993), Professor of the Graduate School (1994-1999); Senior Lecturer (Massachusetts Institute of Technology, 2001-2) Adjunct Professor (2002-Present). Concurrently co-founded and held executive or advisory roles with companies including Relational Technology, Inc. (founded 1980, later Ingres Corporation), IllustraCorporation (founded 1992, later acquired by Informix where Stonebraker was Chief Technology Officer 1996-2000), Cohera Corporation (1997, acquired by PeopleSoft), StreamBase Systems (2003, acquired by Tibco in 2013), Vertica Systems (2005, acquired by HP), Goby (2008, acquired by Telenauv in 2012), SciDB (2008), VoltDB (2009), and Tamr(2013).

HONORS AND AWARDS:ACM System Software Award (1992); ACM SIGMOD Innovation Award (1994); National Academy of Engineering (elected 1998); IEEE John von Neumann Medal (2005); Alan M. Turing Award (2014) For fundamental contributions to the concepts and practices underlying modern database systems.

Fuente: http://amturing.acm.org

Page 17: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

La 3ra. generación de

dispositivos demandan en las

bases de datos:

• Alta disponibilidad

global

• Grandes volúmenes

• Datos no

estructurados

• Alto nivel de

transacciones

• Latencia

La arquitectura relacional no

puede solucionar todas estos

requerimientos.

Por que necesitamos nuevas bases de datos?

Page 18: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Bases de Datos columnares

• Vertica de HP

• Oracle Database in Memory

Page 19: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Oracle 12c – in memory database column store

Data files

Memory (SGA)Row store Column Store (IMCU)

OLTP Analytics

(SMU)

Redo Logs

Page 20: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Nuevo memory pool

Page 21: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

The Vertica Real-Time Analytics Engine

Native High

Availability

Standard SQL

Interface

Column Orientati

on

Auto Database Design

Advanced Compressi

on

MPP Massive Parallel

Processing

Leverages BI, ETL, Hadoop/MapReduceand OLTP investments

No disk I/O bottleneck simultaneously load & query

Native DB-aware clustering on low-cost x86 Linux nodes

Built-in redundancy that also speeds up queries

Automatic setup, optimization, and DB management

Up to 90% space reduction using 10+ algorithms

50x – 1000x faster than traditional RDBMS

Scales from TB to PB with industry-standard hardware

Simple integrationwith existing ETL and BI solutions

SQL-99+ compliant Ultimate

deployment flexibility

Extended advanced analytics

24/7 Load & Query

Page 22: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Desventajas de Exadata frente a Vertica

• Oracle Exadata está basado en un 80% en aqruitectura basada en filas, la solución viene dada desde el HW

• Precio y escalabilidad

• Performace y tuning se basa en índices, planes de ejecución y hints

• Database In memory es inmaduro y es una solución híbrida

• La arquitectura de appliance es muy cara y propietaria para crecer

• La arquitectura de discos compartidos o storage es obsoleto en BigData

• Vertica es una base de datos analítica y Oracle necesita de otros productos

• Vertica tiene la arquitectura de Hadoop y trabaja con Cloudera, Hortonworks y MapR.

Page 23: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

POC TELCO

• Instalación de Vertica y Oracle

• Carga de datos, tabla con balance de llamadas

• 80 millones de filas, 1 día

• Creación de tabla de dimensión

• Ejecución de 10 consultas reales

• Update de toda la tabla de balance

• Proceso de Tuning en ambas instancias

• Conclusión

Page 24: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Características de la instancia EC2 - Amazon

• Amazon m4.xlarge, 4 CPU, 16 Gb RAM

• 1 disco ssd 10 Gb

• 1 disco ssd 16 Gb swapp

• 5 discos magnéticos de 100 Gb c/u

• Oracle Linux 7.2

• Oracle database 11.2.0.4

• Vertica Analytic database 7.2

Page 25: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle

Software Community Edition 7.2 Enterprise Edition 11.4

Instalación

■ Comprobación de los requisitos de hardware■ Comprobación de los requisitos de software■ Creación de Grupos y usuarios del OS■ Configuración de parámetros de kernel

y Límites de recursos■ Creación de directorios requeridos■ Configuración del entorno del usuario de Oracle■ Creación de filesystems■ Instalación de base de datos Oracle

Tiempo estimado: 2 hs

■ Comprobación requisitos de hardware■ Comprobación requisitos de software■ Creación de Grupos y usuarios del OS■ Instalación de base de datos Vertica

Tiempo estimado: 45 min

Page 26: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle

Carga de Datos

■ Herramienta SQL*Loader, nativa de Oracle

■ sqlldr userid=poc

control=control.ctl

log=cargaoracle.log

Tiempo de carga: 27,39 min

■ Comando Copy, nativo de Vertica

■ copy poc.stg_balance_000

from

'/u01/stage/RECORD_BALANCE_2

016-01-01.txt.gz' GZIP

delimiter ',' enclosed by

'"' NULL 'NULL' abort on

error skip 1 direct;

Tiempo de carga: 13,44 min

Page 27: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 1: Obtener el balance de

llamadas en un periodo, para un teléfono

determinado.

select trunc(b.end_timestamp) as fecha,

b.id_telefono, count(*)

from poc.stg_balance b

where b.id_telefono=389571

and b.end_timestamp between

to_timestamp('01/01/2016','dd/mm/yyyy')

and

to_timestamp('05/01/2016','dd/mm/yyyy')

group by trunc(b.end_timestamp),

b.id_telefono;0,21 0,01

90

0,010

10

20

30

40

50

60

70

80

90

100

Tiempos Consulta #1 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 28: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 2: Controlar la

cantidad de tráfico de llamadas

por hora.

select

trunc(b.end_timestamp,'HH') as

fecha, count(*)

from poc.stg_balance b

group by

rollup(trunc(b.end_timestamp,'H

H'))order by 1;

8,41

0,04

36

29

0

5

10

15

20

25

30

35

40

Tiempos Consulta #2 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 29: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 3: Sumar el balance agrupado

por balance_index en un rango de fechas.

select b.balance_index, sum(balance)

from poc.stg_balance b

where b.end_timestamp between

to_timestamp('01/01/2016

00:00:00','dd/mm/yyyy hh24:mi:ss')

and to_timestamp('01/01/2016

18:59:59','dd/mm/yyyy hh24:mi:ss')

group by b.balance_indexorder by 1,2;

2,810,73

65

58

0

10

20

30

40

50

60

70

Tiempos Consulta #3 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 30: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 4: Contar las llamadas por

hora, donde to_name comience con el

texto ‘6730%’.

select trunc(b.end_timestamp,'HH') as

fecha, count(*)

from poc.stg_balance b

where to_name like '6730%‘

group by trunc(b.end_timestamp,'HH')

order by 1;

1,930,01

31

22,38

0

5

10

15

20

25

30

35

Tiempos Consulta #4 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 31: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 5: Crear una dimensión con los tipos

de llamadas y poblar una tabla con los

operadores,

tomando como carrier los 3 primeros dígitos del

teléfono.

create table POC.session_types

(session_type_id NUMBER(8),

carrier VARCHAR(3)

) TABLESPACE USERS NOLOGGING;

insert /*+ append */ into poc.session_types

select session_type_id,

substr(to_char(id_telefono),1,3) carrier

from poc.stg_balance

group by session_type_id,

substr(to_char(id_telefono),1,3);

7,36

0,42

57

65

0

10

20

30

40

50

60

70

Tiempos Consulta #5 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 32: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle #Consulta 6: Contar la cantidad de llamadas

uniendo con la tabla session_types y generar

por fecha , balance_index, group_name, para

el

periodo = ‘20160101 entre las 05am y 06am’ y

el carrier contenga los valores de

(‘114’,’115’,’124’,’110’,’112’,’113’)

select trunc(b.end_timestamp,'DD') as fecha,

b.balance_index, b.group_name, count(*)

from poc.stg_balance b inner join

poc.session_types l on

(b.session_type_id=l.session_type_id)

where b.end_timestamp between

to_timestamp('01/01/2016

05:00:00','dd/mm/yyyy hh24:mi:ss')

and to_timestamp('01/01/2016

05:59:59','dd/mm/yyyy hh24:mi:ss')and

l.carrier in

('114','115','124','110','112','113')

group by trunc(b.end_timestamp,'DD'),

b.balance_index, b.group_name;

0,46 0,44

104

96

0

20

40

60

80

100

120

Tiempos Consulta #6 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 33: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 7: Generar un resumen por fecha por

end_timestamp, contar la cantidad de llamadas y

la cantidad de números de teléfono diferentes,

sobre la tabla STG_BALANCE, de manera que se

muestre para

cada fecha, el balance_index, la cantidad de

registros, la cantidad de llamadas

(session_record_id diferentes),

la cantidad de teléfonos (id_telefono

diferentes), se sume el Balance.

select trunc(end_timestamp), balance_index,

count(*), count(distinct session_record_id),

count(distinct id_telefono),

sum(balance)

from poc.stg_balance

group by trunc(end_timestamp), balance_indexorder

by 1,2;

38,4 38,04

298

169,38

0

50

100

150

200

250

300

350

Tiempos Consulta #7 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 34: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 8: Mostrar el resultado siguiente:

fecha, end_value, balance_index, duración de

las llamadas

(suma de millis/1000), suma del balance,

cantidad de llamadas (session_record_id

diferentes), la cantidad

de teléfonos (id_telefono diferentes).

select trunc(b.end_timestamp) fecha,

b.end_value, b.balance_index,

sum(b.millis/1000), sum(b.balance),

count(distinct b.session_record_id),

count(distinct b.id_telefono)

from poc.stg_balance bgroup by

trunc(b.end_timestamp), b.end_value,

b.balance_index

order by 1,2,3;

44,84 39,5

319

195

0

50

100

150

200

250

300

350

Tiempos Consulta #8 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 35: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # Consulta 9: Realizar una consulta usando la tabla Balance

coloque a cada llamada (session_record_id) en filas,

junto con el número de teléfono y coloque en columnas el campo

balance_index, de manera que el balance sea

desplegado pora cada una de las llamadas.

select a.end_timestamp, a.session_record_id,count(b0) as

b0,count(b1) as b1,count(b2) as b2,count(b3) as b3,count(b4) as

b4,count(b5) as b5,

count(b6) as b6,count(b7) as b7,count(b8) as b8,count(b9) as

b9,count(b10) as otros

from(selectb.session_record_id ,b.end_timestamp, CASE WHEN

b.balance_index = 0 then 1 else null end b0, CASE WHEN

b.balance_index = 1 then 1

else null end b1,CASE WHEN b.balance_index = 2 then 1 else null

end b2, CASE WHEN b.balance_index = 3 then 1 else null end b3,

CASE WHEN

b.balance_index = 4 then 1 else null end b4, CASE WHEN

b.balance_index = 5 then 1 else null end b5, CASE WHEN

b.balance_index = 6 then 1 else

null end b6, CASE WHEN b.balance_index = 7 then 1 else null end

b7, CASE WHEN b.balance_index = 8 then 1 else null end b8, CASE

WHEN

b.balance_index = 9 then 1 else null end b9, CASE WHEN

b.balance_index >= 10 then 1 else null end b10from poc.stg_balance

b where trunc

(b.end_timestamp,'DD')=to_timestamp('01/01/2016','DD/MM/YYYY')and

b.id_telefono=389571) agroup by a.session_record_id

,a.end_timestamp

0,55 0,03

93

0,030

10

20

30

40

50

60

70

80

90

100

Tiempos Consulta #9 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 36: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # 10 Agregar un id a la tabla

session_types y poblarlo con una

secuencia

alter table POC.session_types add

(idw_session_type number(10));

create sequence

poc.seq_idw_session_type cache

1000;

update poc.session_types set

idw_session_type=poc.seq_idw_sess

ion_type.nextval;

commit;

0,08

0,23

0,3

0,01

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

Tiempos Consulta #10 en seg.

Vertica Vertica Opt

Oracle Oracle Opt

Page 37: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

HP Vertica vs Oracle # 11 Crear el mismo campo en la tabla

stg_balance y poblarlo con el campo

idw_session_type, relacionar para esto

la tabla balance de la siguiente forma

session_type_id y los 3 primeros digitos del

id_telefono.

update poc.stg_balance_000

set idw_session_type=s.session_type_id

from poc.session_types s

where

stg_balance_000.session_type_id=s.session_type_id

and

s.carrier=substring(to_char(stg_balance_000.id_te

lefono),1,3);

911,2

1974,27

5700

3050

0

1000

2000

3000

4000

5000

6000

Tiempos Consulta #11 en seg.

Vertica Vertica Opt Oracle Oracle Opt

Page 38: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Tuning

En la carga de datos se crearon las tablas e índices como nologging

Creación de 7 SQL Profiles para los 10 queries

Creación de 3 índices Al agregar índices se penalizó la carga de

datos

Tiempos de tuning +2horas

Agregar las consultas en Designer y Ejecutar la optimización de Vertica

Tiempos de tuning 15 minutos

Page 39: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Almacenamiento Ocupado

8

11

0

2

4

6

8

10

12

Compresión

Espacio ocupado en la Base de Datos en Gbytes

Vertica Oracle

Page 40: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Vertica mejora en un 44% los tiempos consultas de Oracle

2053

3686

0

500

1000

1500

2000

2500

3000

3500

4000

Tiempos seg

Tiempos totales

Vertica Oracle

Page 41: Presentación - Meetupfiles.meetup.com/19109162/Vertica vs Oracle.pdf · Informix Sybase SQL Server Access Postgres MySQL Cassandra Hadoop Vertica Riak HBase Dynamo MongoDB Redis

Discusión

Daniel RobinsEmail: [email protected]: daniel.robins2Twitter: @hdrobins

Sergio MathieuEmail: [email protected] Skype: sergio.mathieu